Board logo

标题: 怎样永久改变数据?????[求助] [打印本页]

作者: geddywong    时间: 2005-8-10 15:40     标题: 怎样永久改变数据?????[求助]

在MC68HC08中,用c编程,比如我定义一个char a[3]="abc"当程序运行时,我把a字符数组的内容编程123,怎么才能让这种改变无论是复位还是断电都不会恢复成原来的内容。
作者: Carter    时间: 2005-8-10 16:13

program to Flash.
作者: xiaoheli    时间: 2005-8-10 20:47

#pragma CONST_SEG DATA_ROM //define DATA_ROM in .prm  
const char a[3]="abc";
#pragma CONST_SEG DEFAULT
作者: geddywong    时间: 2005-8-11 17:25

谢谢!我只要在c文件中把上面三行代码原样写上就行了吗,其他地方不用改动什么了吗??
作者: geddywong    时间: 2005-8-11 17:28

还有个疑问,上面三行代码把a[3]定义成了常数,不能改变阿,不符合我的要求。
作者: xiaoheli    时间: 2005-8-11 19:30

如果在FLASH中定义常数, 则把以上三行拷贝,DATA_ROM 只是一个例子,需要自己在内存分配文件 *.PRM中定义, 比如对EY16

SECTIONS
    DATAROM = READ_ONLY            0xC000 TO 0xC0FF;
PLACEMENT
    DATA_ROM                    INTO  DATAROM;
END

如果需要存储变量到FLASH,对HC08好像只能先存到RAM,然后用FLASH读写操作,S12对FLASH好像可以直接读写,不是很确定,请再查一下手册。
作者: geddywong    时间: 2005-8-12 09:33

资料都是汇编的,找不到c的阿,老大们能不能帮帮忙,谢谢了!!我用的是MC68HC908SR12的片子。


[此贴子已经被作者于2005-8-12 9:33:32编辑过]






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0