[求助]有关将FLASH编程程序复制到RAM中,并运行的问题
 
- UID
- 123796
- 性别
- 男
|

[求助]有关将FLASH编程程序复制到RAM中,并运行的问题
版主大人,如题,程序如下,请指点一下迷津吧!拜谢。。。
问题1:如何确定被复制到RAM中的FLASH编程程序的大小,就算用调用函数名称作为指针也要确定复制多大的一段程序吧?
问题2:如何调用复制到RAM中的FLASH编程程序?用“asm JSP 0x200A;”出现的错误是“Error : C10011: ':' expected to delimit label”用“asm CALL 0x200A;”出现的错误是"Error : C12020: Unknown Operand Combination:
Instr:CALL/Opr1:Ext/Opr2:NoOp.
问题3:返回的asm RTC;写道什么地方?
#include /* common defines and macros */
#include /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dp256b"
unsigned int *prog_flash,*copy_to_ram;
#define START_COPY_TO_RAM_ADDR (volatile unsigned int*)(0x200A)
#define MAX_COPY_TO_RAM_ADDR (volatile unsigned int*)(0x2500)
int *Ps;
void FlashProg();
/***********************slave_program******************************/
void delay_1bustime(unsigned int bustime) {
unsigned i = 0;
for(i = 0;i<= bustime ;i++){
}
}
void main(void) {
EnableInterrupts;
Ps = (volatile unsigned int*)&FlashProg;
copy_to_ram = START_COPY_TO_RAM_ADDR;//给这两个地址赋初值
while(copy_to_ram <= MAX_COPY_TO_RAM_ADDR){//这里暂时给RAM划定一个范围
*copy_to_ram++ = *Ps++;
}
asm JSP 0x200A;
for(;;) {} /* wait forever */
}
/************************slave_FlashProg****************************/
void FlashProg(void) {
FLASH编程程序,仿照EEPROM编程程序而来,没有什么特别之处,先不写了。
}
|
|
|
|
|
|