RealEvo-IDE 串口调试 app 补充说明
需求
对于不支持以太网接口的设备,可以使用串口进行手动启动调试,基本流程参见《RealEvo-IDE使用手册》中 5.3 小节的内容。
为了用户能正常使用该功能,本文档将实际操作中的细节整理如下。
硬件设备
本次演示使用的硬件设备是翼辉信息的T3工业控制器IGC1500,串口设备信息如下:
1 个 RS232 Debug 接口:
设备名/dev/ttyS0,对应于接线端子 RS232-2,端口信号为 RX2,TX2,GND。
2 个 RS232 用户接口:
设备名/dev/ttyS5,对应于面板 DB9 接口:
设备名/dev/ttyS7,对应于接线端子 RS232-1,端口信号为 RX1,TX1,GND。
本文档演示使用到 RS232 Debug 接口(/dev/ttyS0)和 RS232 用户接口(/dev/ttyS7)。
操作步骤
1、必须先用调试串口登陆到 SylixOS 的 shell 终端上,然后切换到需要调试的App文件夹中,使用 /dev/ttyS* 参数启动 debug 命令:
图 1 通过串口启动 debug
如图 1所示,使用设备的 /dev/ttyS0 串口与PC的串口COM2连接,登陆到串口 shell 终端和查看调试信息。
然后使用设备的 /dev/ttyS7 串口与PC的串口COM1连接,用于调试程序。
2、打开“Debugger→Connection”属性页,在“Type”下拉框选择“Serial”,在“Device”编辑框中输入 PC 端与设备相连的调试串口(假设为COM1)名称,在“Speed”编辑框设置串口波特率,SylixOS 调试串口波特率为 115200,如下图 2所示。
图 2 调试串口设置
点击 图 2 中右下角的 Debug 按钮,进行调试。
注:如果目标设备没有第二个可以用于调试的串口,可以通过命令“debug terminal ./app_demo”将当前串口用于调试串口,但是需要注意的是调试启动后需要将串口关闭,否则 RealEvo-IDE 将会出现连接失败的错误。
如果连接正常,RealEvo-IDE中会出现如下图 3提示,
图 3 RealEvo-IDE 连接提示
点击“Yes”即可进入调试流程。
图 4 进入Debug 模式
如上图 4所示,进入Debug模式后,即可进行App调试。
示例1:
设备的串口shell 端口跟Debug调试口不同,例如以上演示的例子:
使用设备的 /dev/ttyS0 串口与PC的串口COM2连接,登陆到串口 shell 终端和查看调试信息。
使用设备的 /dev/ttyS7 串口与PC的串口COM1连接,用于调试程序。
使用串口调试App的方法,按照“操作步骤”小结所示步骤即可,运行效果如下图 5所示:
图 5 串口调试效果1
如上图 5所示,左边为串口 shell 终端,启动 Debug 命令后,可以显示程序的调试信息(printf 函数输出)。
示例2:
设备的串口shell 端口跟Debug调试口共用一个设备串口,目标设备没有第二个可以用于调试的串口:
使用设备的 /dev/ttyS0 串口与PC的串口COM2连接,登陆到串口 shell 终端,同时也用于调试程序。
App调试的PC串口参数设置如下图 6所示,PC的COM2既可用作跟设备shell 终端交互,也可用作串口调试设备App。
图 7 使用shell串口作为debug端口启动调试
如上图 7所示,使用设备的 shell 串口作为参数,启动 debug 调试,出现如下提示信息:
[GDB]Serial device: terminal 115200,n,8,1
则说明调试启动,这时需要关闭该串口的shell终端界面,释放PC串口COM2资源,然后在图 6 中右下角的 Debug 按钮,进行调试,效果如下图 8所示:
图 8 串口调试效果2
这时,PC串口COM2作为Debug端口,不能显示程序的调试信息(printf 函数输出),只能通过RealEvo-IDE的调试界面查看程序执行状态和变量参数。
视频演示
以上示例1和示例2,可以观看“RealEvo-IDE使用串口调试App演示.mp4”视频资料,视频大小66MB不能正常上传为附件,如有需要联系作者。
参考资料:
[1] RealEvo-IDE使用手册.pdf
[2] T3工业控制器开发指导手册.pdf
版本信息
版本 | 日期 | 原因 | 编制 |
V1.00 | 2021/12/30 | 创建文档 | 雷一民、周东 |
zhoudong@acoinfo.com
20211230
Related Articles
RealEvo-IDE 使用串口调试 App
需求 对于不支持以太网接口的设备,可以使用串口进行手动启动调试,基本流程参见《RealEvo-IDE使用手册》中 5.3 小节的内容。 为了用户能正常使用该功能,本文档将实际操作中的细节整理如下。 硬件设备 本次演示使用的硬件设备是翼辉信息的T3工业控制器IGC1500,串口设备信息如下: 1 个 RS232 Debug 接口: 设备名/dev/ttyS0,对应于接线端子 RS232-2,端口信号为 RX2,TX2,GND。 2 个 RS232 用户接口: ...
使用 GDB 命令行调试 SylixOS 应用程序
一、简介 SylixOS 在内核中内置了一个标准的 GDB Server。使用 GDB 调试,只有两个步骤: 在 SylixOS 上启动 GDB Server; 使用交叉编译工具链中的 GDB 应用程序连接到 SylixOS 上的 GDB Server。 两个步骤完成后,便可以使用 GDB 进行调试了 注:SylixOS 的 GDB 不支持 Watch 变量的功能,因为 Stub 不支持数据断点。 二、前提条件 1. 断开硬件调试工具 GDB 依靠 CPU ...
基于 ACOEGC_T3(PF) 搭建 JLink 调试环境
本文主要介绍全志 T3 JLink 调试环境搭建,基于 ACOEGC_T3(PF) 硬件板卡,系统架构使用裸核 * 3 + SylixOS 的 AMP 模式。调试环境可通过 RealEvo-IDE 和 JLink V9 同时对 T3 的 4 个核进行调试。 一、搭建调试环境 1、安装 JLink 软件,这里安装的是 V645a; 2、修改安装目录下的 JLinkDevices.xml 文件,这里的路径为: D:\Program Files ...
汇编中使用串口打印调试方式
问:如何在汇编中使用串口打印调试方式 BSP 调试中经常会遇到汇编中需要打印相关状态的情况,如下代码基于全志 T3(ARM Cortex A7)平台展示如何在汇编中打印一个字符的串口调试信息。类似的方式经过简单修改也可以移植到其他平台上。(注意:打印串口信息过程中会使用到 R0、R1 两个寄存器,注意相关寄存器的上下文关系) LDR R1, =0x01c2807C ; /* 读取串口状态寄存器 */ 1: LDR R0, [R1] MOV R0, R0, LSR#2 ; /* ...
程序崩溃时该如何调试
Q:程序崩溃时该如何调试 首先确定编译应用程序所选择的编译工具架构,和实际硬件架构是否一致。 可以使用 Crash Trap 调试, SylixOS 自 v1.9.9 内核版本后开始支持 crashtrap 命令,此命令可在程序崩溃时将进程切换到 STOP 模式,方便用户进入 Attach 调试。 更多扩展知识见: 使用方式详见《RealEvo-IDE 使用手册》第5章 RealEvo-IDE调试,5.8 Crash Trap调试 或者《SylixOS 开发禁(限)用说明》 ...