在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

兩線bootloader工程設置

電子設計 ? 來源:網友電子設計發布 ? 作者:網友電子設計發布 ? 2021-12-29 14:06 ? 次閱讀

CC1310是TI Simplelink MCU系列中支持Sub-1G的SOC.針對很多客戶需要串口進行固件升級的應用需求,CC1310內置了基于ROM的bootloader, 該bootloader支持UART和SPI兩種接口.詳細信息可參考TI CC1310的用戶指南(http://www.ti.com/lit/pdf/swcu117) 以及TI應用文檔SWRA466A, CC2538/CC26xx Serial Bootloader Interface (http://www.ti.com/cn/lit/swra466)。傳統的bootloader至少需要三跟連線,這篇博客主要介紹如何實現兩線bootloader并基于TI Flash Programmer 2(http://www.ti.com/tool/flash-programmer)工具和CC1310 Launchpad(LAUNCHXL-CC1310)評估板對芯片實現UART的固件燒寫。

兩線bootloader工程設置

CC1310 三線bootloader如下圖左,除了串口的兩根連線外,還需要一個專門的I/O進行啟動模式的控制。針對很多客戶產品只有一個對外的串口接口,提出了下圖右的兩線Bootloader方式,這個方式將BOOT_IO 與CC1310的UART RX復合使用。

如下圖BOOTLOADER的串口配置所示,UART和SPI的口是固定的I/O, 不能設置其他的I/O。CC1310 Launchpad 使用的是7*7 RGZ的封裝,下面我們需要設置BOOT_IO

BOOT_IO的設置在ccfg.c文件中,需要配置兩個宏,一個是有效觸發電平, 一個是DIO的編號。我們將有效觸發電平設置成高有效,BOOT_IO設置為DIO3。修改如下代碼。同時,為了使能Bootloader功能,需要定義下面兩個宏SET_CCFG_BL_CONFIG_BOOTLOADER_ENABLE和SET_CCFG_BL_CONFIG_BL_ENABLE為0xC5

#defineSET_CCFG_BL_CONFIG_BOOTLOADER_ENABLE 0xC5

#defineSET_CCFG_BL_CONFIG_BL_LEVEL 0x0 // Active low to open boot loader backdoor

#defineSET_CCFG_BL_CONFIG_BL_PIN_NUMBER 0x02 // DIO number for boot loader backdoor

#defineSET_CCFG_BL_CONFIG_BL_ENABLE 0xC5

編譯,燒寫固件。

編譯生成目標升級Bin固件

這里以TI的CC1310 SDK的pwmled_CC1310_LAUNCHXL_tirtos_ccs例程,編譯需要升級的固件。有兩個地方需要設置,一個是設置ARM Hex Utility中的memory width和rom width為8,一個是Build, Step中的post build添加,${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.bin ${CG_TOOL_ROOT}/bin/armofd.exe ${CG_TOOL_ROOT}/bin/armhex.exe ${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe

設置生成bin文件。 如下圖。

編譯工程,得到pwmled_CC1310_LAUNCHXL_tirtos_ccs.bin

通過Flash Programmer2對目標芯片完成兩線串口Bootloader燒寫

應用文檔SWRA466A中,對應的提供了一個命令行小程序sblAppEx,用于固件升級,因為程序編譯較早,有些版本運行會出錯。而很多用戶不知道的,Flash Programmer2 具有通過串口進行固件燒寫的功能。下面, 具體介紹用Flash Programmer2進行串口固件升級的具體操作如下:

1. 按照圖X所示,連接UART口和BOOT IO口, BOOT IO (即DIO2) 接低點平, 復位系統. 由于我們設置的是低點平進入Bootloader狀態,復位后,芯片進入ROM Bootloader模式

2. 在Flash Programmer2 的左上角 Connected devices中,選擇XDS110 Class Application, Unknown (這是CC1310 Launchpad自帶的UART口,如果是你自己的串口,也可以在這里看到)

3. 選擇好Unknown后,在左下腳的Select Target Device… 下拉菜單中選擇對應型號CC1310F128

4. 選擇好芯片好. 右鍵, 選擇Connect, 與目標芯片建立UART通信, 如下圖

5. 選擇需要升級的固件BIN文件, 這里選取之前步驟生成的pwmled_CC1310_LAUNCHXL_tirtos_ccs.bin文件

6. 升級成功后,可以從Flash Programmer最下方的狀態窗口看到更新

7. Dd

至此,我們就實現了兩線Bootloader

審核編輯:何安

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

    關注

    0

    文章

    341

    瀏覽量

    10050
收藏 人收藏

    評論

    相關推薦

    自定義RISC V的bootloader-v2

    在生成SoC時,會生成一個預定義bootloader .bin文件,用于指定soc的工程運行的地址,這包括在flash的存儲地址 ,加載到外存中的運行地址及在外存中分配的存儲空間的大小 。下面我們
    的頭像 發表于 10-31 12:37 ?687次閱讀
    自定義RISC V的<b class='flag-5'>bootloader</b>-v2

    HPM6750 Bootloader設計

    我正在做一個hpm6750evk2的bootloader。設計很簡單,boot工程代碼只做跳轉到1M后的APP工程代碼處,APP工程就是做的一個點燈的程序而已,boot、APP
    發表于 10-23 18:59

    阻抗匹配計算和差分走設置

    ad,cadense 阻抗匹配計算和差分走設置
    發表于 10-17 16:59 ?2次下載

    ad如何設置個元器件的距離

    在Altium Designer(簡稱AD)中設置個元器件之間的距離,主要是通過設置元器件間的安全間距(Clearance)規則來實現的。這個規則定義了元器件之間、元器件與走之間以
    的頭像 發表于 09-02 15:31 ?8367次閱讀

    磁性開關和三怎么互接

    磁性開關,又稱為磁簧開關或霍爾開關,是一種利用磁場的變化來控制電路通斷的電子元件。它廣泛應用于各種自動控制、安全保護、位置檢測等領域。磁性開關根據其引腳數量的不同,可以分為式和三
    的頭像 發表于 08-26 15:24 ?3145次閱讀

    磁性開關制和三制區別在哪

    磁性開關是一種常見的傳感器,廣泛應用于工業自動化、智能建筑、安防系統等領域。磁性開關按照接線方式的不同,可以分為制和三種類型。下面將介紹磁性開關
    的頭像 發表于 08-26 15:14 ?3367次閱讀

    磁性開關和三的區別

    磁性開關,又稱為磁控開關或磁簧開關,是一種利用磁場變化來實現電路通斷的開關器件。它廣泛應用于各種自動化控制系統、安全防護系統、家用電器等領域。磁性開關根據接線方式的不同,可以分為式和三
    的頭像 發表于 08-26 14:36 ?2505次閱讀

    如何才能將Bootloader和Application關聯起來

    接下來,我們要利用該Bootloader調試目標Application Project,如何才能將Bootloader和Application關聯起來呢?就需要借助剛才提到的Bootloader Project Build所生成
    的頭像 發表于 06-12 14:32 ?763次閱讀
    如何才能將<b class='flag-5'>Bootloader</b>和Application關聯起來

    STM32H743從APP跳轉到bootloader不成功怎么解決?

    )) (*((uint32_t *) (BootAddr + 4))); //設置主堆棧指針 __set_MSP(*(uint32_t *)BootAddr); //在RTOS工程,這條語句很重要,設置為特權級模式
    發表于 04-01 08:12

    BGA扇孔的規則設置

    過孔間過:用8-18的孔,線寬4mil,4mil,到孔盤4.6mli;(如需過一對差分線需BGA中的線寬及間距
    的頭像 發表于 03-28 09:25 ?657次閱讀

    STM32L431RCT6從用戶代碼區跳轉使用內置system memory bootloader無效怎么解決?

    ); /* 在RTOS工程,這條語句很重要,設置為特權級模式,使用MSP指針 */ __set_CONTROL(0); /* 跳轉到系統BootLoader */ SysMemBootJump
    發表于 03-26 07:54

    bootloader設置APP在0x08020000為開始地址,編譯報錯怎么解決?

    bootloader設置APP在0x08020000為開始地址,但是編譯報錯。同時如何在IDE中設置調試debug地址和相關設置,謝謝大師們解答
    發表于 03-13 06:43

    STM32案例:BootLoader是怎么跳到App

    BootLoader項目程序和App項目程序是分開的,所以需要分別搭建對應的項目工程文件,分開搭建文件是為了好配置,同時也是方便對項目進行管理。
    發表于 03-04 09:35 ?4667次閱讀
    STM32案例:<b class='flag-5'>BootLoader</b>是怎么跳到App

    通過Psoc4做bootloader功能的疑問求解

    目前在通過Psoc4做bootloader的功能,三個工程bootloader,booloadable1,bootloadable2。從bootloader更新bootloadabl
    發表于 02-20 07:17

    STM32無法進入片上Bootloader的處理方法

    STM32無法進入片上Bootloader的處理方法? 當STM32芯片無法進入片上Bootloader時,我們需要采取一系列的處理方法來解決這個問題。以下將詳細介紹一些常見的處理方法。 1.編程器
    的頭像 發表于 02-02 14:33 ?2245次閱讀
    主站蜘蛛池模板: 天天干夜操 | 又黄又粗暴的120秒免费gif视频 | 久久夜色tv网站免费影院 | 色综合久久久久久久久久久 | 天天看天天摸色天天综合网 | 国产亚洲精品久久久久久午夜 | 日本xxxxxxx69xx| 日韩在线视频一区 | 黄网站在线播放 | 国产精品久久免费观看 | 欧美人成绝费网站色www吃脚 | 亚洲一区在线免费观看 | 综合网天天操天天射 | 久久黄色精品视频 | japanese色系国产在线高清 | 直接看黄的网站 | 六月丁香综合网 | 色综合久久久高清综合久久久 | 综合第一页 | 婷婷的五月 | 色多多高清在线观看视频www | 萌白酱白丝护士服喷水铁牛tv | 嫩草影院永久入口在线观看 | 成人免费aaaaa毛片 | 97综合网 | 永久免费的啪啪免费的网址 | 欧美电影一区二区 | 成人网男女啪啪免费网站 | 最近的中文字幕免费动漫视频 | 日本最黄 | 女同国产 | 四虎在线最新地址公告 | 综合涩| www.男人 | 伊人久久大香线蕉综合高清 | 亚洲午夜精品久久久久久抢 | 一级片在线免费 | 51影院在线观看成人免费 | 国产精品莉莉欧美自在线线 | 国产一二三区精品 | 一级毛片一级毛片一级毛片 |