国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

CC2640R2的Bootloader是怎么Run的

電子設計 ? 來源:網友電子設計發布 ? 作者:網友電子設計發布 ? 2021-12-29 14:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CC2640 R2是德州儀器推出的面向 Bluetooth Smart 應用的低功耗無線 MCU。該芯片運行TI的BLE協議棧,具有功耗低,外設種類豐富,射頻性能好等特點。利用它可以實現許多有趣的應用,收到了用戶的廣泛歡迎。

可是很多用戶在量產的時候卻犯難了,用XDS110 + Flash Programmer 2,效率很低,還要在GUI上各種配置,產線工人操作起來十分困難而且容易失誤。買一拖多的編程器配上位機,又舍不得口袋里的銀子,而且不是TI官方出品,穩定性和可靠性難以得到保證。本文給大家介紹一種利用芯片內部Bootloader燒寫程序的方法,進入Boot模式,用普通的串行接口就可以進行固件的引導,FLASH的擦寫,Program,不花費額外成本。 而且這個bootloader是放在ROM里的,不會被誤擦除, Boot的時候UART/SPI不斷就沒事,實在不行load一半斷了也無傷大雅,再boot一次就好了,即快捷又安全。

我們來看一下CC2640R2的Bootloader是怎么Run的。CC13x0, CC26x0 SimpleLink Wireless MCU Technical Reference Manual(SWCU117H)第8章節Bootloader中詳細介紹了Bootloader的原理,功能,接口定義,包的組成,校驗等等,內容很多,容易犯困,現在來畫一下重點。

第一個常見的問題是什么情況下會進Bootloader,進Bootloader會不會影響應用程序的執行?如果使能了Bootloader,有兩種情況下會進,第一種情況是一個FLASH里沒有任何鏡像的新芯片在上電后;第二種情況是開啟了Bootloader backdoor,并且預先定義的backdoor PIN腳被設置到正確的邏輯電平。上述條件不滿足,在上電后,芯片優先執行應用程序。所以Bootloader和應用程序執行的條件不同,所以并不會相互影響。

第二個常見的問題是什么是Bootloader backdoor?實際上就是為芯片進入Bootloader留的一個后門。用戶可以通過BL_CONFIG寄存器的BL_ENABLE位使能這個backdoor,并預設某個GPIO在某個電平的時候啟用這個Backdoor,在Reset的時候,芯片內部會自動檢測預設條件是否滿足,來決定是否進入Bootloader模式。如圖1所示,BL_CONFIG是實現Bootloader最重要的寄存器,我們后面在講代碼時會參照這個寄存器,其說明在SWCU117H也可以找到。

第三個常見的問題也是容易犯的錯誤是是不是CC2640R2的所有接口和PIN腳都支持Bootloader? 答案是否定的。CC2640R2的Bootloader只支持兩種接口,UART和SSI,而且僅有UART0 和 SSI0 支持,不同封裝的芯片對應的引腳也有差別,如圖2所示,使用時要特別注意。

對于UART0來說,我們芯片理論上可以達到3Mbaud(48M/16)的最大波特率,但是片內ROM中的Bootloader固件只支持1.6Mbaud。SSI0是Motorolar格式的,SPH=1,SPO=1,SSI0時鐘最快頻率是4Mbaud(48M/12)。不過一味追求接口的速率也沒有必要,畢竟下載程序的速率瓶頸在FLASH的讀寫速度。

其實要點就這么多,很簡單吧。很多用戶會有疑問是不是要把TI規定的協議搞得很透才能實現Bootloader?當然不是,TI工程師的使命就是把復雜的問題變得簡單,只要把配置搞對,配上正確的上位機,一秒上手不是難事。下面就以UART為例詳細跟大伙說說Bootloader在CC2640R2上是怎么實現的。

工欲善其事,必先利其器,請準備好下面的IDE環境,藍牙協議棧和硬件平臺。插播一條廣告,LAUNCHXL-CC2640R2的demo板可以在TI的estore上購買。https://store.ti.com/LAUNCHXL-CC2640R2-CC2640R2-LaunchPad-P51441.aspx

IDE環境 IAR 8.11.2
藍牙協議棧版本 1_50_00_58
硬件平臺 LAUNCHXL-CC2640R2
工程文件 simplelink_cc2640r2_sdk_1_50_00_58\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral
上位機軟件 sblAppEx.exe
仿真器 LAUNCHPAD板載XDS110

值得一提的是,sblAppEx.exe 是TI專門為CC2640R2實現Bootloader開發的工具,并向客戶開放源碼,可以基于此二次開發,下載地址:http://www.ti.com/lit/zip/swra466。

