
作者:阿裡雲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,效果如下圖所示:
本文所涉及到的代碼在 這裡 可以找到。
二、準備工作
pca10040開發闆是由Nordic出品的一款搭載
nRF52832的開發闆,闆載調試接口為jlink接口,可以通過jlink接口實作image下載下傳,調試程式。
本示例使用pca10040開發闆作為示例,實作通過
aos upload
指令調用jlink的程式下載下傳image到pca10040上,支援windows、linux以及macOS。
準備工作:
本功能隻适配AliOS-Things 2.x.x版本及以後版本,1.x.x版本目前不支援。
- 參考 AliOS Things 環境配置 安裝好AliOS Things的開發環境。
- 下載下傳JLink執行程式并配置好環境變量,具體請參考 下載下傳jlink并配置環境變量
- 更新aos-cube為最新版本:
pip2 install -U aos-cube
三、編寫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']
一定要是AliOS-Things/board/下面對應的board名稱。
pca10040
其中
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 toPath
environment variable 請注意JLink預設的bin目錄中的 JLink_V640
,會根據不同的jlink版本會有所不同。設定完Path環境變量需要重新開機cmd、bash、vscode等,最好重新開機電腦。
windows環境下的JLink Commander名稱為:
JLink.exe
- linux/macOS環境配置
linux/macOS環境下的JLink Commander名稱為:
JLinkExe
六、參考文檔
“ 提供全面,高效和穩定的系統鏡像、應用軟體下載下傳、域名解析和時間同步服務。”