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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

CC1310片內固件升級的工程編譯

星星科技指導員 ? 來源:TI ? 作者:LOUIS LU ? 2023-04-06 09:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

OAD即Over the Air Download,是通過無線的方式遠程更新固件的一種方法。On chip,就是片上, 升級的對象不需要外掛Flash, 通過芯片片內Flash完成新固件存儲及老固件向新固件的切換。On chip OAD方案因為不需要外部接口就能夠實現固件的更新,在傳感器智能門鎖,電力監控等無線應用廣受歡迎。

TI新發布的CC1310 片內OAD工程里, 由于很多細節沒有說明, 用戶使用過程可能出錯. 這里將結合TI CC1310 SDK 1.60.00.21 版本, 講解在工程編譯和OAD測試過程中的注意事項.

試驗提前準備:

兩個CC1310的Launchpad評估板

CC1310 軟件開發包:simplelink_cc13x0_sdk_1_60_00_21

工具:Uniflash燒寫工具

PYTHON環境及工具:PYTHON 2.7

CC1310 片內OAD例程編譯

CC1310 片內OAD的例程在上述SDK的文件夾examplesrtosCC1310_LAUNCHXLeasylink中, 對應有采集器(rfWsnConcentratorOadServer)和節點(rfWsnNodeIntFlashOadClient)兩個例程; 我們將其導入到CCS(7.0 以上版本)中.

這里需要注意的第一個點,在SDK的文文件夾examplesrtosCC1310_LAUNCHXLeasylinkhexfilesonChipOad中已經有已經編譯好的固件, 這個固件目前不能夠和工程編譯的固件混合使用. 你可以只使用已經編譯好的進行測試,或者只使用工程編譯好的.

我們首先編譯好采集器工程(無需任何修改),并將工程下載到CC1310 Launchpad 1 中;

接著, 按照工程內的README.md指導(第136~145行)設置,我們編譯節點工程, 發現報錯,如下圖, 錯誤原因可使用存儲不足;

poYBAGQuHx-AEhssAACOAgihwhc984.png

針對這個,我們可以從工程編譯生成的.map文件察看具體的存儲的細節,可以看出是.const太大導致。

pYYBAGQuHyCAYIjLAAAqQV6Sq8Q747.png

我們如果將之前工程設置的FEATURE_OAD_ONCHIP取消,重新編譯,察看正常的.map文件, 可以發現主要占用.const空間的主要被smartrf_settings_predefined.obj占用,經過檢查后,發現主要是無線RF的補丁導致,而這部分補丁針對我們對OAD的驗證沒有關系。

poYBAGQuHyGAJd3dAABiHM1Ousc334.png

恢復到README.MD的工程設置后,打開工程目錄文件夾smartrf_settings中的smartrf_settings_predefined.c,將下面四個RF_Mode變量修改如下, 接著重新編譯工程。

RF_Mode RF_prop_lrm =

{

.rfMode = RF_MODE_PROPRIETARY_SUB_1,

.cpePatchFxn = 0,

.mcePatchFxn = 0,

.rfePatchFxn = 0,

};

RF_Mode RF_prop_ook =

{

.rfMode = RF_MODE_PROPRIETARY_SUB_1,

.cpePatchFxn = 0,

.mcePatchFxn = 0,

.rfePatchFxn = 0,

};

RF_Mode RF_prop_hsm =

{

.rfMode = RF_MODE_PROPRIETARY_SUB_1,

.cpePatchFxn = 0,

.mcePatchFxn = 0,

.rfePatchFxn = 0,

};

RF_Mode RF_prop_sl_lr =

{

.rfMode = RF_MODE_PROPRIETARY_SUB_1,

.cpePatchFxn = 0,

.mcePatchFxn = 0,

.rfePatchFxn = 0,

};

成功編譯,從下圖可以看到編譯后的程序大小為57K,滿足不能大于60K的限制。

pYYBAGQuHyGAFPsIAAAqhMQv_fE969.png

這里需要說明的一點是,README.MD里面說的另外一點nodeFwVersion修改應該是在oad_client.c而不是NodeTask.c中;

CC1310 片內OAD例程BIN固件生成及加載測試

因為這個工程的設置是針對IMAGE文件,如果直接下載到芯片是沒辦法正常運行的(因為芯片的復位向量沒有可執行程序,需要借助BIM來跳到IMAGE程序入口),需要將編譯好的固件和Boot管理的BIM固件結合在一起,步驟如下

先mergy BIM和節點固件(請將兩個固件拷貝至python的目錄后執行)

python /usr/bin/hexmerge.py -o rfWsnNodeIntFlashOadClient_CC1310_LAUNCHXL_all_v1.hex "--overlap=error" rfWsnNodeIntFlashOadClient_CC1310_LAUNCHXL_tirtos_ccs.hex bim_intflash_cc1350lp.hex

