色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

F28004x在線調試復位后程序無法運行怎么辦

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-01-13 17:05 ? 次閱讀

作者:TI 工程師 Aki Li, Ricky Zhang

問題描述:F28004x在線調試,如果利用CCS進行reset復位后,點擊run/resume程序將停留在0x3FB02A 而無法繼續運行, 而需先點擊restart,程序方可正常運行。原因在于F28004x在仿真狀態下的引導模式(Emulation Boot)尚未配置,因而無法順利完成引導過程,而CCS的restart功能可以屏蔽芯片的引導過程,使得程序自動跳到main()函數入口。具體分析此問題之前,有必要了解下芯片在復位后的引導過程。下面以F28004x為例介紹C2000芯片的引導過程,老版本的芯片可參考《TMS320x2803x Piccolo Boot ROM reference guide》,基本過程還是一致的。

當芯片重上電或者收到復位信號時,芯片都需要執行引導程序,選擇程序入口地址或者通過外設加載程序(bootloader),后續才會運行應用程序。復位后,芯片會從地址0x3FFFC0處運行復位向量,從而跳轉至Boot ROM里開始執行InitBoot功能。芯片會判斷當前是否連接仿真器,進入不同的引導流程,如圖1和圖2分別給出了芯片在脫機模式和仿真調試模式的引導過程。

(1) 若芯片沒有連接仿真器,系統進入脫機模式的引導過程。F28004x在出廠時默認通過引導模式選擇引腳(Boot Mode Select Pin, BMPS) GPIO24和GPIO32的電平狀態組合選擇不同的引導模式,如表1所示。但與F2803x等老版本芯片不同,F28004x也可以支持用戶自定義BMPS和引導模式,分別通過改寫DCSM OTP中的 Z1-OTP-BOOTPIN-CONFIG和Z1-OTP-BOOTDEF對應的值實現自定義引導功能,支持最多3個BMPS引腳和8種引導模式。

具體過程:若Z1-OTP-BOOTPIN-CONFIG.Key=0x5A,則進入自定義引導模式,

芯片根據Z1-OTP-BOOTPIN-CONFIG.BMPSx設定的BMPS引腳及其電平狀態,判斷要執行的引導模式(對應的引導模式通過Z1-OTP-BOOTDEF.BOOTDEFx進行設置)。否則,芯片將根據GPIO24和GPIO32的電平狀態選擇默認的引導模式。

(2) 若芯片沒有連接仿真器,則進入仿真調試的引導模式,通過讀取EMU-BOOTPIN-CONFIG和EMU_BOOTDEF的值,從而執行特定的引導模式。值得注意的是,上述的自定義模式配置在OTP中的修改是一次性的,無法再次擦寫。因此,系統提供了EMU-BOOTPIN-CONFIG和EMU_BOOTDEF用于仿真模擬自定義的引導過程,用于真正修改DCSM OTP之前的參考。

具體過程:若EMU-BOOTPIN-CONFIG.Key=0x5A,則選擇自定義模式進行引導過程,芯片根據EMU-BOOTPIN-CONFIG.BMPSx設定的BMPS引腳及其電平狀態,判斷要執行的引導模式。值得注意的是,若EMU-BOOTPIN-CONFIG.Key=0xA5,則意味著芯片可在仿真器連接的情況下,進入脫機運行模式下對應的引導過程,即根據Z1-OTP-BOOTPIN-CONFIG和Z1-OTP-BOOTDEF對應的值進行引導;該模式與F2803x在連接仿真器時將EMU_BMODE配置成GetMode()原理一致。而如果EMU-BOOTPIN-CONFIG.Key的值沒有正確配置,芯片將進入Wait Boot 模式,會處于循環等待狀態而無法完成引導過程。

若芯片順利完成引導模式,芯片會通過外設進行加載程序,或者直接跳轉至引導模式對應的程序入口地址開始運行應用程序,即main()。比如,如果是boot to Flash,則跳轉至地址0x80000(此時需在CMD文件中配置“codestart” section鏈接至對應的Flash 空間地址)。

