本文来自于【阿里云官方镜像站:https://developer.aliyun.com/mirror/?utm_content=g_1000307095 】
原文链接:https://developer.aliyun.com/article/744553?spm=a2c6h.12873581.0.0.484f7e46JZ6t8J
一、简介
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,效果如下图所示:
本文所涉及到的代码在这里可以找到。
二、准备工作
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
注: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/@TARGET@.bin", "-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 toPathenvironment variable。
请注意JLink默认的bin目录中的JLink_V640,会根据不同的jlink版本会有所不同。设置完Path环境变量需要重启cmd、bash、vscode等,最好重启电脑。
windows环境下的JLink Commander名称为:JLink.exe。
linux/macOS环境配置
linux/macOS环境下的JLink Commander名称为:JLinkExe。
六、参考文档
segger wikiJLink.exe JLinkGDBServer.exe的参考说明J-Link_Commander使用说明
相关推荐
© 2020 asciim码
人生就是一场修行