天天看點

AliOS Things 開發:讓你的開發闆支援 AliOS Studio 燒錄

AliOS Things 開發:讓你的開發闆支援 AliOS Studio 燒錄

作者:阿裡雲AIoT 

鏡像下載下傳、域名解析、時間同步請點選

阿裡巴巴開源鏡像站

一、簡介

aos-cube

AliOS-Things

項目開發管理工具(簡寫指令為aos),具有以下功能:

  • 編譯代碼、Image下載下傳、闆子調試。
  • 建立模闆工程,基于模闆做再次開發。
  • 支援元件化,擷取元件資訊,元件的自由組合,滿足業務場景的不同需求。
如何安裝aos-cube請參考 aos-cube安裝

AliOS-Things 2.x.x

版本之後,

提供了一套簡單易懂的接口可以讓開發者很容易适配aos,達到

aos upload

指令下載下傳image,

aos debug

指令啟動調試功能。

本文簡單介紹一下如何讓

aos upload

指令支援你的開發闆下載下傳,進而在

AliOS-Studio

中點選upload按鈕即可立即下載下傳AliOS-Things編譯好的binary,效果如下圖所示:

AliOS Things 開發:讓你的開發闆支援 AliOS Studio 燒錄
本文所涉及到的代碼在 這裡 可以找到。

二、準備工作

pca10040開發闆

是由Nordic出品的一款搭載

nRF52832

的開發闆,闆載調試接口為jlink接口,可以通過jlink接口實作image下載下傳,調試程式。

本示例使用pca10040開發闆作為示例,實作通過

aos upload

指令調用jlink的程式下載下傳image到pca10040上,支援windows、linux以及macOS。

準備工作:

本功能隻适配AliOS-Things 2.x.x版本及以後版本,1.x.x版本目前不支援。

三、編寫upload指令配置檔案

aos upload

會調用upload的配置檔案來實作具體的image燒錄過程,我們需要編寫這個配置檔案來達到燒錄目的,

aos upload

目前已經支援的開發闆可以參考

,同時,開發者也可以貢獻自己适配好的json配置檔案到AliOS-Things中。

AliOS-Things

的源碼裡面提供了

build/site_scons/gen_upload_configs.py

腳本用來根據填寫的内容自動生成json配置檔案,具體說明請參考

,本示例是參考該規則進行pca10040開發闆适配的。

1. 添加pca10040 upload指令:

按照

aos指令适配

的規則給

gen_upload_configs.py

添加如下内容:

registry_board = {
    ......
    'pca10040': ['pca10040.json'],
    ......
}
pca10040 = {
'cmd': [
    'python',
    '@AOSROOT@/build/site_scons/jlink.py',
    '-d', 'nRF52840_xxAA',
    '-i', 'swd',
    '-f', '@AOSROOT@/out/@TARGET@/binary/@[email protected]',
    '-p', '0x00010000'
],
}
flash_configs['pca10040'] = pca10040           
注:registry_board中的

pca10040

flash_configs['pca10040']

裡面的

pca10040

一定要是AliOS-Things/board/下面對應的board名稱。

其中

jlink.py

腳本是一個專門為

aos upload

編寫的python腳本,位于

build/site_scons

中,主要功能是在out目錄下生成對應裝置的jlink commands檔案,并啟動jlink下載下傳,

jlink.py下載下傳位址

2. 生成對應的json配置檔案:

運作

gen_upload_configs.py

可以自動生成json配置檔案:

$ cd build/site_scons
$ python ./gen_upload_configs.py           

可以看到在

build/site_scons/upload

目錄下有生成

pca10040.json

檔案,内容如下:

{
    "cmd": [
        "python",
        "@AOSROOT@/build/site_scons/jlink.py",
        "-d",
        "nRF52840_xxAA",
        "-i",
        "swd",
        "-f",
        "@AOSROOT@/out/@TARGET@/binary/@[email protected]",
        "-p",
        "0x00010000"
    ]
}           

四、最終效果

aos upload helloworld@pca10040           

或者點選AliOS Studio的upload按鈕啟動下載下傳。

五、其他

下載下傳JLink并配置環境變量

JLink軟體包

下載下傳位址

。請分别下載下傳對應開發環境的軟體包。

  • windows環境配置

windows環境下,需要把JLink的bin目錄添加到Path環境變量,JLink 預設的bin目錄為:

C:\Program Files (x86)\SEGGER\JLink_V640

,具體如何配置Path環境變量請參考:

How to add a folder to

Path

environment variable
請注意JLink預設的bin目錄中的

JLink_V640

,會根據不同的jlink版本會有所不同。設定完Path環境變量需要重新開機cmd、bash、vscode等,最好重新開機電腦。

windows環境下的JLink Commander名稱為:

JLink.exe

  • linux/macOS環境配置

linux/macOS環境下的JLink Commander名稱為:

JLinkExe

六、參考文檔

提供全面,高效和穩定的系統鏡像、應用軟體下載下傳、域名解析和時間同步服務。”