在GCC 和RealView MDK (即Keil) 开发工具中,允许定义变量时手工指定其地址。
volatile unsigned long bbVarAry[7] __attribute__(( at(0x20003014) ));
注意:at()中的地址必须对齐到4 字节边界。
通过上面的方法定义变量数组的起始地址就是0x2003014。
例子:
当有参数需要保存在FLASH中,可以定义参数的地址为相应FLASH地址,这样,通过变量索引的参数值为最新值,而不需要因为参数改变,再次通过read操作才能更新变量中的数值。
注意:定义FLASH时,该方式定义的地址不能处于BIN文件的范围内,否则会提示错误。
本文介绍在GCC和Keil开发工具中如何手工指定变量地址,特别是在FLASH中保存参数的应用技巧,确保参数值实时更新,避免因参数变化需重新读取的问题。
3637

被折叠的 条评论
为什么被折叠?



