91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網>電子資料下載>嵌入式開發(fā)>Cortex-M3和Cortex-M4 Fault異常應用之基礎知識資料下載

Cortex-M3和Cortex-M4 Fault異常應用之基礎知識資料下載

2021-04-23 | pdf | 154.17KB | 次下載 | 2積分

資料介紹

1、摘要 Cortex-M內核實現了一個高效異常處理模塊,可以捕獲非法內存訪問和數個程序錯誤條件。本應用筆記從程序員角度描述Cortex-M Fault異常,并且講述在軟件開發(fā)周期中的Fault用法。 2、簡介 Cortex-M3(以下簡稱CM3)和Cortex-M4(以下簡稱CM4)內核的Fault異??梢圆东@非法內存方法和非法編程行為。Fault異常能夠檢測到以下情況: 總線Fault:在取址、數據讀/寫、取中斷向量、進入/退出中斷時寄存器堆棧操作(入棧/出棧)時檢測到內存訪問錯誤。 存儲器管理Fault:檢測到內存訪問違反了MPU定義的區(qū)域。 用法Fault:檢測到未定義的指令異常,未對齊的多重加載/存儲內存訪問。如果使能相應控制位,還可以檢測出除數為零以及其他未對齊的內存訪問。 硬Fault:如果上面的總線Fault、存儲器管理Fault、用法Fault的處理程序不能被執(zhí)行(例如禁能了總線Fault、存儲器管理Fault、用法Fault異?;蛘咴谶@些異常處理程序執(zhí)行過程中又出現了Fault)則觸發(fā)硬Fault。 本應用筆記描述CM3和CM4的Fault異常用法。系統(tǒng)控制寄存器組中的寄存器可以控制Fault異?;蛘咛峁┮l(fā)異常的原因信息。 更深入的文檔 完整的異常描述見《Cortex - M3 Technical Reference Manual》或者《Cortex -M4 Technical Reference Manual》,這兩本參考手冊都可以在中找到。 另一個很好的參考書是由Joseph Yiu編寫的《The Definitive Guide to the ARM Cortex-M3》 (這本書有中文版:宋巖譯的《ARM Cortex-M3權威指南》)。 3、Cortex-M Fault異常和寄存器 每個符合CMSIS規(guī)范的編譯器所提供的啟動文件(Startup_device)都會定義好設備所有的異常和中斷向量。這些向量表定義了異?;蛑袛嗵幚沓绦虻娜肟诘刂?。下表給出了一個典型的向量表,Fault異常向量用藍色標注。 : : __Vectors DCD __initial_sp ; 棧頂 DCD Reset_Handler ; 復位處理程序入口 DCD NMI_Handler ; NMI 處理程序入口 DCD HardFaul t_Handler ; 硬Fault處理程序入口 DCD MemManage_Handler ; 存儲器管理處理程序入口 DCD BusFault_Handler ; 總線Fault 處理程序入口 DCD UsageFault_Handler ; 用法 Fault 處理程序入口 DCD 0 ; 保留 : : 通??偸鞘鼓苡睩ault異常的,硬Fault異常具有固定的優(yōu)先級,并且優(yōu)先級高于其它Fault異常以及???斷,但低于NMI。硬Fault異常處理程序在以下情況下會被執(zhí)行:其它非硬Fault異常(非硬Fault異常是指總線、存儲器管理和用法Fault 異常,下同。)被禁能,并且這些Fault異常被觸發(fā);在執(zhí)行一個非硬Fault異常處理程序???又產生非硬Fault異常。 所有非硬Fault具有可編程的優(yōu)先級。當Cortex-M內核復位后,這些非硬Fault被禁能,你可以在應用軟件中通過設置“系統(tǒng)Handler控制及狀態(tài)寄存器(SHCSR)”來使能非硬Fault異常。這個寄存器屬于系統(tǒng)控制模寄存器組(SCB) 3.1 Fault異常的控制寄存器 在這里有必要介紹一下系統(tǒng)控制模塊寄存器組(SCB)的成員,這個寄存器組的定義可以在core_cm3.h文件中,該文件屬于CMSIS Cortex-M3 內核外設接口抽象層的一部分(關于不清楚CMSIS的,可以自行查找資料)。定義如下: (1)定義系統(tǒng)控制寄存器組結構體 /** @brief System Control Block (SCB) register structure definition */ typedef struct { __I uint32_t CPUID; /*! __IO uint32_t ICSR; /*! __IO uint32_t VTOR; /*! __IO uint32_t AIRCR; /*! __IO uint32_t SCR; /*! __IO uint32_t CCR; /*! __IO uint8_t SHP[12]; /*! __IO uint32_t SHCSR; /*! __IO uint32_t CFSR; /*! __IO uint32_t HFSR; /*! __IO uint32_t DFSR; /*! __IO uint32_t MMFAR; /*! __IO uint32_t BFAR; /*! __IO uint32_t AFSR; /*! __I uint32_t PFR[2]; /*! __I uint32_t DFR; /*! __I uint32_t ADR; /*! __I uint32_t MMFR[4]; /*! __I uint32_t ISAR[5]; /*! } SCB_Type; (2) 定義系統(tǒng)控制寄存器組物理空間基地址 (3) 定義指向系統(tǒng)控制寄存器組的指針 #define SCB ((SCB_Type *)SCB_BASE) /*! 通過以上三步,我們就可以使用結構體指針SCB來訪問系統(tǒng)控制寄存器組的寄存器了,比如給系統(tǒng)控制寄存器SCR賦值:SCB->SCR=0xFF; SCB->CCR寄存器控制除數為零和未對齊內存訪問是否觸發(fā)用法Fault。 SCB->SHCSR寄存器可用來使能非硬Fault異常。如果一個非硬Fault異常被禁能并且相關Fault發(fā)生,這時異常會升級為硬Fault。SCB->SHP寄存器組控制異常的優(yōu)先級。 Fault異??刂萍拇嫫髁斜恚? 地址/訪問 寄存器 復位值 描述
單片機 mcu 嵌入式 STM
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費