基于以上關于F28004x芯片引導流程的介紹,再回頭分析下芯片在連接仿真器進行調試時的復位問題。以C2000ware提供的LED程序為例,(C:\ti\c2000\C2000Ware_DigitalPower_SDK_1_02_00_00\c2000ware\device_support\f28004x\examples\led ),燒寫程序。根據表 2給出的Boot ROM 寄存器地址,可通過在Memory Browser 窗口查看EMU_BOOTPIN_CONFIG.Key值(高8位),結果如圖 3所示,即由于EMU-BOOTPIN-CONFIG.Key = 0xEE, 因此芯片將進入Wait Boot 模式,如果進行reset后直接運行,通過反匯編Disassembly 窗口可知程序停在了0x3FB02A,處于ESTOP0循環等待狀態,正是在Wait Boot 的運行地址范圍內(0x3FAD74 – 0x3FB0CD),如圖 4所示。

因此,如果要實現復位后點resume直接運行,解決方法就是要正確配置仿真狀態下的引導模式。以boot to flash 為例(F28004x TRM手冊中的4.3.3.1), 有以下兩種思路:

1) 在EMU_BOOTPIN_CONFIG地址寫入0x5AFFFFFF,同時在EMU_BOOTDEF_LOW地址對應的低8位寫入0x03(BOOTDEF.BOOTDEF0=0x03)

2) 如果芯片在單機時可正常運行,例如GPIO24和GPIO32電平都為高(默認進入boot to flash),則在EMU_BOOTPIN_CONFIG地址0xD00寫入0xA5FFFFFF即可。

最后,對比下老版本的F28035芯片的引導過程。如圖 5所示,可知該芯片已默認配置成GET_BOOT模式(EMU_BMODE= 0x0003),進一步去判斷OTP_KEY的值,該值不等于0x55AA,因此引導模式為boot to flash,經驗證,芯片可順利完成引導程序,從而執行應用程序。


審核編輯:何安

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式處理
    +關注

    關注

    0

    文章

    341

    瀏覽量

    10042