首先,我們需要修改一下Bootloader的設置,在source\ti\devices\cc26x0r2\startup_files里,打開ccfg.c,對幾個宏定義做出配置,如下圖3所示,依據則是圖1的BL_CONFIG。

圖 3. 修改ccfg.c中的宏定義以匹配Bootloader的要求

在這里我們用DIO15高電平作為Bootloader backdoor的敲門磚,當然也可以根據用戶實際需要選擇相應的DIO。配置好后,點擊IAR的編譯下載按鈕,就可以在simple_peripheral\tirtos\iar\app\FlashROM_StackLibrary\Exe里看到剛剛編譯好的帶Bootloader功能的鏡像文件,我們需要的是.bin結尾的,如圖4所示。

圖 4. 編譯生成的不同格式的鏡像文件

將生成的.bin文件復制到sblAppEx.exe所在根目錄下,即sblAppEx_1_02_00_00\bin。由于sblAppEx.exe自動識別的是blinky_backdoor_select_btn2650.bin,所以需要把剛生成的ble_simple_peripheral_cc2640r2lp_app_FlashROM_StackLibrary.bin改個名字。當然了,也可以通過修改sblAppEx.exe的源碼識別用戶所需的.bin,此處不再贅述。然后,按如下步驟操作:

1) DIO15接成高電平。

2) RESET。重新上電或者按LAUNCHPAD的RESET按鈕均可。

3) 在DOS界面選擇0,即XDS110 Class Application/User UART ,回車。不同電腦可能會識別不同的串口號,這個無關緊要。

如果設置都正確的話Bootloader開始工作,經過Erasing flash,Writing flash,Calculating CRC on device,Comparing CRC這一系列過程后,Bootloader更新程序就完成了,最后系統會Reset device,整個流程如圖5所示。

圖 5. 執行正確的Bootloader的流程

一路OK后,此時的LAUNCHPAD里就是新的固件所示現的功能啦!如果配置不對的話,這個App是會閃退的,無法完成Bootloader的功能。如果不想用板載的XDS110,用自己的USB轉串口工具也是可以的,只不過不會跳出那么多跟XDS110有關的COM ports了,取而代之的是USB Serial Ports,串口號不用太糾結。

圖 6. USB轉串口工具的COM ports

當然啦,有可能你雙擊sblAppEx.exe來執行,但執行完一系列操作后會自動退出,看不到任何Log,解決的方法是不要雙擊進入程序,在windows的run里用cmd命令,如圖7所示,切到sblAppEx.exe所在文件夾就可以啦。如果某個環節遇到任何問題,Bootloader就會中斷,DOS界面會提示ERROR,具體可以對照sblAppEx.exe的源碼進行檢查,此處不再贅述。需要注意的是,如果不用Bootloader模式,Bootloader backdoor的引腳一定要接固定電平,此處DIO15一定要接低電平,不能懸空。

圖 7. 從Windows的cmd進入程序可防止自動退出

重要的事再說一遍,sblAppEx.exe是開源的,用戶可以根據需要修改源碼實現定制化的功能,比如UART波特率和上文提到的鏡像名稱等等。

是不是產線上用起來既簡單又方便呢,基本是一鍵式下載,既高效又防止誤操作。當然啦,還可以適當修改一下下載工具和上位機軟件,就可以實現多個器件的下載。打開你的環境,拿起你的開發板,來試一下吧!

