在GCC 和RealView MDK (即Keil) 開發工具中,允許定義變量時手工指定其地址。
volatile unsigned long bbVarAry[7] __attribute__(( at(0x20003014) ));
注意:at()中的地址必須對齊到4 字節邊界。
通過上面的方法定義變量數組的起始地址就是0x2003014。
例子:
當有參數需要保存在FLASH中,可以定義參數的地址爲相應FLASH地址,這樣,通過變量索引的參數值爲最新值,而不需要因爲參數改變,再次通過read操作才能更新變量中的數值。
注意:定義FLASH時,該方式定義的地址不能處於BIN文件的範圍內,否則會提示錯誤。