新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Nuvoton單片機調試

        Nuvoton單片機調試

        作者: 時間:2016-11-26 來源:網絡 收藏
        1、用keildebug調試Nano系列MCU時,偶爾進入HardFault_Handler中程序死掉了。

        原因:

        本文引用地址:http://www.104case.com/article/201611/322016.htm

        1)定義變量時的類型是char,外部文件調用時聲明的是extern int,同一變量定義與外部聲明不一致而導致錯誤。

        2)用DMA時,1byte傳輸,數據手冊中要求地址要字對齊,由于是外設與內存之間使用dma,定義的數組在程序中換了定義的位置結果導致數據不正確,debug時還進入HardFault_Handler中,調整數組定義的地址就可以了。

        摘抄總結:

        Cortex-M3/4的Fault異常是由于非法的存儲器訪問(比如訪問0地址、寫只讀存儲位置等)和非法的程序行為(比如除以0等)等造成的。常見的4種異常及產生異常的情況如下:

        Bus Fault:在fetch指令、數據讀寫、fetch中斷向量或中斷時存儲恢復寄存器棧情況下,檢測到內存訪問錯誤則產生Bus Fault。

        Memory Management Fault:訪問了內存管理單元(MPU)定義的不合法的內存區域,比如向只讀區域寫入數據。

        Usage Fault:檢測到未定義指令或在存取內存時有未對齊。



        關鍵詞: Nuvoton單片機調

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 马边| 农安县| 上饶县| 得荣县| 确山县| 芜湖县| 商洛市| 鞍山市| 上饶县| 泸定县| 梁平县| 房产| 呼伦贝尔市| 乡宁县| 鲁山县| 阳东县| 红安县| 邵东县| 浦东新区| 蒙城县| 乌鲁木齐县| 昌江| 灵川县| 鹤壁市| 盖州市| 瓮安县| 琼海市| 襄垣县| 思茅市| 南陵县| 息烽县| 无为县| 边坝县| 黑龙江省| 武鸣县| 嫩江县| 田林县| 资阳市| 边坝县| 咸阳市| 新河县|