coldcoolfish 发表于 2013-3-29 15:43:08

新学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。

请帮忙讲解一下。

谢谢。

shennaijun0433 发表于 2013-4-4 15:30:46

这很简单的一个测试啊!自己测一下不就知道了嘛
页: [1]
查看完整版本: 新学DSP C2000,关于flash的疑惑,请帮忙解释一下。