久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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

Nuvoton單片機調試

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

原因:

本文引用地址:http://cqxgywz.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單片機調

評論


技術專區

關閉