chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

F28004x在線調(diào)試復(fù)位后程序無法運行怎么辦

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2022-01-13 17:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

芯片根據(jù)Z1-OTP-BOOTPIN-CONFIG.BMPSx設(shè)定的BMPS引腳及其電平狀態(tài),判斷要執(zhí)行的引導(dǎo)模式(對應(yīng)的引導(dǎo)模式通過Z1-OTP-BOOTDEF.BOOTDEFx進行設(shè)置)。否則,芯片將根據(jù)GPIO24和GPIO32的電平狀態(tài)選擇默認(rèn)的引導(dǎo)模式。

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

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

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

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

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

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

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

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


審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式處理
    +關(guān)注

    關(guān)注

    0

    文章

    341

    瀏覽量

    10452
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    儲能EMS控制器(5) — 儲能柜調(diào)試又慢又不穩(wěn)定怎么辦

    響應(yīng)差,怎么辦?簡介目前儲能行業(yè)儲能EMS控制器硬件、終端業(yè)務(wù)軟件、云平臺及Web&APP應(yīng)用大多由不同廠商提供,各廠商的產(chǎn)品質(zhì)量參差不齊、缺乏穩(wěn)定性,控制架構(gòu)分層獨立,這
    的頭像 發(fā)表于 12-09 11:39 ?68次閱讀
    儲能EMS控制器(5) — 儲能柜<b class='flag-5'>調(diào)試</b>又慢又不穩(wěn)定<b class='flag-5'>怎么辦</b>?

    CPU的幾種復(fù)位方式適合哪些場景?

    1、上電復(fù)位 適用場景:系統(tǒng)首次上電或電源以外斷電重新上電時; 2、看門狗復(fù)位 適用場景:虛脫程序運行異常,如陷入死循環(huán)或長時間無響應(yīng)時
    發(fā)表于 11-27 07:56

    解決程序無法下載問題

    一、隊伍介紹 本篇為蜂鳥E203系列分享第二篇,本篇介紹的內(nèi)容是解決程序無法下載問題。 二、問題提出 下載完NICE_demo運行程序,無法
    發(fā)表于 10-30 07:35

    下載程序2個串口都會打印RT-LOGO,為什么?

    遇到個奇怪的問題 stm32f405板子有兩個串口,串口3和串口5, 串口5用于調(diào)試,串口3用于和電腦通信。 用MDK下載程序,設(shè)置成下載復(fù)位
    發(fā)表于 09-28 15:16

    按下復(fù)位鍵RTT程序死機正常嗎?

    裸機程序都是按下復(fù)位鍵從頭運行的,RTT按下復(fù)位鍵不運行屬于正常嗎? 今天使用野火的板子調(diào)試程序
    發(fā)表于 09-24 06:38

    如何解決開發(fā)機器學(xué)習(xí)程序時Keil項目只能在調(diào)試模式下運行,但無法正常執(zhí)行的問題?

    如何解決開發(fā)機器學(xué)習(xí)程序時Keil項目只能在調(diào)試模式下運行,但無法正常執(zhí)行的問題
    發(fā)表于 08-28 07:28

    tc275調(diào)試引導(dǎo)程序,無法寫入是怎么回事?

    tc275調(diào)試引導(dǎo)程序,一步一步操作,可以寫入閃存,結(jié)果是可以的,但是運行應(yīng)用程序,擦除可以,但無法
    發(fā)表于 07-28 07:39

    重新配置SCB-&gt;VTOR = 0x08010000,再次復(fù)位程序異常的原因?

    (); MX_CRC_Init(); EEPROMInit(0); } 做如上配置,每次燒錄的第一次運行都是正常的,在cubeide中點擊復(fù)位
    發(fā)表于 07-22 06:56

    STM32H745XIH6不能進行雙核調(diào)試,CM4不能進行在線調(diào)試怎么解決?

    CM4 debug設(shè)置;CM4 debug設(shè)置完成,CM7 debug的調(diào)試器,會自動調(diào)整 ULINK2/ ME cortex Debugger,設(shè)置失敗。CM4下載程序成功,但是不能進行
    發(fā)表于 06-09 06:58

    為什么無法運行程序“make”(在目錄“C:\\?

    FX2LP Build,得到了 14:26:46 **** 為項目 Fx2Test 構(gòu)建配置調(diào)試 **** 全部制作 無法運行程序“make”(在目錄“C
    發(fā)表于 05-15 08:26

    FPGA的Jtag接口燒了,怎么辦?

    在展開今天的文章前,先來討論一個問題:FPGA的jtag接口燒了怎么辦?JTAG接口的輸入引腳通常設(shè)計為高阻抗,這使得它們對靜電電荷積累非常敏感,由于JTAG接口需要頻繁連接調(diào)試器、下載線纜等外
    的頭像 發(fā)表于 04-27 11:01 ?2141次閱讀
    FPGA的Jtag接口燒了,<b class='flag-5'>怎么辦</b>?

    雅特力AT32F402/F405入門使用指南

    搭建AT32開發(fā)環(huán)境一、調(diào)試工具及開發(fā)板目前AT32F402/AT32F405開發(fā)板都自帶AT-Link-EZ調(diào)試工具,AT-Link-EZ如下圖左邊紅框所示,它也可拆開
    的頭像 發(fā)表于 03-28 18:59 ?2259次閱讀
    雅特力AT32<b class='flag-5'>F</b>402/<b class='flag-5'>F</b>405入門使用指南

    STM32F407嵌入式SRAM映射為0x20020000,為什么?

    本人在做F407的IAP功能時,首先調(diào)用了以前在F103上面的跳轉(zhuǎn)代碼,并根據(jù)網(wǎng)上資料寫出了在F407芯片下運行的IAP跳轉(zhuǎn)代碼。然后就出現(xiàn)問題了,發(fā)送跳轉(zhuǎn)函數(shù)不執(zhí)行,
    發(fā)表于 03-10 08:24

    GD-LINK無法在KEIL上調(diào)試怎么解決?

    芯片:GD32F303RCT6 調(diào)試器:GD-LINK 調(diào)試軟件:KEIL V5 (5.29) 問題:開始調(diào)試,
    發(fā)表于 02-27 08:24

    技術(shù)資料#TMS320F280049 具有 100 MHz、FPU、TMU、256 KB 閃存、CLA、PGA 和 SDFM 的 C2000? 32 位 MCU

    。 TMS320F28004xF28004x) 是一款功能強大的 32 位浮點微控制器單元 (MCU),可讓設(shè)計人員將關(guān)鍵的控制外設(shè)、差分模擬和非易失性存儲器集成到單個器件上。
    的頭像 發(fā)表于 02-26 10:14 ?2867次閱讀
    技術(shù)資料#TMS320<b class='flag-5'>F</b>280049 具有 100 MHz、FPU、TMU、256 KB 閃存、CLA、PGA 和 SDFM 的 C2000? 32 位 MCU