在芯片鎖住的時候,我們首先要查看是那種錯誤,
正常情況下,你在Keil下載時遇到錯誤應該是這樣的
找不到Cortex?-M內核
Flash下載失敗
打開J-Link-Commander
如果是正常,則是可以找到Cortex-M3/M4內核,
如果芯片自鎖之后,會發現先是JTAG方式查找,之后SWD方式查找,最后找不到任何內核
以下問題為J-LINK能找到芯片時的異常錯誤:
BOOT腳配置問題:對于STM32往往都有些BOOT配置腳。因為BOOT腳的焊接或接觸不良或者BOOT引腳沒有配置正確**,導致很多問題。這種情況多表現在芯片功能時好時壞,或者部分芯片正常,部分芯片異常。
啟動文件問題:經常因為選錯了啟動文件,導致程序無法正常運行,或者說調試時好好的,脫機運行就出鬼。這點在做不同系列芯片間移植時最容易碰到。
堆或棧越界溢出:這個也會導致芯片無法正常工作,調試時往往可能會有硬錯提示。
芯片引腳短路:這是最典型的現象,也是最常見的原因,一般不工作的時候第一反應就是檢查是否發生短路,短路引發芯片無法正常工作。
外部晶振異常:外部晶振無法正常工作也是導致芯片無法正常工作的原因,如果程序時鐘配置中沒有增加在外部晶振無法正常工作時切換到內部晶振的代碼,將導致單片機無法正常啟動,進行調試會發現代碼卡在了RCC時鐘的初始化中
數組越界操作: 數組發生越界時,便會進行錯誤,結果是程序直接卡死
中斷處理錯誤: 同樣會導致單片機卡死
單片機發生程序異常時,會進入到HardFault_Handler中斷
解決方法:
在硬件中斷函數HardFault_Handler里的while(1)處打調試斷點,程序執行到斷點處時點擊“STOP”停止仿真
在Keil菜單欄點擊“View”——“Call Stack Window”
彈出“Call Stack + Locals”對話框。然后在對話框中右鍵選擇“Show Caller Code”,就會跳轉到出錯之前的函數處,仔細查看這部分函數被調用或者數組內存使用情況
以下問題為J-LINK找不到芯片時的異常錯誤:
自鎖原因:
STM32單片機一般的連接方式是**主閃存存儲器(flash)**啟動模式,即BOOT0為0,這樣在用JTAG或SWD寫進程序的時候,如果該程序工程中芯片選型不正確或著程序中復用了JTAG或SW復用引腳導致程序執行后出現啟動配置錯誤或者調試引腳被占用而引起的芯片鎖死或Jlnk連接不上的問題,
時鐘問題:時鐘頻率設置太高,配置超出芯片主頻工作范圍,導致單片機自鎖
?
電源問題:供電電壓不穩,STM32內部存在保護檢測,同樣會進行芯片的自鎖
?
?
解決方法:
把BOOT0和BOOT1跳成1和0,(這時候就看下Jlink應該可以找到芯片),讓內部程序不運行,然后再重新下載另外的程序,再改回BOOT設置,便可以恢復正常。如果板子上JTAG和SW調試電路都有的話,在其中一種方式導致鎖死的情況下可以用另一種方式擦除恢復,而不必調整BOOT設置。
簡單的說 : 正常的芯片自鎖,就是將Flash存儲進行讀寫保護,使得不能運行程序,而我們的做法就是將BOOT0置高,使程序從系統存儲器啟動,找到芯片之后,重新往Flash中下載一個正常的代碼,之后再換回Flash啟動,芯片即可完成解鎖
如果即可以JTAG下載又可以SWD下載,假設SWD方式鎖了,可以換成JTAG下載方式然后下載正常程序,同樣可以解鎖
上一篇:第一頁
下一篇:STM32 HAL CubeMX 串口IDLE接收空閑中斷+DMA
推薦閱讀
史海拾趣
在國內市場取得成功后,FCT Electronics開始將目光投向國際市場。公司積極參加國際電子展會,與多家國際知名企業建立了合作關系。憑借出色的產品性能和專業的客戶服務,FCT Electronics的測試設備逐漸在海外市場上占據了一席之地,為公司的國際化發展奠定了堅實基礎。
隨著技術的不斷進步,Blue Giga在無線網絡連接領域取得了重要突破。其研發的超低功耗Bluetooth Smart和Bluetooth Classic模塊,以及Wi-Fi模塊,受到了市場的廣泛歡迎。同時,公司還推出了配套的軟件棧、開發工具和SDK,進一步豐富了產品線,滿足了不同領域的需求。
1998年,Amphenol Nexus Technologies經歷了一次重要的領導層更迭。拜爾斯先生退休,弗雷德·法拉哈尼(Fred Farahani)收購了Nexus, Inc.的股份,并與弗拉納根先生成為合伙人。在Fred的領導下,公司開始關注銷售和開發方面的新機遇,產品基礎也擴展到包括微型連接器系列。這一變革為公司帶來了新的增長點,使其在激烈的市場競爭中保持了領先地位。
作為一家有社會責任感的企業,康龍公司始終關注環境保護和可持續發展。公司積極采用環保材料和生產工藝,減少生產過程中的污染和浪費。同時,康龍還積極參與社會公益事業和慈善活動,回饋社會。這些舉措不僅提升了公司的品牌形象和社會聲譽,也為公司的長遠發展注入了正能量。
CEVA, Inc.最初于1999年11月22日在美國特拉華州注冊成立,起初的名稱并非CEVA。隨著公司的業務擴展和技術積累,其在2002年11月進行了更名,成為ParthusCeva公司。這一更名反映了公司業務的進一步發展和市場定位的調整。隨后,在2003年12月,公司再次更名為CEVA公司,這一名稱沿用至今,成為無線連接和智能傳感技術領域的知名品牌。
在晶圓盒傳輸業務上,Entegris與臺灣的家登精密之間發生了一場長達數年的專利侵權訴訟。Entegris最終獲得了勝訴,家登被要求賠償超過3,000萬美元。這一勝利不僅保護了Entegris的知識產權,也進一步鞏固了其在半導體材料市場的地位。
2007年全國大學生電子設計競賽 討論專用帖(附加了幾道與公布器件相關的題目、附加 本帖最后由 paulhyde 于 2014-9-15 08:57 編輯 2007年全國大學生電子設計競賽馬上拉開帷幕根據清單可以猜測很多題目。有需要的話大家踴躍討論。附2007年全國賽元件清單: 1、基本儀器清單 20MHz普通示波器(雙通道,外觸發輸入,有X軸輸入,可選 ...… 查看全部問答∨ |
|
如何用單片機控制液晶顯示器? 我用的是MSP430f149單片機,現在需要在這塊板子上編碼,去控制液晶顯示器顯示東西。 請問前輩們給點思路,該怎么做? 我不知道從何處下手。。。謝謝了… 查看全部問答∨ |
EVC下串口通信原程序如下: /********************************** 函數名稱: OpenPort 描 述: 打開串口 輸入參數: LPCTSTR Port: 串口名,如"COM0:","COM1:" &nb ...… 查看全部問答∨ |
情況是這樣的,我用pa0發送周期為100us的方波信號,用pa1接收,中間連接一個39k的電阻,為什么用示波器檢測到的信號低電平被拉高了 0.68v,高電平仍然是3.幾v,而不連接pa1的話低電平還是0,不會被拉高。這個是為什么,求解答啊,我想要的是不被拉 ...… 查看全部問答∨ |
|