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

[求助]如何将程序复制到RAM并跳转到RAM中执行

[求助]如何将程序复制到RAM并跳转到RAM中执行

使用的单片机为MC9S12C32  


1、在执行FLASH写程序时,每次全速运行到FSTAT_CBEIF=1;的后一步程序就会自动停止,再点全速执行还能继续往后执行,请问是什么原因?是否是因为程序没有复制到RAM里运行?


 2、如何将程序复制到RAM并跳转到RAM中执行,最好有资料或相关的程序,小弟领悟能力不是很强,恳请各位大侠多多帮忙!

程序要copy到RAM中去跑

很多人提出了你的第二个问题。我用PE生成了一个flash操作的C语言程序,是基于S08GT60的,S12的flash操作和S08的基本类似,关键是看如何copy到RAM和在RAM中执行,供你参考。
版主能不能把你说得程序发上来
正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
http://bbs.eccn.com/uploadImages/S08GT60.zip

sorry,我记得好像上传了,不知道为啥没有显示。再传一下,重点可以看看IFsh1.c文件
版主你好,我看过你发的那个文件,因为我是刚入门的,所以有些简单的问题还想请假下版主,谢谢。
1.static void FnCmdInRam_(byte Comand_,word Addr_,byte Value_)还有static void FnBurstProgCmdInRam_(word src, word dst, word size )这个函数的参数分别指的是什么?
2.你能简单的跟我说一下这二个函数的功能么?
3.如果版主有S12的flash操作,希望能上传一下。
再次的表示感谢!!
hello,大家好
在S08的单片机flash擦写里面有普通的byte programme和burst programme两种,所以FnBurstProgCmdInRam函数进行busrst programm。FnCmdInRam主要执行erase和字节写的操作。里面的参数主要是:
comand:操作命令,擦除或者字节写入
addr: 擦除或者写入的地址
value:写入flash的数据

第二个函数里面,src指你批量写入前存放的数据,dst指要写入的地址,size指总共写入的字节数目


S12的flash主要是word写入,就是一个字一个字的写入,具体操作过程和S08是一样的,所以你可以仿照S08的步骤来做。

我前面发的帖里有你需要的例子

请下载例子
              非学无以广才,非志无以成学;              
返回列表