简介: 本文主要为大家讲解如何进行 AliOS Studio 烧录。


AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录_开发板

AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录_ios_02

作者:阿里云AIoT 


一、简介

aos-cube​是AliOS-Things项目开发管理工具(简写命令为aos),具有以下功能:


  • 编译代码、Image下载、板子调试。
  • 创建模板工程,基于模板做再次开发。
  • 支持组件化,获取组件信息,组件的自由组合,满足业务场景的不同需求。


如何安装aos-cube请参考aos-cube安装。


在​​AliOS-Things 2.x.x​​版本之后,aos-cube提供了一套简单易懂的接口可以让开发者很容易适配aos,达到​​aos upload​​指令下载image,​​aos debug​​指令启动调试功能。

本文简单介绍一下如何让​​aos upload​​指令支持你的开发板下载,从而在AliOS-Studio中点击upload按钮即可立即下载AliOS-Things编译好的binary,效果如下图所示:


AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录_开发板_03

AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录_ios_02


本文所涉及到的代码在这里可以找到。



二、准备工作

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/@TARGET@.bin',
'-p', '0x00010000'
],
}
flash_configs['pca10040'] = pca10040

AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录_ios_02


注: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

AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录_ios_02

可以看到在​​build/site_scons/upload​​​目录下有生成​​pca10040.json​​文件,内容如下:

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

AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录_ios_02


四、最终效果

aos upload helloworld@pca10040

AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录_ios_02

或者点击AliOS Studio的upload按钮启动下载。


五、其他


下载JLink并配置环境变量

JLink软件包下载地址。请分别下载对应开发环境的软件包。


  • windows环境配置

windows环境下,需要把JLink的bin目录添加到Path环境变量,JLink 默认的bin目录为:​​C:\Program Files (x86)\SEGGER\JLink_V640​​​


请注意JLink默认的bin目录中的​​JLink_V640​​,会根据不同的jlink版本会有所不同。设置完Path环境变量需要重启cmd、bash、vscode等,最好重启电脑。


windows环境下的JLink Commander名称为:​​JLink.exe​​。


  • linux/macOS环境配置

linux/macOS环境下的JLink Commander名称为:​​JLinkExe​​。