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

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

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

3天內不再提示

C2000上電引導模式解析

星星科技指導員 ? 來源:TI ? 作者:TI ? 2023-04-11 09:44 ? 次閱讀

在使用C2000的時候,經常遇到工程師芯片仿真能夠運行,但是單機跑卻不能跑起來;或者在調試時,復位芯片>run,發(fā)現(xiàn)程序不能跑起來。這其中的原因主要是沒有了解C2000的引導模式設置。另外當我們想通過其他方式去引導芯片啟動的時候,往往也需要清楚知道C2000的引導是怎么設置的。因此,在這里跟大家分享一下我對C2000引導模式的理解,希望對各位理解芯片從上電到跑到main這一段芯片運行情況有所幫助。

以C2000Piccolo系列的引導模式為例,delfino稍微有點區(qū)別,concerto系列的引導則更復雜。但理解了Piccolo的引導原理對我們理解后面兩個系列的芯片有非常大的幫助。

1.首先我們根據(jù)圖1來看一下芯片上電后的代碼執(zhí)行流程,當芯片在接收到一個復位信號后,會到0x3FFFC0去復位向量,該復位向量跳到BootROM0x3FF75C中去執(zhí)行bootloader的程序,這里主要有initboot,和SelectBootMode,以及一些外設引導的函數(shù)。SeleteBootMode根據(jù)芯片的硬件或軟件設置來判斷芯片該去哪里尋找程序入口,直接目的是如何找到main,然后執(zhí)行應用程序。

pYYBAGQ0u2CAU0GFAAFC-deVbU8667.png

圖1.芯片的復位流程圖

我們最常用到的主要有兩種引導模式:

一種是boottoRAM,即跳到0x000000的RAM中,去開始執(zhí)行指令,主要針對程序加載在RAM的仿真模式;另外一種是boottoFlash,則跳到0x3F7FF6中去開始執(zhí)行代碼。

相應的,程序會這兩個入口地址0x000000,0x3F7FF6放一條跳轉指令,在codestart.asm源文件中,原因是在Flash的入口地址處只有兩個單元的空間,后面是CSM模塊,所以需要跳轉;而在RAM中之所以也需要跳轉,主要是因為在跳轉到main之前,需要執(zhí)行一小段代碼_c_int00,該代碼會使用0x000003之后的一段RAM,如果代碼放在那里,在執(zhí)行_c_int00之后會損壞代碼。

另外就是一些外設引導模式,如SCI引導以及SPI引導等,像我們常使用的C2PROG軟件就支持SCI引導,然后通過串口下載程序。

2. 那么芯片的SelectBootMode函數(shù)是如何來判斷芯片的引導模式(bootmode)呢?

從圖2中我們可以看到,首先會判斷芯片是否連接仿真器,根據(jù)TRST引腳的狀態(tài)來判斷。

如果是仿真器連接,則進入仿真引導(Emulation Boot),這時候芯片的引導主要是靠2個RAM的單元來判斷,即EMU_BMODE和EMU_KEY,地址是0xD01和0xD00,所以我們在連接仿真器后,可以首先修改這兩個EMU_BMODE和EMU_KEY來設置引導模式;

如果沒有連接仿真器,則進入單機跑模式(stand alone), 這時候芯片的引導主要靠GPIO34和GPIO37的狀態(tài),以及兩個OTP存儲單元的值來判斷。不過我們經常沒有使用OTP這兩個單元,用GPIO的狀態(tài)就已經夠了。

poYBAGQ0u2CAW7xcAAC_-FTjn68839.png

圖2. 兩種狀態(tài)下的引導模式

3. 仿真器連接時的引導模式配置

pYYBAGQ0u2GAG4GEAADrbjszoKg049.jpg

當帶仿真器的時候,芯片會根據(jù)EMU_BMODE和EMU_KEY這兩個單元的值來判斷引導模式,比如我們帶仿真器最常用的就是引導到RAM,即需要設置EMU_KEY = 0X55AA, EMU_BMODE = 0X000A。當我們在仿真的時候,程序load到Flash的時候,就需要設置EMU_KEY = 0X55AA, EMU_BMODE = 0X000B,如果EMU_BMODE = 0x0003的話,由于我們沒有對OTP單元進行操作,即OTP的值為0xFFFF,所以這種情況下也是boot to flash。

