【产品应用】AWorksLP SDK快速入门(MR6450)——开箱体验

描述

AWorksLP是采用面向框架的设计架构、支持组件平台板卡“可插拔、可替换、可配置”,应用代码可跨平台复用的嵌入式实时操作系统。MR6450搭载AWorksLP将能发挥出最大的优势。

 

嵌入式  简介

AWorksLP是一套完备的嵌入式实时操作系统,采用面向框架的设计架构,支持平台组件“可插拔、可替换、可配置”、与硬件无关、与操作系统种类无关的方式设计,用户只需修改相应的头文件,即可实现应用代码的跨平台复用。他不仅仅包含实时内核(RTOS),还包含设备管理框架、丰富的网络协议栈、大量高质量的组件,以及一整套构建、管理、运维系统。AWorksLP SDK的目录结构及使用方式在不同平台下完全一致(与硬件无关),本文将以 MR6450 平台软件为例,对AWorksLP SDK的开发使用进行简单介绍。

 

嵌入式  开发环境


 

Eclipse是一个开放源代码、基于Java 的可扩展开发平台,同时它也是著名的、跨平台的自由集成开发环境。为避免在安装开发环境软件时出现问题,我司提供绿色免安装包(解压即用,无需其它任何安装过程),其包含了Eclipse 软件、java运行环境及相关的插件,解压后eclipse目录,如图1所示,并约定{IDE}为该目录路径。

嵌入式

图1 Eclipse开发环境软件包

* RISC-V平台与ARM平台所使用Eclipse软件版本不一致,下载使用时请注意区别版本;

* 该软件包不能解压到过深的路径,否则会出现解压失败的问题。

eclipse:目录下为绿色免安装版本Eclipse软件;

make: make工具包;

eclipse-aworks.bat:快速启动脚本。

用户需要使用时,仅需双击eclipse-aworks.bat脚本启动Eclipse后,导入Eclipse工程即可进行编译和调试。

2. AWorksLP SDK软件包

 

SDK软件包下载解压后,其目录结构如下图所示,并约定以{SDK}指代该目录。

嵌入式

图2 SKD软件目录

components:组件,包含 Modbus、LUA、mbedtls 等组件;

demos:样例目录,包含外设、组件、应用样例;

docs:文档目录;

frameworks:框架,包含 OS、IO、POSIX 等代码;

packages:包目录,包含编译工具链以及编译所需其他工具等;

platforms:平台目录,包含组件驱动,内置板卡等;

solution.json: Solution 详细信息。

* SDK包需要拷贝并解压到不含空格及英文括号目录下,否则可能会在执行工程编译时出现错误。

3. 调试软件HPM平台同时支持JLink以及OpenOCD两种方式进行下载调试,因本文篇幅限制,仅介绍JLink方式,OpenOCD方式可参考《HPM平台SDK快速入门手册》进行设置。

3.1 JLink添加芯片设备支持

JLink软件位于{SDK}/platforms/platform-hpm-aworks-lp/tools/JLink目录下,可直接双击软件使用默认配置进行安装即可,并约定{JLink}为Jlink软件安装路径,若本地已存在大于V750a版本的JLink软件,则可跳过软件安装步骤。

软件安装完成后,需增加HPM芯片设备支持,具体步骤如下:

3.1.1 拷贝{SDK}/platforms/platform-hpm-aworks-lp/tools/JLink/Hpmicro文件夹至{JLink}/Devices目录下,如图3所示:

嵌入式

图3 拷贝Hpmicro烧写算法

3.1.2 将{SDK}/platforms/platform-hpm-aworks-lp/tools/JLink/JLinkDevices.xml文件中芯片相关描述内容拷贝至{JLink}/JLinkDevices.xml中,具体见图4。

嵌入式

图4 添加HPM芯片信息

3.1.3 打开GDB Server软件,型号选择HPM6750XXXX,连接方式选择JTAG,如图5所示,使用Jlink连接上目标板,若如图6所示,则表示正常连接。

嵌入式

图5 GDB Server配置

嵌入式

图6 GDB Server连接成功* RISCV平台需JLink硬件调试器大于等于V11版本方能支持;
* 本节仅以HPM平台为例进行说明,其他平台请参考对应硬件环境配置说明文档。
 

嵌入式  SDK开发使用

本节将介绍如何使用AWorksLP SDK在Eclipse IDE上进行开发。

1. 打开Eclipse 并建立工作空间

首次使用Eclipse进行开发时,需要建立合适的工作空间。

打开{IDE}目录,双击“startup_eclipse_riscv.bat”批处理脚本即可启动Eclipse软件,如图7所示。

嵌入式

图7 双击批处理启动Eclipse软件

如果第一次打开Eclipse 或者打开后没有勾选默认工作空间,软件会自动弹出默认工作空间界面,点击【Browse】选择Eclipse 的工作空间,用户可自行决定路径位置

* 工作空间路径尽量不要有中文, 可以避免路径识别问题。

如果不需要更改工作空间,勾选上图中红色框中的内容即可。然后点击【OK】选项,如图8所示。

嵌入式

图8 建立工作空间

工作空间建立完成后,会进入Eclipse 界面,如图9所示。

嵌入式

图9 首次进入Eclipse显示界面

根据图9中的提示,点击关闭【Welcome】,点击后会自动打开左侧的【Project explorer】选项框,如图10所示。

嵌入式