收藏 人收藏

    評論

    相關推薦

    TMS320F28004x實時微控制器技術參考手冊

    電子發燒友網站提供《TMS320F28004x實時微控制器技術參考手冊.pdf》資料免費下載
    發表于 11-08 09:13 ?1次下載
    TMS320<b class='flag-5'>F28004x</b>實時微控制器技術參考手冊

    電機控制系統絕對值編碼器正交分頻輸出Abs2QEP PTO基于F28004x的軟件實現

    電子發燒友網站提供《電機控制系統絕對值編碼器正交分頻輸出Abs2QEP PTO基于F28004x的軟件實現.pdf》資料免費下載
    發表于 10-31 10:28 ?0次下載

    TMS320F28004x實時微控制器

    電子發燒友網站提供《TMS320F28004x實時微控制器.pdf》資料免費下載
    發表于 10-31 10:26 ?0次下載

    TAS5751M PurePathTM軟件無法使用怎么辦呢?

    有位客戶說登錄了myTI賬號也無法使用,如下圖,請問怎么辦呢?
    發表于 10-18 07:19

    C2000 F28004x系列MCU PLL鎖相失敗問題解決方案

    電子發燒友網站提供《C2000 F28004x系列MCU PLL鎖相失敗問題解決方案.pdf》資料免費下載
    發表于 09-27 11:24 ?0次下載
    C2000 <b class='flag-5'>F28004x</b>系列MCU PLL鎖相失敗問題解決方案

    電機控制系統絕對值編碼器正交分頻輸出Abs2QEP PTO(Pulse Train Output)基于F28004x的軟件實現

    電子發燒友網站提供《電機控制系統絕對值編碼器正交分頻輸出Abs2QEP PTO(Pulse Train Output)基于F28004x的軟件實現.pdf》資料免費下載
    發表于 09-27 10:15 ?0次下載
    電機控制系統絕對值編碼器正交分頻輸出Abs2QEP PTO(Pulse Train Output)基于<b class='flag-5'>F28004x</b>的軟件實現

    ddos造成服務器癱瘓怎么辦

    在服務器遭受DDoS攻擊,應立即采取相應措施,包括加強服務器安全、使用CDN和DDoS防御服務來減輕攻擊的影響。rak小編為您整理發布ddos造成服務器癱瘓怎么辦
    的頭像 發表于 08-15 10:08 ?324次閱讀

    TMS320F28004x實時微控制器數據表

    電子發燒友網站提供《TMS320F28004x實時微控制器數據表.pdf》資料免費下載
    發表于 08-01 14:08 ?0次下載
    TMS320<b class='flag-5'>F28004x</b>實時微控制器數據表

    STM32F1 IAP操作讀保護選項字節設置,APP使用系統復位跳轉無法運行IAP的原因?

    讀保護。我現在有一個問題,APP使用系統復位跳轉無法運行IAP,需要斷一次電才行,IAP升級結束也是一樣跳轉不出IAP,需要斷電
    發表于 05-13 08:09

    stm32cubeMx 2.6 import一個工程無法保存是為什么?

    如題, 新建一個stm32f103cbtx 項目,import 一個stm32f103rctx 項目無法保存, 為啥 ? 怎么辦 ?
    發表于 04-28 07:30

    STM32F103RE只有掛調試器IAP程序才能正常跳轉嗎?

    電差別就在于前者是軟復位的,而后者是外部復位),但是若將應用程序直接燒錄到0x08000000并且不設置中斷向量表偏移,應用程序可以正常
    發表于 04-25 07:03

    STM32F051使用J-flash燒錄完固件文件,按鍵復位(NRST腳)程序總是卡在Delay()的原因?

    我使用的是STM32F051,使用J-flash燒錄完固件文件,按鍵復位(NRST腳)程序總是卡在Delay(),
    發表于 04-07 07:03

    Stm32斷電無法正常運行的原因?怎么解決?

    自己設計的STM32板子剛開始可以燒錄代碼運行舵機,然后斷電再供電就沒反應了,再次燒錄也不行,但是燒錄LED燈的代碼,燈可以正常閃爍,請這種情況怎么辦?
    發表于 03-12 06:42

    MCU不復位調試的小技巧

    01 前言 在產品開發時,經常會碰到在測試過程中或設備出廠才發現程序異常,但當重新對設備仿真調試時卻復現不出現場的問題,或者只能通過保存的日志信息艱難分析代碼運行到了何處而導致的異常
    發表于 02-26 11:30 ?1354次閱讀
    MCU不<b class='flag-5'>復位</b><b class='flag-5'>調試</b>的小技巧

    linux用gdb調試遇到函數調用怎么辦?

    linux用gdb調試遇到函數調用怎么辦? 在Linux上使用GDB調試時,遇到函數調用是一個常見的情況。函數調用可能涉及到多個函數、多個文件,這就需要我們仔細審查代碼,理解函數之間的關系和參數傳遞
    的頭像 發表于 01-31 10:33 ?745次閱讀
    主站蜘蛛池模板: 99久久亚洲| 精品国产品国语在线不卡丶| 女人被躁到高潮嗷嗷叫69| chaopeng 在线视频| 色多多污网站在线观看| 国产免费久久爱久久啪| 一道本在线伊人蕉无码| 毛片网站视频| 国产成人免费| 欲乱艳荡少寡妇全文免费| 热热久久超碰精品中文字幕| 国产在线一区二区AV视频| 99re热有精品国产| 性欧美video| 蜜桃精品成人影片| 国产乱码卡二卡三卡4W| 嘴巴舔着她的私处插| 涩里番app黄版网站| 久久中文字幕人妻AV熟女| 国产99视频精品一区| 中文字幕绝色少妇性| 无码专区aaaaaa免费视频| 免费高清在线影片一区| 国产午夜精品不卡观看| CHESENGAY痞帅警察GV| 亚洲国产在线精品第二剧情不卡| 免费在线亚洲视频| 国精产品一区一区三区有限在线 | p影院永久免费| 香蕉久久夜色精品国产小说| 麻豆AV久久AV盛宴AV| 国产亚洲精品成人AV久久| 99视频免视看| 伊人电院网| 无码人妻少妇色欲AV一区二区| 曼谷av女郎| 国产又黄又粗又爽又色的视频软件| WWW污污污抽搐喷潮COM| 在线a视频| 亚洲精品天堂无码中文字幕影院| 日本xxx护士与黑人|