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

简介: 在AliOS-Things 2.x.x版本之后,aos-cube提供了一套简单易懂的接口可以让开发者很容易适配aos,达到aos upload指令下载image,aos debug指令启动调试功能。 本文简单介绍一下如何让aos upload指令支持你的开发板下载,从而在AliOS-Studi.

简介

aos-cubeAliOS-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版本目前不支持。

编写upload命令配置文件

aos upload会调用upload的配置文件来实现具体的image烧录过程,我们需要编写这个配置文件来达到烧录目的,aos upload目前已经支持的开发板可以参考这里,同时,开发者也可以贡献自己适配好的json配置文件到AliOS-Things中。

AliOS-Things的源码里面提供了build/site_scons/gen_upload_configs.py脚本用来根据填写的内容自动生成json配置文件,具体说明请参考这里,本示例是参考该规则进行pca10040开发板适配的。

添加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中的pca10040flash_configs['pca10040']里面的pca10040一定要是AliOS-Things/board/下面对应的board名称。

其中jlink.py脚本是一个专门为aos upload编写的python脚本,位于build/site_scons中,主要功能是在out目录下生成对应设备的jlink commands文件,并启动jlink下载,jlink.py下载地址

生成对应的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 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

参考文档

目录
相关文章
|
域名解析 JSON AliOS-Things
AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录
本文主要为大家讲解如何进行 AliOS Studio 烧录。
1083 0
AliOS Things 开发:让你的开发板支持 AliOS Studio 烧录
|
物联网 AliOS-Things Python
AliOS Things开发:让你的开发板支持AliOS Studio烧录
本文简单介绍一下如何让aos upload指令支持你的开发板下载,从而在AliOS-Studio中点击upload按钮即可立即下载AliOS-Things编译好的binary
13824 0
|
物联网 NoSQL Windows
AliOS Things开发:让你的开发板支持AliOS Studio调试
在AliOS-Things 2.1版本之后,AliOS Studio提供了一套简单易懂的接口可以让开发者很容易适配开发板支持调试功能。
|
NoSQL 物联网 AliOS-Things
AliOS Things开发:让你的开发板支持AliOS Studio调试
简介 在AliOS-Things 2.1版本之后,AliOS Studio提供了一套简单易懂的接口可以让开发者很容易适配开发板支持调试功能。可以支持大部分的调试接口,比如ST-Link、JLink、CMSIS-DAP等。
3327 0
|
物联网 Linux
【AliOS Things学习笔记】为你的AliOS Things应用增加自定义cli命令
怎么才能在RTOS系统中,通过 串口shell控制LED的开关。
3583 0
|
AliOS-Things 物联网 编译器
使用HaaS Studio开发AliOS Things C/C++应用
本文章将介绍使用HaaS Studio 进行AliOS-Things C/C++应用开发。
使用HaaS Studio开发AliOS Things C/C++应用
|
传感器 存储 移动开发
使用AliOS Things快速构建温度计应用 |《AliOS Things快速开发指南》
本文是基于AliOS Things 3.1快速构建温度计的应用场景。涉及AliOS Things组件开发,构建AliOS Things用户项目,AliOS Things HAL API使用,向AliOS Things中添加并使用组件。用到的硬件设备有半导体开发板、温度传感器、数码管显示器。
使用AliOS Things快速构建温度计应用 |《AliOS Things快速开发指南》
|
域名解析 移动开发 数据可视化
使用 AliOS Things 3.0 快速构建用户应用 BlinkAPP
AliOS Things 3.0版本于去年9月份在云栖大会正式发布,在新版本中带来了全新的应用开发框架,帮助用户快速构建自己的应用。使用户可以更专注于自身应用的开发。本文将已BlinkAPP为例,为大家演示如何快速使用应用开发框创建项目并完成应用代码编写。
910 0
使用 AliOS Things 3.0 快速构建用户应用 BlinkAPP
|
物联网 AliOS-Things 机器人
AliOS Things 3.0 应用笔记:摄像头配网 + 钉钉群通知 + 天气显示
距离 AliOS Things 3.0 上线已经有一段时间了,新版的 AliOS Things 3.0 体验感到底如何呢?本文将为大家详细讲解其应用实例,我们分别从运行流程、效果展示、操作流程以及源码讲解四个方面进行了阐述。
1700 0