亚洲这里只有精品,91av视频在线播放,中文字幕一区在线,精品国产日韩一区二区三区,欧美一区二区三区久久成人精品,国产在线无码视频,国产成人激情,国产成人精品无码一区二区三区免费,成人精品tv视频在线,国产精品无码一区二区夜夜

  • <del id="sweqc"><tfoot id="sweqc"></tfoot></del>
    
    
  • nRF52832等 nRF52系列SDK13固件升級:DFU詳細(xì)步驟

    2024-07-26 16:03:45 信馳達(dá)科技

    芯片型號:nRF52832

    模塊型號:RF-BM-ND04

    一.  以下是我測試的環(huán)境: 

    環(huán)境:win7,64位,IAR集成開發(fā)環(huán)境

    SdknRF5_SDK_13.0.0_04a0bfd

    協(xié)議棧:s132_nrf52_4.0.2_softdevice.hex

    Bootloader工程:secure_dfu_ble_s132_pca10040

    application工程:ble_app_buttonless_dfu_pca10040_s132

    硬件平臺:pca10040開發(fā)板

    二.  在做空中升級過程中可能遇到的問題

    1.缺少uECC.h文件

    2.缺少micro_ecc_lib_nrf52.lib文件

    3.出現(xiàn)報(bào)錯:#error "Debug public key not valid for production. Please see https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/README.md to generate it"

    4.升級過程中出現(xiàn):fw version錯誤

    三.  安裝所需的軟件

    1gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe:

    https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update

    根據(jù)提示安裝 4.9-2015-q3-update 版本的 GCC compiler toolchain for ARM

    2make-3.81.exe:

    http://gnuwin32.sourceforge.net/packages/make.htm

    3python-2.7.12.amd64.msi

    https://www.python.org/downloads/

    4nRFgo Studio

    主要提供nrfjprog.exemergehex.exe

    這兩個軟件在nRFgo Studio的安裝目錄下找到

    C:\Program Files (x86)\Nordic Semiconductor\nrf5x\bin

    安裝之后用cmd輸入nrfjprogmergehex,查看是否安裝可用

    無線通信方案廠商

    無線通信方案廠商

    (5)oreutils-5.3.0.exe:

    http://gnuwin32.sourceforge.net/packages/coreutils.htm

    四.  安裝步驟

    1.安裝編譯環(huán)境:

    (1)雙擊安裝make-3.81.exe ,

    (2)安裝coreutils-5.3.0.exe,

    (3)安裝gcc-arm-none-eabi-4_9-2015q3-20150921-win32.exe 

    把路徑Path : C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\bin;C:\Program Files (x86)\GnuWin32\bin添加到環(huán)境變量

    無線通信方案廠商  


    (4)安裝python-2.7.12.amd64.msi。

     雙擊python-2.7.12.amd64.msi安裝 ,安裝完畢后,把python的路徑加入到環(huán)境變量中

    C:\Python27\

    C:\Python27\Scripts

    進(jìn)入命令行窗口,并到Python路徑,輸入python -m pip install nrfutil等待安裝完成

      

    nrfutil會被安裝到C:\Python27\Scripts目錄下, 我安裝的nrfutil版本是3.3.0,后面安裝可能會更新,所以可能會遇到版本兼容問題。nrf studio的安裝目錄下也有這個軟件,可以拿來代替。


    2.解決缺少uECC.h文件問題

    (1)下載micro-ecc:

    直接用我下載好的或到官網(wǎng)下載micro-ecc :https://github.com/kmackay/micro-ecc

    注意:官網(wǎng)上下載的文件夾名稱的名字要改成micro-ecc

    (2)把micro-ecc文件夾復(fù)制到nRF5_SDK_13.0.0_04a0bfd\external\micro-ecc目錄下

      無線通信方案廠商

    (3)打開micro-ecc目錄可以看見uECC.h

      無線通信方案廠商

    3.解決缺少micro_ecc_lib_nrf52.lib的問題

    (1)方法1:雙擊批處理文件nRF5_SDK_13.0.0_04a0bfd\external\micro-ecc\build_all.bat即可生成lib文件;  

    (2)方法2:也可以進(jìn)入nRF5_SDK_14.0.0_3bcc1f7\external\micro-ecc\nrf52_keil\armgcc路徑,輸入make 生成lib文件。

      

    以上兩種方法都是用到了micro-ecc\nrf52_keil\armgcc\makefile

    把生成的micro_ecc_lib_nrf52.lib添加到工程即可。

    4. 解決編譯報(bào)錯問題

    編譯過程中會出現(xiàn)報(bào)錯:#error "Debug public key not valid for production. Please see https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/README.md to generate it",看報(bào)錯就知道這是缺少秘鑰造成的,這個故意報(bào)錯,需要大家添加一個秘鑰上去。

    打開cmd命令行,鍵入一下指令

    nrfutil.exe keys generate private.pem

    nrfutil.exe keys display --key pk --format code private.pem --out_file public_key.c 

    這樣生成的秘鑰就保存在 public_key.c中,打開public_key.c。把數(shù)組pk復(fù)制到報(bào)錯的位置。

      無線通信方案廠商

    5.  燒錄協(xié)議棧、應(yīng)用層、bootloader

    (1)先要生成bootloader setting, 這個文件包含了app version ,bootloader version , hw version, 等信息。

    執(zhí)行nrfutil.exe settings generate --family NRF52 --application nrf52832_xxaa_app.hex --application-version 3 --bootloader-version 2 --bl-settings-version 1 bootloader_settings.hex

      無線通信方案廠商

     (2)合并所有文件,注意自己的hex文件名。

    合并BootLoader文件和softdevice文件:mergehex.exe --merge nrf52832_xxaa_bootloader.hex s132_nrf52_4.0.2_softdevice.hex --output production_final1.hex 

    將上一個合并文件與app程序合并:mergehex.exe --merge production_final1.hex nrf52832_xxaa_app.hex --output production_final2.hex

    將上一個合并文件與配置settings 文件合并:mergehex.exe --merge production_final2.hex bootloader_settings.hex --output production_final.hex

    刪除:del production_final1.hex

    刪除:del production_final2.hex

      

    最后生成燒錄文件production_final.hex

    (3)燒錄一個文件即可,燒錄前先用nRFgo Studio擦除芯片。

    nrfjprog -f NRF52 --eraseall

    nrfjprog -f NRF52 --program "production_final.hex" --verify

    nrfjprog -f NRF52 --reset

      無線通信方案廠商


      這時打開手機(jī)app nRF Connect即可看到程序中設(shè)置的藍(lán)牙名稱的設(shè)備了。

    (4)打包OTA所需的zip文件。這里只介紹升級應(yīng)用層,至于升級bootloader和協(xié)議棧下次有空再研究。

    執(zhí)行nrfutil pkg generate --hw-version 52 --sd-req 0x98 --application-version 0xff --application nrf52832_xxaa_app.hex --key-file private.pem nrf52832_xxaa_app.zip

    --sd-req 0x98 : 0x98是 協(xié)議棧版本,如下圖所示

      無線通信方案廠商

    --application-version 0xff :0xff是應(yīng)用層版本。 

     --key-file private.pem 這個是"解決編譯報(bào)錯問題 "中生成的秘鑰文件。


    6.  手機(jī)空中升級的實(shí)現(xiàn)

    (1)連接藍(lán)牙

      無線通信方案廠商

    (2)點(diǎn)擊圓圈處

      無線通信方案廠商

    (3)發(fā)送請求,設(shè)備將復(fù)位并進(jìn)入bootloader狀態(tài)。

      無線通信方案廠商

    (4)發(fā)送完以后,可以看到名為DFUTARG的設(shè)備,說明此時設(shè)備進(jìn)入bootloader 狀態(tài)。連接藍(lán)牙DfuTarg設(shè)備。

      無線通信方案廠商

    (5)點(diǎn)擊右上角的DFU按鈕,選擇zip文件,開始升級

    無線通信方案廠商無線通信方案廠商無線通信方案廠商


           

    快速購買樣品

    人妻无码一区二区三区久| 亚洲综合一区二区三区无码| 双乳奶水饱满少妇呻吟免费看| 成人在线观看国产精品| 国产成人精品日本亚洲语言| 蜜臀国产在线| 加勒比综合网| 99久久精品国产免费| 在线观看91精品国产性色| 亚洲欧美日韩一区| 最大胆裸体人体牲交免费| 精品人妻中文字幕有码在线| 午夜福利片国产精品张柏芝| 色狠狠久久av五月综合| 真人作爱试看120秒| 久久亚洲春色中文字幕久久久| 亚洲av无码久久忘忧草| 久久久精品国产免大香伊| 国产黄a三级三级三级| 国产日韩精品一区二区三区在线| 欧美精品免费在线| 97精品国产91久久久久久| 亚洲欧美另类久久久精品能播放的| 色综合色综合久久综合频道88| 久久精品国产亚洲av天海翼| 亚州视频一区| 免费人成A大片在线观看| 国产在线视频一区二区三区| 国产女人好紧好爽| 欧美熟videos肥婆| 鲁大师在线影院免费观看| 久久亚洲av成人无码| 日本午夜精品一区二区三区电影| 芳芳好紧好滑好湿好爽| 在线天堂资源www在线中文| 国产免费av片在线无码免费看| 日本丰满少妇xxxx| 日韩成人大屁股内射喷水| 热の无码热の有码热の综合| 国产精品免费| 成人伊人青草久久综合网|