新学DSP C2000,关于flash的疑惑,请帮忙解释一下。
使用以下代码初始化数据放在flash区域#pragma DATA_SECTION(test,"flashtest");
const Uint16 test=1;
flashtest已经在cmd文件中放在了flash区域了
flashtest :> FLASHB,PAGE=1
程序步骤如下:
1.当程序第一次运行的时候会初始化test为1并放置在flashtest区域
2.当程序运行过程将test置从flash中拷贝到如变量a中,即a=test;
3.程序继续运行,运行一段时间以后a的值修改掉了,如a=2,
然后将a的值通过flash_api函数写回test所在的flash位置,即test所在flash区域值改为2,
接着芯片就断电。
问题如下:
当芯片第二次上电的时候,
#pragma DATA_SECTION(test,"flashtest");
const Uint16 test=1;
这段程序是不是继续执行,那么test的值就从2改为1了吗?
如果不执行,程序正常运行时又把test从flash区域拷贝到a中,那么a=2。
还是执行了,程序把test从flash区域拷贝到a中,这时候a的值还是1。
请帮忙讲解一下。
谢谢。 这很简单的一个测试啊!自己测一下不就知道了嘛
页:
[1]