[求助]如何将程序复制到RAM并跳转到RAM中执行
- UID
- 143642
- 性别
- 男
|
[求助]如何将程序复制到RAM并跳转到RAM中执行
使用的单片机为MC9S12C32
1、在执行FLASH写程序时,每次全速运行到FSTAT_CBEIF=1;的后一步程序就会自动停止,再点全速执行还能继续往后执行,请问是什么原因?是否是因为程序没有复制到RAM里运行?
2、如何将程序复制到RAM并跳转到RAM中执行,最好有资料或相关的程序,小弟领悟能力不是很强,恳请各位大侠多多帮忙! |
|
|
|
|
|
- UID
- 104631
- 性别
- 男
|
程序要copy到RAM中去跑
很多人提出了你的第二个问题。我用PE生成了一个flash操作的C语言程序,是基于S08GT60的,S12的flash操作和S08的基本类似,关键是看如何copy到RAM和在RAM中执行,供你参考。 |
|
|
|
|
|
- UID
- 126052
- 性别
- 男
|
正在进行NE64的研究学习,欢迎和我讨论~
saga0807@hotmail.com |
|
|
|
|
|
- UID
- 104631
- 性别
- 男
|
http://bbs.eccn.com/uploadImages/S08GT60.zip
sorry,我记得好像上传了,不知道为啥没有显示。再传一下,重点可以看看IFsh1.c文件 |
|
|
|
|
|
- UID
- 145509
- 性别
- 男
|
版主你好,我看过你发的那个文件,因为我是刚入门的,所以有些简单的问题还想请假下版主,谢谢。
1.static void FnCmdInRam_(byte Comand_,word Addr_,byte Value_)还有static void FnBurstProgCmdInRam_(word src, word dst, word size )这个函数的参数分别指的是什么?
2.你能简单的跟我说一下这二个函数的功能么?
3.如果版主有S12的flash操作,希望能上传一下。
再次的表示感谢!! |
|
|
|
|
|
- UID
- 104631
- 性别
- 男
|
在S08的单片机flash擦写里面有普通的byte programme和burst programme两种,所以FnBurstProgCmdInRam函数进行busrst programm。FnCmdInRam主要执行erase和字节写的操作。里面的参数主要是:
comand:操作命令,擦除或者字节写入
addr: 擦除或者写入的地址
value:写入flash的数据
第二个函数里面,src指你批量写入前存放的数据,dst指要写入的地址,size指总共写入的字节数目
S12的flash主要是word写入,就是一个字一个字的写入,具体操作过程和S08是一样的,所以你可以仿照S08的步骤来做。 |
|
|
|
|
|
- UID
- 115868
- 性别
- 男
|
|
|
|
|
|