XR806在线调试方法
-
XR806当前还没正式发布如何使用jlink调试,我先占个楼,后面慢慢补充如何使用。
-
1、XR806的在线调试SWD接口是PB2和PB3,分别对应DATA和CLK。很遗憾,官方版子并没有接出来,只能手动焊线。
2、使能在线调试。在文件device/xradio/xr806/xr_skylark/project/demo/audio_demo/prj_config.h中添加#define PRJCONF_SWD_EN 1
-
请问XR806有全志官方的SDK吗?不是鸿蒙的SDK。
-
2、由于PB2和PB3是在__wrap_main()中初始化成调试接口的,所以上电并不是调试口,意味着不要使用jlink控制XR806进入复位,不然大概率会跑飞。
3、由于没办法控制芯片复位,而我们调试程序一般都是从程序开始的,所以需要利用程序,使上电自动停止在代码main_task中,我使用的是开发板上的按键,代码如下所示,按下按键程序才能继续跑,使Jlink连接开发板,halt住芯片时,程序的位置是确定的,不然Jlink接入时,代码位置是随机的。static void main_task(void *arg) { /* 初始化按键 */ gpio_input_init(); /* 确定Jlink接入时的代码的位置 */ while(1) { uint8_t i = 0; if (HAL_GPIO_ReadPin(GPIO_INPUT_PORT, GPIO_INPUT_PIN) == 1) { printf ("no press\n"); i = 0; } else { printf ("press\n"); i ++; } if (i >= 5) { printf("test begin\n"); break; } LOS_Msleep(100); } platform_init(); OHOS_SystemInit(); OS_ThreadDelete(&g_main_thread); }
-
@tigger 这个要问全志官方人员要啊,我也不知道 ,肯定有的,但获取途径我就不知道了。
-
4、接入GDB
-
5、确保虚拟机开启了SSH。不同虚拟机的开启方式,这里就不介绍了。
6、使用putty(或者其他带隧道功能的SSH)连接虚拟机
-
7、连接成功后,打开指定可执行文件的文件夹
cd device/xradio/xr806/xr_skylark/demo/audio_demo/gcc gdb audio_demo.elf
注意linux默认使用linux64位的gdb,需要在环境变量中设置为arm的gdb。
8、进入gdb后,输入:target remote:3331即可连接开发板。至于gdb怎么调试,网上有足够资料,就不水贴了。
Copyright © 2023 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号