審核編輯:何安

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

    關注

    0

    文章

    341

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CC2640 SimpleLink? Bluetooth? 無線MCU:特性、應用與設計指南

    CC2640 SimpleLink? Bluetooth? 無線MCU:特性、應用與設計指南 在當今的物聯網時代,低功耗、高性能的無線微控制器(MCU)對于各種應用的實現至關重要。德州儀器(TI
    的頭像 發表于 01-05 15:20 ?535次閱讀

    CC3220R/S/SF:開啟物聯網設計新征程

    CC3220R/S/SF:開啟物聯網設計新征程 在物聯網蓬勃發展的今天,無線微控制器的需求日益增長。德州儀器(TI)的SimpleLink? Wi-Fi? CC3220x系列設備,以其卓越的性能和豐
    的頭像 發表于 01-05 14:15 ?434次閱讀

    CC2640R2F:低功耗藍牙無線MCU的卓越之選

    CC2640R2F:低功耗藍牙無線MCU的卓越之選 在當今的電子設備領域,低功耗、高性能的無線通信解決方案需求日益增長。德州儀器(TI)的CC2640R2F SimpleLink?藍牙5.1低功耗
    的頭像 發表于 01-05 14:15 ?717次閱讀

    CC3220R/S/SF:物聯網無線MCU的卓越之選

    CC3220R/S/SF:物聯網無線MCU的卓越之選 在物聯網(IoT)蓬勃發展的今天,無線連接和安全性能成為了設備設計的關鍵要素。德州儀器(TI)推出的CC3220R、CC
    的頭像 發表于 01-05 14:15 ?568次閱讀

    探索CC1312R:高性能Sub - 1 GHz無線MCU的卓越之旅

    探索CC1312R:高性能Sub - 1 GHz無線MCU的卓越之旅 在當今的電子世界中,無線通信技術的發展日新月異,對于高性能、低功耗的無線微控制器(MCU)的需求也日益增長。德州儀器(TI
    的頭像 發表于 01-05 13:55 ?544次閱讀

    深入剖析CC2640R2F - Q1:汽車級藍牙低能耗無線MCU的卓越之選

    深入剖析CC2640R2F - Q1:汽車級藍牙低能耗無線MCU的卓越之選 在物聯網和汽車電子飛速發展的今天,對于無線微控制器(MCU)的性能、功耗和可靠性提出了更高要求。CC2640R2
    的頭像 發表于 01-05 13:55 ?316次閱讀

    深入解析CC2642R:低功耗藍牙無線MCU的卓越之選

    深入解析CC2642R:低功耗藍牙無線MCU的卓越之選 在當今的電子領域,低功耗、高性能的無線微控制器(MCU)需求日益增長。TI的SimpleLink? CC2642R就是這樣一款出色的2.4
    的頭像 發表于 01-05 11:40 ?664次閱讀

    CC2640R2L:低功耗藍牙5.1無線MCU的卓越之選

    CC2640R2L:低功耗藍牙5.1無線MCU的卓越之選 在當今的電子設計領域,低功耗、高性能的無線微控制器(MCU)需求日益增長。TI的CC2640R2L作為一款支持藍牙5.1低功耗的無線MCU
    的頭像 發表于 12-22 11:25 ?1986次閱讀

    探索CC2674R10:高性能多協議無線MCU的卓越之選

    探索CC2674R10:高性能多協議無線MCU的卓越之選 在當今的電子世界中,無線通信技術的發展日新月異,對高性能、低功耗的無線微控制器(MCU)的需求也與日俱增。TI的SimpleLink
    的頭像 發表于 12-22 10:10 ?986次閱讀

    CC2340R:2.4GHz無線MCU的卓越之選

    CC2340R:2.4GHz無線MCU的卓越之選 在當今的物聯網(IoT)時代,無線通信技術的發展日新月異,低功耗、高性能的無線微控制器(MCU)成為了眾多應用領域的核心需求。德州儀器(TI)推出
    的頭像 發表于 12-22 10:05 ?1553次閱讀

    深度剖析CC2340R系列2.4GHz無線MCU:特性、應用與設計要點

    cc2340r2.pdf 特性亮點 強大的硬件配置 處理器與內存 :CC2340R采用優化的48MHz Arm? Cortex? - M0+處理器
    的頭像 發表于 12-22 09:55 ?754次閱讀

    深入剖析CC1354R10:高性能多頻段無線MCU的卓越之選

    深入剖析CC1354R10:高性能多頻段無線MCU的卓越之選 在當今的物聯網(IoT)領域,無線微控制器(MCU)的性能和功能對于各類應用的成功至關重要。CC1354R10作為一款高性能的多頻段無線
    的頭像 發表于 12-22 09:50 ?685次閱讀

    深度剖析CC2755RCC2755P:2.4GHz無線MCU的卓越之選

    深度剖析CC2755RCC2755P:2.4GHz無線MCU的卓越之選 在當今的電子世界中,無線通信技術的發展日新月異,低功耗、高性能的無線微控制器(MCU)成為了眾多應用領域的核心需求。今天
    的頭像 發表于 12-22 09:35 ?1037次閱讀

    Texas Instruments CC2340R2 SimpleLink?無線微控制器數據手冊

    Texas Instruments CC2340R2 SimpleLink?無線微控制器(MCU)是一款2.4GHz無線設備,專為藍牙^?^ 低功耗和Zigbee^?^ 而設計。這款無線MCU設計為
    的頭像 發表于 08-02 09:19 ?1497次閱讀
    Texas Instruments <b class='flag-5'>CC2340R2</b> SimpleLink?無線微控制器數據手冊

    合泰HOLTEK BH66R2640體脂DFE MCU產品特性介紹

    產品介紹 Holtek新推出BH66R2640?Body Fat DFE (Digital Front End) OTP MCU,整合體脂交流阻抗測量與24-bit Delta Sigma A/D
    的頭像 發表于 04-01 16:47 ?1129次閱讀