同步操作将从 Huawei LiteOS/LiteOS_Studio 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
本节介绍如何使用HUAWEI LiteOS Studio
开发STM32
开发板工程。开源LiteOS工程,支持STM32F429IG
、STM32L431RC
、STM32F769NI
、STM32F072RB
、STM32F103ZE
、STM32F407ZG
等STM32
系列开发板,以及支持Qemu仿真的realview-pbx-a9
开发板。
STM32
工程使用Makefile
进行构建管理, 需要安装Make.exe
构建工具,GNU Arm Embedded Toolchain
编译交叉工具链,并使用JLink
仿真器。
如果使用OpenOCD
烧录,还需要安装OpenOCD
烧录工具。
如果选择realview-pbx-a9
开发板进行仿真,还需要安装Qemu
仿真器工具。
如果需要新建工程,还应该安装git for windows
工具。
对于一些STM32
开发板,用户可能还需要安装USB转串口驱动。
如果用户需要使用新建工程功能下载开源工程SDK,则应根据情况安装git for windows
工具,可参考安装Git工具。
开源LiteOS
工程使用Makefile
文件组织编译和链接程序,需要安装GNU Make
工具,可参考安装Make构建软件。
开源LiteOS
工程使用ARM GCC
编译器进行编译,需要安装编译器软件,可参考安装arm-none-eabi软件。
如果开发板使用JLink
仿真器,则应根据情况安装JLink
软件,可参考安装JLink仿真器软件。
如果开发板使用Qemu
仿真器,则应根据情况安装Qemu
软件,可访问Qemu下载官网
自行下载安装。
演示如何新建工程、编译、烧录、串口调试、GDB
图形化单步调测等功能。
注意:当本地已有工程/源码时,无需再新建工程,直接进入下一步打开工程
。
通过点击新建工程
图标,打开新建工程界面。在使用
HUAWEI LiteOS Studio
新建STM32
工程时,需要联网,确保可以访问开源LiteOS。如果联网需要代理,请提前配置好代理,否则新建工程会失败。配置代理方法参考常见问题。同时,需要确保本地已安装git for windows
工具。
步骤 1 在工程名称
中填入自定义的工程名
步骤 2 在工程目录
中填入或选择工程存储路径,路径名中不要包含中文、空格、特殊字符等
步骤 3 选择SDK版本号,当前STM32工程被维护在https://gitee.com/
,支持最新版本master
分支
步骤 4 在开发板信息表点选开发板所在行,目前默认提供STM32F429IG
、STM32F769NI
、STM32L431RC
、STM32F103ZE
、STM32F072RB
、STM32F407ZG
、realview-pbx-a9
七种开发板
点击确认
按钮,后台将下载并保存所选目标板的SDK,等待下载完成后会在一个新窗口中自动打开新建的工程。
新建工程后,会自动打开工程。如果需要打开存在的工程,点击打开工程
图标,选择工程所在目录即可。
步骤 1 点击工具栏上的工程设置图标,打开工程配置界面
步骤 2 点击目标板
,选取当前工程对应的开发板,下面以STM32F429IG
作为示例,点击确认按钮进行保存
如需对LiteOS开放可配置的组件与属性进行使能,而不是仅使用默认的配置,用户可以点击工程配置界面上的组件配置
,在左侧的选择组件
中点击想要使能或修改的组件,在右侧的组件属性
栏勾选需要使能的组件,或更改组件属性值,点击确认按钮保存。
步骤 1 点击工程配置界面上的编译器
步骤 2 编译器类型
选择arm-none-eabi
步骤 3 编译器目录
用户需要自行下载GNU Arm Embedded Toolchain编译交叉工具链
,已提供默认路径。通过本站提供的自动下载程序,arm-none-eabi
编译器就会安装到该路径下。用户也可自行指定安装目录,点击图标设置为
arm-none-eabi-gcc.exe
所在路径
步骤 4 Make构建器
用户需要自行下载Make.exe构建工具
,已提供默认路径。通过本站提供的自动下载程序,Make.exe构建工具
就会安装到该路径下。用户也可自行指定安装目录,点击图标设置为
make.exe
所在路径
步骤 5 Makefile脚本
路径已填入默认值,用户也可以自行更改。对于STM32工程,在工程根目录
下的Makefile
文件上点击右键->设置为Makefile文件
,或点击图标进行自定义设置,也可使用
按钮自动搜索脚本文件
步骤 6 Make参数
已填入默认值,用户也可自行修改
步骤 7 配置好后点击确认按钮进行保存
步骤 8 点击工具栏上的编译图标 开始编译,也可以点击重新构建图标
进行清理和重新编译
编译成功的截图示例如下:
清理编译输出的截图示例如下:
以下为直连烧录方式,当有JLink
远程连接需求时,参考JLink远程烧录、调测。
步骤 1 点击工程配置界面上的烧录器
步骤 2 烧录方式
选择JLink
。如果目标板是STM23L431RC
、STM32F769NI
,建议刷成JLInk
进行调测, 详细操作方法参考ST-Link仿真器单步调测
步骤 3 烧录器目录
已提供默认路径,也可以点击图标进行自定义设置
注意:如果用户安装的JLink
目录不是Studio默认填入的C:\Program Files (x86)\SEGGER\JLink
,请根据实际安装目录进行填写。
步骤 4 烧录文件
设置,可以通过手动和自动两种方式设置文件:
手动设置:点击烧录文件
后的图标或者在左侧工程树的烧录文件上
单击右键->设置为烧录文件
进行设置,如下图所示:
自动设置:点击下拉菜单选择自动匹配的烧录文件
步骤 5 连接方式
、连接速率
、加载地址
等保持默认,或根据开发板进行调整。配置好后点击确认按钮保存
步骤 6 点击工具栏上的图标进行烧录
烧录成功的截图如下:
步骤 11 烧录成功后,点击串口终端
图标打开串口终端界面,设置端口,开启串口开关,开发板按下复位
RESET
按钮,可以看到串口输出
HUAWEI LiteOS Studio
调测配置非常简单,只需要几步,即可支持STM32
开发板的图形化单步调试。
步骤 1 点击工程配置界面上的调试器
步骤 2 调试器
根据实际情况选择JLink
或者OpenOCD
。对于板载ST-Link
仿真器的开发板,建议刷成JLInk
进行调测,操作方法参考ST-Link仿真器单步调测
步骤 3 连接方式
根据需求选择SWD
或JTAG
, 连接速率
可以默认或者自行指定
步骤 4 调试器目录
根据实际情况设置调试器的安装目录,如果与实际安装目录不一致,调试可能失败
步骤 5 GDB目录
设置编译器目录,可参考编译器界面填写
步骤 6 可执行文件路径
完成编译后就会生成可执行文件,用户可以点击图标手动设置,也可以点击下拉菜单选择自动匹配的可执行文件
步骤 7 调试配置
根据需要,选择复位调试
或附加调试
配置好后点击确认按钮保存。
步骤 8 点击打开调试并运行
视图,选择调试配置JLINK Debug
, 点击绿色三角按钮,开始调试
如果调测器
配置为OpenOCD
,则显示的是OpenOCD Debug
。
步骤 9 调试界面如下:
变量 展示局部变量、全局变量、静态变量
监视 监视指定的表达式
调用堆栈 展示当前运行状态和暂停状态的任务调用堆栈
断点 展示设置的断点
寄存器 查看各个寄存器的数值,支持复制数值操作
反汇编 & 内存 支持对函数进行反汇编,支持查看内存操作
输出 展示GDB
客户端的输出日志
调试控制台 展示GDB Server
的输出日志
添加断点有两种方式:
方式一:将鼠标放在代码行号处,行号前面会出现红色圆点,单击圆点将这一行添加为断点。
方式二:点击右键添加断点
、添加条件断点
、添加记录点
。
右键可以对添加的断点做删除、编辑、禁用操作。
选中代码文件中的变量或表达式,点击右键添加监视点:
在调试面板-寄存器
视图,可查看开发板各寄存器的数值。点击右边的“copy value”可以复制这个数值。
LiteOS作为轻量级物联网操作系统,同时只能运行一个Task任务线程,调试时只能展示当前运行状态的任务线程的调用堆栈。通过多线程感知调测技术,调测时可以展示Running运行
状态和Pending暂停
状态的任务线程的调用堆栈,提供更加强大的调试能力。
点击调用堆栈中的栈帧可以跳转到对应的源文件。当在不同任务的栈帧中切换时,变量
视图也会同步更新展示。
单步调测时,在调试面板-反汇编&内存
视图中,可以查看对应源代码的反汇编代码,支持如下两种方式:
反汇编指定函数 点击反汇编指定函数,在弹出的窗口中输入想要反汇编的函数名,回车后就可以在代码区中看到这个函数的反汇编代码。
反汇编当前函数 点击反汇编当前函数,就可以在代码区中展示当前函数的反汇编代码。
反汇编文件展示效果如下:
在调试面板-反汇编&内存
视图中,点击查看内存
,在弹窗中输入内存起始地址及长度,可以展示开发板的内存信息。
查看内存展示效果如下:
对于板载ST-Link
仿真器的STM32
开发板,如STM23L431RC
、STM32F769NI
,为了更加稳定的调测体验,建议刷成JLInk
进行调测。在开始之前,需要先确保已安装ST-LINK USB Drivers
和J-Link
软件。 ST-Link
刷J-Link
的步骤如下:
官方站点下载ST-Link Reflash Utility
,或本站下载。解压STLinkReflash.zip
,双击STLinkReflash.exe
运行。
步骤 1 接受许可Accept
输入A
接受许可协议。
步骤 2 Upgrade to J-Link
选择[1]
, 把开发板板载的ST-Link仿真器刷成J-Link仿真器。
步骤 3 Restore ST-Link
如果想恢复ST-Link仿真器,选择[3]
即可恢复。
步骤 1 烧录器的烧录方式切换为JLink
步骤 2 调试器切换为JLink
正常执行调测,如图:
服务器端和客户端均需要安装JLink
软件,且保持网络畅通
拥有开发板的一方,连接开发板,在JLink安装目录下,手动启动JLinkRemoteServer.exe
应用程序,进行如下设置,即可等待用户连入:
无开发板的一方,在编译生成烧录文件后,打开工程配置
->烧录器
,选择JLink
烧录方式,选择端口为IP
,并填入远程JLink地址
,远程JLink地址
填写远程服务器IPv4地址
烧录器界面配置完成后点击确认按钮,再点击工具栏上的烧录按钮即可执行远程烧录任务
同上,打开工程配置
->调试器
,选择JLink
调试方式,选择端口为IP
,并填入远程JLink地址
,远程JLink地址
填写远程服务器IPv4地址
同样,完成配置并确认后,点击调试按钮执行远程调试任务
本地需安装Qemu
软件,并创建realview-pbx-a9
工程,可以通过下载工程源码到本地,或通过新建工程创建realview-pbx-a9
工程。
首先打开本地工程,进入工程配置
界面,选择realview-pbx-a9
开发板。
编译器配置与stm32
系列开发板一致,可参照其他stm32
开发板进行配置。
点击编译按钮,执行编译,编译成功截图如下:
进入烧录器
界面,烧录方式
选择Simulator
,烧录器目录
选择qemu-system-arm.exe
所在目录,烧录文件
选择out/realview-pbx-a9
目录下的Huawei_LiteOS.bin
文件,界面配置示例截图如下:
点击烧录按钮以启动qemu
仿真,仿真启动后会运行realview-pbx-a9
工程并进入shell
交互界面,截图如下:
注意:如果需要重新编译工程,在编译前需要先退出shell
交互界面,在交互界面所在的终端界面右上角点击终止终端
按钮即可退出,如下图所示:
进入调试器
界面,调试器
选择Simulator
,调试器目录
选择qemu-system-arm.exe
所在目录,GDB目录选择arm-none-eabi-gdb.exe
所在目录,可执行文件路径
选择out/realview-pbx-a9
目录下的Huawei_LiteOS.elf
文件,界面配置示例截图如下:
点击开始调试按钮,进入图形化单步调试,截图如下:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。