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

[求助]如何实现S12的分页面存放程序和数据?

[求助]如何实现S12的分页面存放程序和数据?

版主大人,现在我想把要标定的数据放在ROM_4000中,而修改这些数据的FLASH编程程序放在其他的FLASH块中(ROM_C000),从而实现对FLASH的在线编程,可是怎么才能使数据和FLASH编程的程序实现分页面存放呢?
我试着在.prm文件的PLACEMENT中,加入
"DataFlashCode INTO ROM_4000" ,并将数据赋值的语句单独放在一个.c文件中,该文件的语句在“#pragma CODE_SEG DataFlashCode”之下包含。
可是没有效果,ROM_4000区域都是0xFF。请问是不是哪里没有设置好?还是必须要把程序复制到RAM中才能对FLASH实现编程?
飞思卡尔带我走进神奇的单片机世界
应该用常量声明:

#pragma CONST_SEG DataFlashCode

另外,将PLACEMENT中代码的放入区修改掉,不要包括ROM_4000。
海纳百川  有容乃大
谢谢楼主及时解答,可是我要放到ROM_4000中的并不全是常量,也包括一些赋值语句,另外,您所说的“另外,将PLACEMENT中代码的放入区修改掉,不要包括ROM_4000”是什么意思?要是去掉的话,下载链接怎么就能知道把这些东西放到什么地方呢?
飞思卡尔带我走进神奇的单片机世界
你做一个简单的project,然后整个打包上传过来吧。我修改后再贴出来。
海纳百川  有容乃大
PRM文件:
DataFlashCode INTO ROM_4000;
CODE_4000 INTO ROM_4000;
C文件中使用:
#pragma CONST_SEG DataFlashCode
#pragma CODE_SEG CODE_4000

---------------------------------
精通S12,精通cw,有license 欢迎交流
onionchen1983hotmail.com

[此贴子已经被作者于2007-4-20 11:35:02编辑过]

51,freescale,c,asm,protel,fpga
返回列表