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

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

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

3天內不再提示

工程編譯和OAD測試過程中的注意事項

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

掃碼添加小助手

加入工程師交流群

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

在TI新發布的CC1310 片內OAD工程里, 由于很多細節沒有說明, 用戶使用過程可能出錯. 這里將結合TI CC1310 SDK 1.60.00.21 版本(http://www.ti.com.cn/tool/cn/simplelink-cc13x0-sdk), 講解在工程編譯和OAD測試過程中的注意事項.

試驗提前準備:

兩個CC1310的Launchpad評估板(http://www.ti.com.cn/tool/cn/LAUNCHXL-CC1310 )

CC1310 軟件開發包:simplelink_cc13x0_sdk_1_60_00_21(http://www.ti.com.cn/tool/cn/simplelink-cc13x0-sdk )

工具:Uniflash燒寫工具(http://www.ti.com.cn/tool/cn/UNIFLASH )

串口工具:HTerm

PYTHON環境及工具:PYTHON 2.7

CC1310片內OAD例程編譯

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

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

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

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

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

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

恢復到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的限制。

這里需要說明的一點是,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, 再同時按下左鍵和右鍵,采集器進入加載固件界面,如下:

接著斷開采集器的串口,我們將結合PYTHON把需要更新的節點固件傳遞到采集器的外部Flash。 這里,因為PYTHON的腳本是針對LINUX寫的,為了在WINDOWS能夠工作,請先安裝模塊pyserial并修改腳本oad_write_bin.py (目錄C:\ti\simplelink_cc13x0_sdk_1_60_00_21\tools\easylink\oad)。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:\ti\simplelink_cc13x0_sdk_1_60_00_21\tools\easylink\oad\oad

_write_bin.py C:\ti\simplelink_cc13x0_sdk_1_60_00_21\examples\rtos\CC1310_LAUNCHXL\easylink\hexfiles\onChipOad\ccs\rfWsnNodeIntFlashOadClient_CC1310_LAUNCHXL_app_v2.bin

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

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

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

總結

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

審核編輯:何安淇

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

    關注

    31

    文章

    5688

    瀏覽量

    178780
  • 嵌入式處理
    +關注

    關注

    0

    文章

    341

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用熱電偶進行溫度測量時的注意事項

    為估算半導體器件的結溫,會對封裝表面溫度進行測量,但如果測量操作有誤,可能無法得到準確結果。本應用筆記將說明溫度測量過程中注意事項。此外,本應用筆記的內容不依賴于半導體器件的種類,具有普遍適用性。
    的頭像 發表于 02-05 14:40 ?381次閱讀

    頁面導入導出功能怎么用?如何快速合并兩個工程,復制粘貼注意事項

    頁面導入導出功能怎么用?如何快速合并兩個工程,復制粘貼注意事項
    發表于 01-28 15:17

    SMA彎公頭接線注意事項工程現場少踩坑的實用經驗

    本文從工程實操角度總結SMA彎公頭在接線與裝配過程中的關鍵注意事項,涵蓋線材匹配、工藝控制與安裝細節,幫助工程人員提升射頻系統的可靠性。
    的頭像 發表于 12-23 17:15 ?530次閱讀
    SMA彎公頭接線<b class='flag-5'>注意事項</b>|<b class='flag-5'>工程</b>現場少踩坑的實用經驗

    BNC轉接頭接線注意事項

    本文從工程角度總結BNC轉接頭接線過程中的關鍵注意事項,涵蓋阻抗匹配、接線規范、工藝選擇及檢測要點,幫助用戶避免常見接線問題。
    的頭像 發表于 12-19 14:04 ?401次閱讀
    BNC轉接頭接線<b class='flag-5'>注意事項</b>

    芯源的MCU使用電池過程中有哪些注意事項

    目前大多數MCU都是用電池進行供電,芯源的MCU使用電池過程中有哪些注意事項?應該如何設計電池供電呢?
    發表于 11-20 07:24

    CW32F030在使用注意事項有哪些?

    CW32F030在使用注意事項有哪些?
    發表于 11-18 06:20

    UPS不間斷電源在放電過程中注意事項

    聊在UPS在充放電過程中注意事項。 在進行放電之前,需要了解UPS電源大概能夠后備多長時間,以便在放電過程中做好準備,防止因放電到后備時間極限而導致負載宕機或設備損壞。 檢查電池狀態:如果可以看到UPS電池,應先目測電池是否有
    的頭像 發表于 10-11 11:33 ?643次閱讀
    UPS不間斷電源在放電<b class='flag-5'>過程中</b>的<b class='flag-5'>注意事項</b>

    滲壓計主要安裝步驟與注意事項有哪些

    在巖土工程安全監測系統,滲壓計的安裝質量直接決定監測數據的可靠性。規范的安裝流程不僅能夠確保測量精度,更是保障工程安全的重要前提。在滲壓計使用的過程中,安裝步驟與
    的頭像 發表于 09-25 15:57 ?648次閱讀
    滲壓計主要安裝步驟與<b class='flag-5'>注意事項</b>有哪些

    emWin AppWizard 開發注意事項有哪些?

    emWin AppWizard 開發注意事項
    發表于 09-04 06:18

    智多晶PLL使用注意事項

    在FPGA設計,PLL(鎖相環)模塊作為核心時鐘管理單元,通過靈活的倍頻、分頻和相位調整功能,為系統提供多路高精度時鐘信號。它不僅解決了時序同步問題,還能有效消除時鐘偏移,提升系統穩定性。本文將深入探討智多晶PLL在實際應用的關鍵
    的頭像 發表于 06-13 16:37 ?1574次閱讀
    智多晶PLL使用<b class='flag-5'>注意事項</b>

    IGBT器件的防靜電注意事項

    IGBT作為功率半導體器件,對靜電極為敏感。我將從其靜電敏感性原理入手,詳細闡述使用過程中防靜電的具體注意事項與防護措施,確保其安全穩定運行。
    的頭像 發表于 05-15 14:55 ?1827次閱讀

    設置射頻網絡分析儀的測試條件有哪些注意事項

    在40℃時損耗比25℃高0.06dB)。 優化建議: 在恒溫恒濕實驗室(25℃±1℃,濕度40%-60%)測試高精度器件。 3. 機械穩定性 注意事項測試過程中振動或移動可能
    發表于 05-06 16:02

    LCR測試儀的使用方法與注意事項

    LCR測試儀的使用方法、操作注意事項及常見故障處理,幫助讀者高效、安全地掌握這一儀器的使用技巧。 ? 二、LCR測試儀的基本使用方法 1. 準備階段 (1)設備檢查:確保測試儀電源線、
    的頭像 發表于 04-29 10:36 ?1.3w次閱讀
    LCR<b class='flag-5'>測試</b>儀的使用方法與<b class='flag-5'>注意事項</b>

    掃描電鏡的日常維護有哪些注意事項

    掃描電鏡日常維護的注意事項
    的頭像 發表于 03-24 11:38 ?1176次閱讀
    掃描電鏡的日常維護有哪些<b class='flag-5'>注意事項</b>?

    三一挖掘機一鍵啟動開關易壞的原因及更換注意事項

    的工具:準備好塑料撬棒和螺絲刀等工具。塑料撬棒可以避免在拆卸過程中損壞面板。 小心拆卸面板:在撬控裝飾面板時,要注意力度和角度,避免損壞面板。記錄各部件位置:在拆卸過程中,最好記錄
    發表于 03-12 09:29