图10 Eclipse显示界面

2. 创建Eclipse工程

Eclipse工程在AWorksLP SDK中为使用时立即构建生成,即用时构建模式。在使用Eclipse进行开发前需构建应用工程,本文以GPIO例程为例进行举例说明,其目录为{SDK}/demos/peripheral/gpio,并约定使用{app}代指该目录。

2.1 {app}目录下文件结构如图11所示。

嵌入式

图11 gpio例程目录

各目录和文件简介如下:

script:应用编译脚本;

src:例程源码;

axio.toml:存放axio编译时需要的配置信息; 

aworks_lp_platform-hpm-aworks-lp_xxxx.config:使用xxx板卡运行该例程时配置文件。

* aworks_lp_platform-hpm-aworks-lp_xxxx.config文件在不同的例程下可能存在多个,代表不同的板卡运行该例程时的配置,若无对应板卡的配置文件,可参照已有板卡进行配置,SDK中会保证所有例程都有我司标准开发板的工程配置。

2.2 进入{app}\script目录下,该目录存放例程编译相关脚本,如图12所示。

嵌入式

图12 script目录

各个脚本简介如下:

  • application_build.bat:编译并生成工程;
  • application_clean.bat:清除编译中间文件;
  • application_config.bat:调整应用配置。

若执行config脚本对应用配置后,需重新执行build脚本进行工程刷新。

2.3 使用管理员身份运行 application_build.bat脚本,会弹出CMD编译窗口,如图13所示,会要求选择运行该例程的板卡,按照实际需求选择即可,本文选择EPC6450-AWI工控板。

 

嵌入式

图13 板卡及编译类型选择

2.4 选择完板卡后,会要求选择默认优化等级,本文选择debug优化等级,选择完成后编译界面如图14所示。

嵌入式

图14 编译界面

2.5 编译完成后,若提示界面如图15所示(结果中包含绿色SUCCESS字样),则表示工程生成成功。

嵌入式

图15 编译完成

2.6 脚本执行完毕后,输入任意键即可退出CMD窗口,此时{app}路径下生成project_eclipse目录,该目录下为生成的Eclipse工程,如图16所示。

嵌入式

图16 Eclipse工程

.axiodeps、.axioenvs为编译时临时文件目录,使用时不需要关心;

如果需要生成多种配置项的工程,则可在步骤4中选择“A. All buildsets”;

Build操作只有在例程首次执行时才会选择板卡,重复编译时会默认使用首次选择的板卡;若要重新选择板卡,可将{APP}/axio_board_set.bat删除后重新编译即可。

3. 导入SDK工程

3.1 在Eclipse的【Project explorer】选项框中选择“Import Project”后,弹出如图17所示的界面,依次点击“General”->“Existing Projects into Workspace”->“Next”;
 

嵌入式

图17 弹出导入工程对话框

3.2 将{app}\project_eclipse填入,并选择需要导入的工程,然后点击【Finish】即可完成工程导入,如图18所示;
 

嵌入式

图18 选择待导入的工程

3.3 导入成功后界面如图19所示。
 

嵌入式

图19 导入工程

4. 编译SDK工程

4.1 在Eclipse选中左侧的工程,然后点击【编译】按钮的下拉菜单,将显示出当前工程支持的编译方式,如图20所示,点击对应Label即可进行编译。
 

嵌入式

图20 编译SDK工程

4.2 点击编译按钮后,工程执行编译,如图21所示,在【Console】窗口,可查看编译LOG信息,在【Problems】窗口可以查看错误警告信息。
 

嵌入式

图21 编译进行中

4.3 工程编译成功后如图22所示,生成最终可执行文件。
 

嵌入式

图22 编译成功

4.4 同时在工程目录下会生成与编译选择项名相同的目录,在该目录存放编译临时文件以及应用固件,如图23所示。
 

嵌入式

图23 编译目录

4.5 如果编译成功后,若编译目录下不存在应用固件,则选中工程目录,右键打开选项卡选择刷新工程,如图24所示。刷新完成后,即可看到对应文件。
 

嵌入式

图24 刷新工程

5. 在线调试

5.1 调试配置

在工程中点击【调试】按钮的下拉菜单,菜单中有工程支持的所有调试选项,如图25所示,调试列表中选项名带jlink字样的为Jlink专用调试项,其他的则为OpenOCD调试项。

嵌入式

图25 查看调试的配置

若下拉列表为空,则是由于Eclipse 的工作空间未刷新导致,需重新打开工程,参照下面步骤操作即可:

  • 选中工程后,打开右键选项卡,点击【Close Project】关闭工程;
     
  • 然后在双击工程即可重新打开,再次选择上文中下拉菜单,即可看到SDK工程中已经加载调试配置选项。

* 调试配置选项是根据编译时输入的编译信息生成的调试版本,可能是可选择优化等级中的一种或多种。

5.2 使用JLink调试

5.2.1 按照环境搭建章节所介绍内容,使用JLink连接目标板卡,连接完成后界面如图26所示。

嵌入式

图26 JLink调试软件界面

5.2.2 点击需要下载的调试选项即可下载编译的固件到硬件中,如图27所示,当前代码运行位置为main函数。

嵌入式

图27 JLink调试下载运行成功

至此,AWorksLP中SDK中的一个简单Demo已经能正常运行起来了,更多的样例及特性请关注后续推文解锁。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分