大 C 海拾贝 --- 定义变量时手工指定其地址

在GCC 和RealView MDK (即Keil) 开发工具中,允许定义变量时手工指定其地址。

volatile unsigned long bbVarAry[7] __attribute__(( at(0x20003014) ));

注意:at()中的地址必须对齐到4 字节边界。

通过上面的方法定义变量数组的起始地址就是0x2003014。

例子:

         当有参数需要保存在FLASH中,可以定义参数的地址为相应FLASH地址,这样,通过变量索引的参数值为最新值,而不需要因为参数改变,再次通过read操作才能更新变量中的数值。

注意:定义FLASH时,该方式定义的地址不能处于BIN文件的范围内,否则会提示错误。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章