打印
[文档下载]

Simihost Debug

[复制链接]
39|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
timfordlare|  楼主 | 2025-6-19 07:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
BUG, SIM, UG, os
    Semihost指的是半主机模式,在开发中使用semihost可以实现即使目标开发板没有外接输出串口,我们也能很容易的利用调试工具的窗口,达到输入输出的效果。目前新唐的MCU都可以快速实现Semihost功能,步骤如下。

       1、目前新唐的BSP包例程都有加入semihost,可以直接用这里面的工程。我这边直接测试Semihost这个工程。



       2、打开工程,主要关注retarget.c和startup_xxxxx.s即可。




       3、打开retarget.c文件,主要是关注DEBUG_ENABLE_SEMIHOST和指定UART端口,这里用的是UART2,可以自定义改动其他UART。



       4、打开options for target,定义下DEBUG_ENABLE_SEMIHOST即可。


       5、编译烧录后,进入Debug模式,打开UART1窗口。


       6、全速运行后就可以在UART1 窗口看到打印的信息了,这里直接打印了printf("\n Start SEMIHOST test: \n"); 我这边通过getchar()输入112233也直接打印了。
       目前测试来看Semihost功能实现,后续没有串口助手的时候可以直接使用这个方式来调试。



       我这边再介绍下Nulink Me烧录调试器这个板子的特色,它本身可以就是个串口调试工具(USB -UART)。目前这个功能仅限于Nulink Me这款烧录器,使用开发板调试的时候,可以直接打开串口助手打印Log信息。

       首先,新唐的开发板黄色部分是连接好的UART TX和RX。一般板子默认接到MCU的UART0。



       接着,把板子的VCOM中的TXD和RXD都拨到NO位置。



       最后在BSP中找个UART工程烧录,这时候打开串口助手就可以识别到串口号了,并且可以打印信息了。





使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

1564

帖子

1

粉丝