在帶仿真器跑程序的時候,我們發(fā)現(xiàn)即使我們不配置引導模式,程序也能夠跑到main,這主要是因為CCS的功能,在程序load到芯片的時候,或是reset > restart,CCS會自動屏蔽bootloader的過程,自動跳到main函數(shù)入口。如果我們只選擇reset CPU,則需要配置引導模式,即對0x0d01, 0x0d00這兩個單元在memory window進行寫相應的值,或是在script的菜單中選擇引導模式,程序才能夠跑到main中。

4. 單機跑是引導模式配置

poYBAGQ0u2GAHTUuAADIiijRaNM647.png

單機跑的時候,我們最常用的是跑到Flash中,這時候則需要配置GPIO34和GPIO37的引腳為高電平,由于Piccolo系列芯片這幾個引導都有上電默認內部上拉使能,所以即使不用加上拉電阻也可以。這時候的引導模式是GetMode,由于我們沒有去配置OTP兩個單元,所以這兩個單元默認為0xFFFF,所以芯片的引導模式最終為boot to Flash。

5. 其他外設的引導模式

從上面這幾張圖中可以看到還有許多外設引導的功能,以SCI引導為例,帶仿真器和單機跑的時候,都要配置相應的存儲單元以及GPIO口狀態(tài),使之配置為SCI boot mode。然后芯片會SCI boot 函數(shù),準備接收串口的代碼,上位機要根據(jù)SCI boot的通信協(xié)議,生成SCI boot的數(shù)據(jù)流格式,將數(shù)據(jù)通過串口發(fā)送給芯片,芯片的bootloader會接收該代碼,接收完后會根據(jù)該數(shù)據(jù)流中的起始運行地址去開始執(zhí)行從SCI下載的代碼。

審核編輯:郭婷

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

    關注

    459

    文章

    51568

    瀏覽量

    429769
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1383

    瀏覽量

    115481
