而大部分皆是直接在檔名上修改個版號(ex: 001.bin....), 或是在程式中修改版號, 當程式跑
起來後, 透過類似I2C/UART/SPI....等的溝通得到目前的版號.
2. 而往往出錯的皆是類似像上述的方式, 可能忘了改檔名或是為了快點修改Bug,而忘了修改
程式中的版號, 導致許多問題產生, 因此如果有可以直接從build出來的binary來得到版號的
話,應該可以減少一些無謂的時間浪費.
3. 現在要介紹的是利用vector_table中的reserved area來放版本號的方式:
- 開啟IAR Project後, 先在程式中新增一個CodeVersion.h檔案.
- 先輸入一個預設的版號, ex: 0x12345678.
- 開啟startup_stm32f401xx.s檔案, 並include CodeVersion.h, 且在reserved area中放入我們預設的版號.
啟後可以看到我們之前設定的版號0x12345678, 且位置均固定, 因此再也不需要等待程式跑
起來後才能去得知版本號了.
5. Test Platform: STM32F401 Discovery Board.
6. 完整測試檔案連結如下:
沒有留言:
張貼留言