[DemoCode下载] [FMC][Nano130]解決alignment所造成的Hardware fault問題

[复制链接]
1981|3
 楼主| Howard16 发表于 2014-11-14 21:05 | 显示全部楼层 |阅读模式
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 memoryhardware fault原因時發現是alignment的問題,一般在使用M0變數宣告時會根據natural alignment定義變數位址,但如果以指標方式自行定義變數位址,位址必須符合natural alignment32 bit變數其位址必須為四的倍數,16 bit變數其位址必須為二的倍數。否則會發生hardware fault
系統發生hardware fault時, 該如何查hardware fault的程式位置呢?方法一併在此說明
Capture.JPG
由於hardware fault exception interrupt,所以可從 SP紀錄的RAM位址找到進入hardware fault中斷前的address,就可以根據address找到程式發生錯誤的地方。

Capture2.JPG
Nano100BSeriesBSP_CMSIS_V3.00.000_hardware fault.rar (707.79 KB, 下载次数: 7)
gaoyang9992006 发表于 2014-11-15 08:22 | 显示全部楼层
天才啊,都研究SP了,高大上,不过我还是不愿意学的这么深奥的。
373810773 发表于 2014-11-17 09:42 | 显示全部楼层
厉害,厉害
598330983 发表于 2014-11-20 11:25 | 显示全部楼层
台湾的兄弟,你真猛,谢谢分享。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

44

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部