收藏 人收藏

    評論

    相關推薦

    學習C2000,大學里最值得干的一件事

    /6.htmlC2000引導模式解析------【TI FAE 經驗分享】 http://t
    發(fā)表于 09-25 14:09

    基于F28004x的C2000芯片引導過程

    引導過程,使得程序自動跳到main()函數(shù)入口。具體分析此問題之前,有必要了解下芯片在復位后的引導過程。下面以F28004x為例介紹C2000芯片的引導過程,老版本的芯片可
    發(fā)表于 03-13 06:45

    C2000引導模式的全面介紹

    C2000引導模式設置。另外當我們想通過其他方式去引導芯片啟動的時候,往往也需要清楚知道C2000
    發(fā)表于 07-17 04:45

    C2000引導模式介紹

    。另外當我們想通過其他方式去引導芯片啟動的時候,往往也需要清楚知道C2000引導是怎么設置的。因此,在這里跟大家分享一下我對C2000引導
    發(fā)表于 11-15 07:27

    TI C2000 引導模式原理的理解

    在使用C2000的時候,經常遇到工程師說芯片仿真能夠運行,但是單機跑卻不能跑起來;或者在調試時,復位芯片run,發(fā)現(xiàn)程序不能跑起來。這其中的原因主要是沒有了解C2000引導模式設置。
    發(fā)表于 04-26 12:41 ?6552次閱讀
    TI <b class='flag-5'>C2000</b> <b class='flag-5'>引導</b><b class='flag-5'>模式</b>原理的理解

    C2000 Concerto雙核MCU的特點介紹(1)

    C2000 Concerto MCU簡介()
    的頭像 發(fā)表于 08-01 02:28 ?3663次閱讀

    C2000入門:C2000的基本知識介紹(1)

    C2000入門基礎(一)—C2000概述()
    的頭像 發(fā)表于 08-14 01:54 ?1.2w次閱讀

    C2000的開發(fā)環(huán)境

    C2000入門基礎(七)—C2000 開發(fā)環(huán)境
    的頭像 發(fā)表于 08-10 01:01 ?3807次閱讀

    C2000入門:C2000的復位系統(tǒng)介紹

    C2000入門基礎(三)—C2000的復位系統(tǒng)
    的頭像 發(fā)表于 08-06 00:55 ?5483次閱讀

    TI C2000的數(shù)字電源設計實例

    TI C2000在電動車輛的數(shù)字電源應用參考設計實例
    的頭像 發(fā)表于 04-26 06:16 ?4656次閱讀
    TI <b class='flag-5'>C2000</b>的數(shù)字電源設計實例

    C2000入門:C2000的外置電路的控制介紹(6)

    C2000入門基礎(六)C2000的控制外設
    的頭像 發(fā)表于 04-15 06:41 ?4092次閱讀
    <b class='flag-5'>C2000</b>入門:<b class='flag-5'>C2000</b>的外置電路的控制介紹(6)

    C2000入門:C2000的基本知識介紹 (2)

    C2000入門基礎(二)C2000概述(下)
    的頭像 發(fā)表于 04-15 06:30 ?4267次閱讀
    <b class='flag-5'>C2000</b>入門:<b class='flag-5'>C2000</b>的基本知識介紹 (2)

    【TI FAE經驗分享】C2000引導模式解析

    【TI FAE經驗分享】C2000引導模式解析
    的頭像 發(fā)表于 12-31 13:49 ?2869次閱讀
    【TI FAE經驗分享】<b class='flag-5'>C2000</b><b class='flag-5'>上</b><b class='flag-5'>電</b><b class='flag-5'>引導</b><b class='flag-5'>模式</b><b class='flag-5'>解析</b>

    使用C2000 Real-t的峰值電流模式控制PSFB轉換器參考設計

    使用C2000 Real-t的峰值電流模式控制PSFB轉換器參考設計
    發(fā)表于 02-07 09:43 ?8次下載

    【TI FAE 經驗分享】C2000引導模式解析

    【TI FAE 經驗分享】C2000引導模式解析
    發(fā)表于 11-02 08:16 ?5次下載
    【TI FAE 經驗分享】<b class='flag-5'>C2000</b><b class='flag-5'>上</b><b class='flag-5'>電</b><b class='flag-5'>引導</b><b class='flag-5'>模式</b><b class='flag-5'>解析</b>
    主站蜘蛛池模板: 成人无码国产AV免费看 | 赤兔CHINESE最新男18GUY | 国产精品免费观看视频 | 97视频久久 | 好男人WWW免费高清视频在线 | 超碰99热在线精品视频 | 日韩熟女精品一区二区三区 | 中文字幕亚洲第一页 | 高清国产免费观看视频在线 | 欧美性XXXXX极品娇小 | 嘴巴舔着她的私处插 | 天美传媒在线观看免费完整版 | 黄色网址在线播放 | 久久综合久久伊人 | 里番acg纲手的熟蜜姬训练场 | 挺进老师的紧窄小肉六电影完整版 | 亚洲精品久久久久久久蜜臀老牛 | 就去色电影 | 久久伊人天堂视频网 | 亚洲国产精品嫩草影院永久 | 十分钟免费观看高清视频大全 | 亚洲人交性视频 | 拉菲娱乐主管高工资q39709 | 国产九九九九九九九A片 | 男女疯狂一边摸一边做羞羞视频 | 交换年轻夫妇HD中文字幕 | 俄罗斯大白屁股 | 国产精品禁18久久久夂久 | FREE性丰满白嫩白嫩的HD | 97SE亚洲国产综合自在线不卡 | 97人视频国产在线观看 | porono日本xxx| 果冻传媒视频在线观看完整版免费 | 国产人妻人伦精品59HHH | 色窝窝亚洲AV在线观看 | 三级黄色网 | 久久这里只有精品1 | 亚洲欧美日韩精品久久奇米色影视 | 小寡妇好紧进去了好大看视频 | 99国产在线精品视频 | 91精品欧美一区二区三区 |