接著,因為BIM需要檢驗IMAGE的CRC文件,需要通過下面的命令將生成的hex轉換成bin。(需要下載安裝一個crc計算組件crcmod https://pypi.python.org/pypi/crcmod/1.7#downloads)

python oad_image_tool_13x0.py -t onchip -i production -v 0x0100 -m 0x1000 -ob rfWsnNodeIntFlashOadClient_CC1310_LAUNCHXL_all_v1.bin rfWsnNodeIntFlashOadClient_CC1310_LAUNCHXL_all_v1.hex

我們通過Uniflash, 把bin文件下載到節點Launchpad 2后,節點固件就可以正常工作了。你可以看到Launchpad的指示燈閃爍,從Launchpad 2串口可以看到SCE的ADC信息。我們開啟采集器launchpad 1,可以看到節點已經和采集器建立通訊,可以正常工作了。

這里還需要注意的是通過oad_image_tool_13x0.py -v生成的版本號只是采集器端Available FW顯示的版本號,不是實際的固件版本號。

下一步是將升級需要的程序加載到采集器端。首先,我們需要根據README.MD的說明設置成IMAGE B。 接著,通過上述的python工具,將編譯生成的.hex 文件轉換成.bin文件。注意oad_image_tool_13x0.py 的-m參數需要設置成0x10000。之后,我們在采集器評估板右鍵選擇Update available FW, 再同時按下左鍵和右鍵,采集器進入加載固件界面,如下:

poYBAGQuHyOAUBmGAAMZq1zFRcQ218.png

接著斷開采集器的串口,我們將結合PYTHON把需要更新的節點固件傳遞到采集器的外部Flash。 這里,因為PYTHON的腳本是針對LINUX寫的,為了在WINDOWS能夠工作,請先安裝模塊pyserial并修改腳本oad_write_bin.py (目錄C:tisimplelink_cc13x0_sdk_1_60_00_21toolseasylinkoad)。PYTHON的安裝不在文檔討論范圍。Pyserial的下載安裝可參考http://blog.csdn.net/oxp7085915/article/details/52191698

修改后的腳本參考如下(已經用黃色MARK)

#!/usr/bin/python

import serial, sys, io, os

import serial.tools.list_ports

plist =list(serial.tools.list_ports.comports())

if len(plist) <= 0:

print "The Serial port can't find!"

else:

plist_0 =list(plist[0])

port0 = plist_0[0]

file = sys.argv[1]

斷開原串口助手(采集器所連接)打開命令行,執行oad_write_bin.py腳本,將新生成的節點固件bin文件傳遞給采集器。可以看到傳輸提示。等待傳輸完成。

C:Python27>python C:tisimplelink_cc13x0_sdk_1_60_00_21toolseasylinkoadoad

_write_bin.py C:tisimplelink_cc13x0_sdk_1_60_00_21examplesrtosCC1310_LAUNCHXLeasylinkhexfilesonChipOadccsrfWsnNodeIntFlashOadClient_CC1310_LAUNCHXL_app_v2.bin

poYBAGQuJ96AVXgnAAA8Ve-j_iA861.png

pYYBAGQuHySAGURSAAAa5e4Bfp8628.png

傳輸完成后,重新打開串口連接采集器串口,按Launchpad右鍵出現Update Available Firmware后,再同按左鍵同時按下右鍵,然后可看到V02的固件已經可供使用。

接下來通過采集器Launchpad右邊按鍵選擇Update Node Firmware,再按左鍵同時按下右鍵執行選擇。可以看到升級開始和完成。

poYBAGQuHyWAV1pUAAL_kHFdI7U964.png

pYYBAGQuJ-yAD3vPAAMbm9l7skM289.png

升級完成后,通過Send Fw Ver Req可以看到固件已經從V01更新到V02了。

總結

本文,針對TI最新發布的CC1310片內OAD解決方案,描述了在對應工程編譯,鏈接,測試過程中需要注意到的點,并成功實現了片內OAD功能。

審核編輯:郭婷

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

    關注

    2567

    文章

    53099

    瀏覽量

    768422
  • 芯片
    +關注

    關注

    460

    文章

    52575

    瀏覽量

    442140
  • FlaSh
    +關注

    關注

    10

    文章

    1681

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CC1310DC/DC轉換器可以關閉嗎?

    請問,CC1310DC-DC轉換器輸出的電壓電流參數在哪可以查到,DC/DC轉換器可以關閉嗎?芯片進入休眠或SHUTDOWN后,DC
    發表于 12-08 12:17

    請問CC1310DC/DC轉換器可以關閉嗎?

    請問,CC1310DC-DC轉換器輸出的電壓電流參數在哪可以查到,DC/DC轉換器可以關閉嗎?芯片進入休眠或SHUTDOWN后,DC
    發表于 08-08 07:09

    請問CC1310支持OTA升級嗎?

    請教各位,CC1310支持OTA升級嗎或者支持類似的固件升級功能嗎?謝謝
    發表于 03-26 10:18

    CC1310固件升級工程編譯教程

    向新固件的切換。On chip OAD方案因為不需要外部接口就能夠實現固件的更新,在傳感器,智能門鎖,電力監控等無線應用廣受歡迎。在TI新發布的CC1310
    發表于 11-11 07:56

    CC1310固件升級工程編譯詳解

    OAD( ), 即Over the Air Download,是通過無線的方式遠程更新固件的一種方法。On chip,就是上, 升級的對象不需要外掛Flash, 通過芯片片Flas
    的頭像 發表于 06-17 04:56 ?6030次閱讀
    <b class='flag-5'>CC1310</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><b class='flag-5'>編譯</b>詳解

    CC1310技術手冊.pdf下載

    CC1310技術手冊
    發表于 04-18 15:42 ?30次下載

    CC1310硬件射頻:CC1310產品展示介紹

    CC1310硬件射頻從設計到成型之一-CC1310產品一覽
    的頭像 發表于 08-16 01:05 ?5726次閱讀

    關于CC1310的組成及工作原理的介紹

    CC1310軟件速成之一 – CC1310架構及工作原理
    的頭像 發表于 08-06 00:15 ?1.4w次閱讀

    CC1310軟件速成:開始CC1310工程

    CC1310軟件速成之三 – 現在開始你的第一個CC1310工程
    的頭像 發表于 08-02 00:12 ?1.1w次閱讀

    關于CC1310布板及測試介紹

    CC1310硬件射頻從設計到成型之三-CC1310布板及測試簡介
    的頭像 發表于 08-06 00:03 ?6061次閱讀

    關于CC1310的特點及應用介紹

    CC1310詳細介紹以及軟件開發教程
    的頭像 發表于 08-02 00:07 ?9268次閱讀
    關于<b class='flag-5'>CC1310</b>的特點及應用介紹

    CC1310的新功能、特性與設計開發

    本課程詳細介紹CC1310的新功能與特性,以及軟硬件開發和資源。對TI的sub-1G 產品做了概括性介紹;對CC1310的硬件開發做了剖析:原理圖、eBom、layout、調試、天線等;并對中國頻段
    的頭像 發表于 05-29 08:59 ?2739次閱讀
    <b class='flag-5'>CC1310</b>的新功能、特性與設計開發

    基于CC1310的無線MCU產品原理圖設計及器件選型

    CC1310硬件射頻從設計到成型之二-CC1310原理圖設計及器件選型
    的頭像 發表于 04-23 06:26 ?4701次閱讀
    基于<b class='flag-5'>CC1310</b>的無線MCU產品原理圖設計及器件選型

    DreamLNK CC1310模塊新技術全面升級內容

    CC1310是TI在SimpleLink超低功耗平臺系列最后發布的一個產品。駿曄科技根據芯片方案自主研發了DL-CC1310-B串口透傳模塊,與行業其他品牌CC1310產品不同,駿曄本次技術革新迭代
    發表于 06-10 16:02 ?971次閱讀

    CC1310固件升級工程編譯

    CC1310固件升級工程編譯
    發表于 11-01 08:26 ?1次下載
    <b class='flag-5'>CC1310</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><b class='flag-5'>編譯</b>
    主站蜘蛛池模板: chinese极品嫩模videos | 久99视频精品免费观看福利 | YY600800新视觉理论私人 | 狠狠狠的在啪线香蕉 | 国产精品www视频免费看 | 久久九九青青国产精品 | 99pao成人国产永久免费视频 | 久久综合色一综合色88中文 | 善良的小峓子2在钱免费中文字 | 毛片基地看看成人免费 | 碰超成人在线公开免费视频 | 色偷偷777 | 午夜色情影院色a国产 | 永久免费在线观看视频 | 亚洲欧美日韩在线观看一区二区三区 | 欧美人成在线观看ccc36 | 大相蕉伊人狼人久草av | 暖暖免费 高清 日本社区中文 | 一区二区视频在线观看高清视频在线 | 中国女人内谢69xxxxxx直播 | 97人妻无码AV碰碰视频 | 欧美互交人妖247 | 亚洲精品高清中文字幕完整版 | 成人区在线观看免费视频 | RUNAWAY韩国动漫免费官网版 | 涩涩视频在线看 | 亚洲精品久久久WWW游戏好玩 | 无套内谢大学生A片 | 亚洲XXX午休国产熟女屁 | 久久电影精品久久99久久 | 国产AV99激情久久无码天堂 | 中文无码乱人伦中文视频播放 | 黄色三级视频在线观看 | 亚洲综合香蕉在线视频 | 99精品视频在线观看免费播放 | 阿离被扒开双腿疯狂输出 | 国产午夜久久影院 | 亚洲精品中文字幕一二三四区 | 99热这里只就有精品22 | 国产午夜精AV在线麻豆 | 亚洲.欧美.中文字幕在线观看 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品