l 支援晶片系列: Nano130 series l 所使用的開發軟件包: Nano100BSeriesBSP_CMSIS_V3.00.000_NuEdu l Project 所在的目錄. Nano100BSeriesBSP_CMSIS_V3.00.000_NuEdu\SampleCode\StdDriver\FMC_RW_hardfault\KEIL l Project Name: FMC_RW.uvproj l 所使用的板子:NuEdu-SDK-Nano130 在對RAM寫入16 bit的數值時,系統發生hardware fault,去flash memory查hardware fault原因時發現是alignment的問題,一般在使用M0變數宣告時會根據natural alignment定義變數位址,但如果以指標方式自行定義變數位址,位址必須符合natural alignment,32 bit變數其位址必須為四的倍數,16 bit變數其位址必須為二的倍數。否則會發生hardware fault 系統發生hardware fault時, 該如何查hardware fault的程式位置呢?方法一併在此說明
由於hardware fault 為exception interrupt,所以可從 SP紀錄的RAM位址找到進入hardware fault中斷前的address,就可以根據address找到程式發生錯誤的地方。
Nano100BSeriesBSP_CMSIS_V3.00.000_hardware fault.rar
(707.79 KB)
|