變數定位問題

  有印像嗎? 有時候我們在使用某些產品時, 可能因為某些因素必需要做Firmware更新, 此時更新的劃面會出現新舊版本的版號, 這是怎麼做到的? 其實方法很多種, 今天我只針對我用到的其中一種做描述.

  其中有個關鍵技術, 可能會用到程式定位或變數定位等問題, 今天這裡針對MDK環境下的用法做點說明, 下圖是程式的二行示範

var

可以發現MDK是用 at(0x????????) 來達到定位效果, 經過compiler後產生Hex檔, 我們可以用文字編輯器打開Hex檔並找到變數定位的位址,如下圖所示

var_at

利用了以上技術,  我們只要在特定的位址, 比如上面例子中的 0x08040000 這地方讀取, 就可以捉到版本, Build date也以此類堆, 其它應用也以此類堆, 我們工作記錄下的心得, 希望對你有幫助到 ^^

 

一刀