首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]有关将FLASH编程程序复制到RAM中,并运行的问题

1、函数大小可以通过返汇编来确定,确定大小后再分配一个稍大的RAM缓冲区作为目标
2、通过地址调用函数使用 ((void(*)(void))START_COPY_TO_RAM_ADDR)();

拷贝函数:
byte* Copy(byte *dst,const byte *src,word len) {
while(len--) {
*dst++=*src++;
}
return dst;
}
拷贝+执行过程:
((void(*)(void))Copy((byte*)START_COPY_TO_RAM_ADDR,(const byte*)FlashProg,MAX_COPY_TO_RAM_ADDR-START_COPY_TO_RAM_ADDR))();

---------------------------------
精通S12,精通cw,有license 欢迎交流
onionchen1983hotmail.com
51,freescale,c,asm,protel,fpga
返回列表