基于 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 (x86)\SEGGER\JLink_V645a。在 DataBase 和 /DataBase 之间添加如下内容;

  
 
  
 
  
 
  

3、在 JLink 安装目录下创建目录:JLink_V645a\Devices\ALLWIN\T3,在目录中放入脚本文件 Core0.JLinkScript、Core1.JLinkScript、Core2.JLinkScript、Core3.JLinkScript(见附件);

4、将 JLink V9 调试器接入板卡调试口(这里使用 JTAG 接口,也支持 SWD 接口),如下图所示。

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第1张图片

二、RealEvo-IDE 调试配置

1、将裸核与系统核的 Base 和 BSP 改为 Debug 模式,重新编译;

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第2张图片

2、右键 core_bmt3 工程,点击 Debug As ---> Debug Configurations... 双击 GDB SEGGER J-Link Debugging 新建一个调试实例。配置 core0 调试参数,如下图:

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第3张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第4张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第5张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第6张图片

3、使用同样的方式创建 core1 的调试实例,配置如下所示,注意 Device name 、端口号的变化:

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第7张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第8张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第9张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第10张图片

4、使用同样的方式创建 core2 的调试实例,配置如下所示,注意 Device name 、端口号的变化:

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第11张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第12张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第13张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第14张图片

5、右键 ampallwinnert3 工程,点击 Debug As ---> Debug Configurations... 双击 GDB SEGGER J-Link Debugging 新建一个调试实例。配置 core3 调试参数,如下图:

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第15张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第16张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第17张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第18张图片

三、调试流程

1、系统上电后在裸核串口(UART0)上敲回车进入 u-boot 界面:

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第19张图片

2、键入如下命令加载系统镜像:

fatload mmc 2:2 0x40000000 ACO_EGC_T3PF_CORE0.bin;fatload mmc 2:2 0x50000000 ACO_EGC_T3PF_CORE1.bin;fatload mmc 2:2 0x58000000 ACO_EGC_T3PF_CORE2.bin;fatload mmc 2:2 0x60100000 ampallwinnert3_ACO_EGC_T3PF_bare_sys1.bin;

注意带 FPGA 版本这里还需要加入 FPGA 镜像加载命令:run loadfpga

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第20张图片

3、在代码 core_bmt3/SylixOS/bsp/bspInit.c 中的函数 halWakeUpOtherCores() 内启动核 1/2/3 的位置上加上断点

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第21张图片

打开调试配置界面,调试 core0

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第22张图片

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第23张图片

4、全速运行到第一个断点处,下一步执行启动 core1,执行后用同样的方法打开 core1 的调试界面并启动调试

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第24张图片

成功启动后出现如下信息:

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第25张图片

5、使用同样的方式启动 core2 和 core3,4 个核都启动后可以通过 Debug 窗口切换调试对象,从而实现 4 核同时调试。

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第26张图片

四、其他

1、这里仅介绍 4 核同时调试的情况,实际使用中可根据需要调试指定核即可;

2、JLink 若采用 SWD 连接方式则调试接口配置也需要改为 SWD:

基于 ACOEGC_T3(PF) 搭建 JLink 调试环境_第27张图片

3、附件

https://download.csdn.net/download/stone8761/86503885icon-default.png?t=M7J4https://download.csdn.net/download/stone8761/86503885

你可能感兴趣的:(SylixOS,SylixOS,jlink,调试,T3,V9)