导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    XR806在线调试方法

    Wireless & Analog Series
    2
    8
    2594
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • I
      何镜勇 LV 4 最后由 编辑

      XR806当前还没正式发布如何使用jlink调试,我先占个楼,后面慢慢补充如何使用。
      d234dd90-6725-4fc9-bbff-d8d943176640-7f0e6e1f9f56a8bf89548c071f4c9ac.png
      24f6cae8-61ae-4867-a44f-54bac94b28f6-image.png

      1 条回复 最后回复 回复 引用 分享 1
      • I
        何镜勇 LV 4 最后由 编辑

        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
        ebb5dd58-ae9b-468c-9022-064d880d1e0f-image.png

        I 1 条回复 最后回复 回复 引用 分享 0
        • tigger
          tigger LV 7 最后由 编辑

          请问XR806有全志官方的SDK吗?不是鸿蒙的SDK。

          I 1 条回复 最后回复 回复 引用 分享 0
          • I
            何镜勇 LV 4 @I_A_student 最后由 I_A_student 编辑

            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);
            }
            
            I 1 条回复 最后回复 回复 引用 分享 0
            • I
              何镜勇 LV 4 @tigger 最后由 编辑

              @tigger 这个要问全志官方人员要啊,我也不知道😥 ,肯定有的,但获取途径我就不知道了。

              1 条回复 最后回复 回复 引用 分享 0
              • I
                何镜勇 LV 4 @I_A_student 最后由 编辑

                4、接入GDB
                1ff9d196-8041-425e-bece-4d9f0550aaf8-image.png
                c3b34c54-d4c3-414c-b44e-c233a1c88a8f-image.png

                I 1 条回复 最后回复 回复 引用 分享 0
                • I
                  何镜勇 LV 4 @I_A_student 最后由 编辑

                  5、确保虚拟机开启了SSH。不同虚拟机的开启方式,这里就不介绍了。
                  6、使用putty(或者其他带隧道功能的SSH)连接虚拟机
                  fedb01c2-43f5-4344-9e58-5f0bb0b5824f-image.png
                  9913c4cd-ada5-494a-85d1-256a535aa33f-image.png

                  I 1 条回复 最后回复 回复 引用 分享 0
                  • I
                    何镜勇 LV 4 @I_A_student 最后由 编辑

                    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怎么调试,网上有足够资料,就不水贴了。

                    1 条回复 最后回复 回复 引用 分享 0
                    • 1 / 1
                    • First post
                      Last post

                    Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                    行为准则 | 用户协议 | 隐私权政策