前些天寫程序的時候,需要做一個自動復位的功能,也就是當收到外部通訊設備復位指令時,主設備立刻執行復位操作。當時是想到的用看門狗實現。但是覺得似乎不太妥當,因為看門狗的復位是需要一定的時間。而在這段時間內系統還是處于正常運行當中,而且所有中斷都會正常響應。這恰好與要實現的功能南轅北轍。需求是當收到復位指令時,系統停止執行后面的所有操作,包含中斷響應。所以看門狗無法實現。
我用的是STM32F103芯片,了解這顆芯片能用來復位的只有5種,外部復位、獨立/窗口看門狗、軟件復位功耗管理??磥砦夷苡玫囊簿椭挥熊浖臀涣恕5俏也榱怂蠸TM32F103芯片相關的資料,還是沒有找到具體的實現方法,最多是提到過這種復位寄存器SYSRESETRQ位。不過功夫不負有心人,我還是找到了線索,STM32F103芯片手冊中提到這種復位屬于內核部分,于是我翻看了cortex-m3內核相關書藉才找到,在此分享一下,表達一個喜悅之情。
共有兩種實現方法,具體方法實現如下: CM3允許由軟件觸發復位序列。
第一種方法,是通過置位NVIC中應用程序中斷與復位控制寄存器(AIRCR)的VECTRESET位(位偏移:0),如下所示:
LDR R0, =0XE000ED0C ;NVIC AIRCR address
LDR R1, =0X05FA0001 ;置位VECTRESET位,前面的0X5FA是訪問鑰匙、 STR R1, [R0] ;觸發復位序列 deadloop
B deadloop ;該死循環保證后面的指令不可能被執行到
這種復位的作用范圍覆蓋了整個CM3微控制器中,除了調試邏輯之外的所有角落,但是它不會影響到CM3微控制器處部的電路,所以單片機上的各片上外設和其他電路都不受到影響。
復位的第二種方法,置位同一個寄存器中的SYSRESETREQ位,這種復位則是會波及整個芯片上的電路:它會使CM3微控制器把送往系統復位發生器的請求線置為有效。但是,系統復位發生器不是CM3的一部分,而是芯片廠商實現的,因此,不同的芯片對此復位的響應也不同。因此讀者需要認真 參閱該芯片的規格書,明白發生片內復位時,各外設和功能模塊都會回到什么狀態,或者有哪些功能模塊受到影響(比如,STM32系列有后備存儲區,該區就被特殊對待)。SYSRESETRQ的使用代碼如下面代碼段演示: LDR R0, =0XE000ED0C NVIC AIRCR address
LDR R1, =0X05FA0004 置位SYSRESETRQ,前面的0X05FA是訪問鑰匙 STR R1, [R0] ;觸發復位序列 deadloop
B deadloop ;該死循環保證后面的指令不會被執行到
這里要注意一個問題:從SYSRESETRQ被置為有效,到復位發生器執行復位命令,往往會有一個延時。在些延時期間內,處理器仍然可以響應中斷請求。但我們的本意往往是要讓此次執行到此為止,不要再執行任何操作。所以,最好在發出復位請求前,先把FAULTMASK置位。
這兩種方法都是對CM3內核寄存器直接操作的,調試的時候可以試試看,不過正常情況下,沒事不要瞎玩兒??!
上一篇:STM32如何使用內部時鐘源當系統時鐘
下一篇:STM32F4系統時鐘設置之二
推薦閱讀
史海拾趣
由于我無法獲取關于Apex Tool Group在電子行業內部發展的具體細節和故事,因此我無法提供五個精確到每個故事都至少500字的電子行業相關發展故事。但我可以根據已知信息,嘗試概括Apex Tool Group的發展概況,以及它如何可能涉及電子行業。
Apex Tool Group(艾沛克斯工具集團)是一個專業的手動和電動工具制造商,成立于2010年,由美國的丹納赫集團(Danaher)和庫柏工業集團(Cooper Industries)合資成立。公司總部位于美國馬里蘭州的Sparks,并在全球擁有20多家工廠,產品覆蓋多個國家和地區。
Apex Tool Group的發展之路充滿了變革和機遇。它憑借兩大集團的技術和資源優勢,迅速崛起為行業內的佼佼者。公司不斷推出創新產品,滿足不同客戶的需求,并在市場上獲得了良好的口碑。
在電子行業,Apex Tool Group的產品可能也得到了廣泛應用。隨著電子行業的快速發展,對高精度、高效率的工具需求日益增長。Apex Tool Group憑借其卓越的技術和品質,為電子行業提供了可靠的工具解決方案。無論是在電子產品的制造過程中,還是在電子設備的維修和維護中,Apex Tool Group的工具都發揮著重要作用。
此外,Apex Tool Group還注重與客戶的緊密合作。它根據客戶的需求提供定制化服務,幫助客戶解決實際問題。這種以客戶為中心的經營理念,使得Apex Tool Group在電子行業中贏得了廣泛的認可和信任。
然而,關于Apex Tool Group在電子行業內部發展的具體故事,如具體的合作案例、產品創新歷程、市場拓展策略等,我需要更多的相關資料才能給出詳細的描述。如果您對這方面的信息感興趣,建議查閱Apex Tool Group的官方網站、行業報告或相關新聞報道,以獲取更詳細的信息。
希望以上內容能夠對您有所幫助,如有更多問題,歡迎繼續提問。
背景:隨著中國經濟的快速發展和消費者對電子產品需求的不斷增加,Galaxy公司敏銳地捕捉到這一市場機遇。
行動:在2003年初,Galaxy以縝密的市場調研為基礎,全力部署進入大陸市場。同年6月,公司推出了以“影馳”命名的Geforce家族系列產品,迅速吸引了眾多游戲發燒友和電子產品愛好者的關注。隨后,公司又在多個城市設立了銷售和服務網點,為消費者提供更加便捷的產品體驗和服務。
成果:經過多年的深耕細作,Galaxy在大陸市場取得了顯著成績,品牌影響力不斷增強,市場份額穩步提升。
在電子行業的激烈競爭中,ATO SOLUTION公司通過一項創新性的技術突破,成功引領了市場的新潮流。該公司研發出了一款高效能的半導體芯片,極大地提升了電子設備的性能和能效比。這一技術的問世,迅速獲得了行業內外的廣泛關注和認可,為公司贏得了大量合作伙伴和客戶,奠定了市場領先地位。
在技術創新的基礎上,Fenghua (HK) Electronics Ltd積極拓展國內外市場。公司參加了多個國際電子展,與全球各地的客戶建立了良好的合作關系。同時,公司注重品牌建設,通過廣告宣傳、贊助活動等方式,提高了品牌知名度和美譽度。這些努力使得公司的產品在國內外市場上占據了越來越大的份額。
作為一家有社會責任感的企業,Fenghua (HK) Electronics Ltd積極履行社會責任,關注環保和公益事業。公司采用了環保材料和節能技術,降低了生產過程中的能耗和排放。同時,公司積極參與社會公益活動,為當地社區和教育事業做出了積極貢獻。這些舉措不僅提升了公司的社會形象,也為企業的可持續發展奠定了堅實基礎。
請注意,以上故事框架僅供參考,你可以根據Fenghua (HK) Electronics Ltd公司的實際情況和發展歷程進行進一步的拓展和完善。
在全球電子行業快速發展的背景下,DRS面臨著來自各方面的挑戰。為了應對這些挑戰,DRS不斷加強研發投入,提高產品質量和服務水平。同時,公司也積極拓展國際市場,尋求更多的合作機會。通過這些努力,DRS在全球電子行業中保持了領先地位,并為未來的發展奠定了堅實的基礎。
請注意,由于篇幅限制,以上故事均為概述性質,具體細節和背景信息可能有所省略。
電路如下,測得TXD和TXA的波形如圖中所示,TXD接單片機TXD,TXA為光耦輸出波形,TXD波形還算理想,但TXA波形上升沿上升緩慢,請問各位大蝦如何改善TXA波形? … 查看全部問答∨ |
|
代碼如下 *********************GIO_DRV.h************************************* #include \"stdafx.h\" #include __declspec(dllexport) extern DWORD GIO_Init1(LPCTSTR pContext, LPCVOID lpvBusContext); ...… 查看全部問答∨ |
|
我在一個窗口中添加一個button, 在WM_COMMAND中, 點擊這個button, button處于按下的狀態, 松開鼠標的時候, 彈出一個窗口, 關閉這個彈出的窗口之后, button才被彈起來, 我想要的是松開鼠標的同時, button進入彈起的狀態, 也就是說, 這個彈出窗口被關 ...… 查看全部問答∨ |
Window ce.net 4.0 如何開發屏幕保護程序,并指定快捷鍵Ctrl+Alt+Q Window ce.net 4.0 如何開發屏幕保護程序,并指定快捷鍵Ctrl+Alt+Q 是一臺設備上的系統,我想按下快捷鍵顯示屏幕保護程序,并在中間顯示幾行字 知道的請幫助我一下… 查看全部問答∨ |
請教一個問題: 在WinCE環境下,使用eVC編程 定義了2個字節的數據 TCHAR buf1[3]=_T(\"7A\"); SetDlgItemText(IDC_EDIT3,buf1); 顯示的ASCII 現在我想用十進制顯示出來,怎么轉換呢?… 查看全部問答∨ |
用RS232串口實現最簡單,但是速度慢; 用EPP/ECP并口傳輸數據和用USB總線傳輸數據兩種方案從開發難易程度、通信速度方面各有哪些優勢呢? 開發難易程度需要考慮FPGA端的開發以及PC端軟件的開發兩方面; 謝謝各位,目前正在方案選擇中,希望大家 ...… 查看全部問答∨ |