Nuvoton开发流程 中级篇 1 – Simihost Debug

本章系列博文继续介绍Nuvoton开发流程,之前已经完成了入门篇、初级篇,本次开始介绍中级篇内容,大致目录如下。

        Nuvoton开发流程 入门篇 1 -- 准备工作
        Nuvoton开发流程 入门篇 2 -- 软件与工具
        Nuvoton开发流程 入门篇 3 -- Keil新建工程
        Nuvoton开发流程 入门篇 4 -- IAR新建工程
        Nuvoton开发流程 入门篇 5 -- ICP介绍
        Nuvoton开发流程 入门篇 6 -- ISP介绍
        Nuvoton开发流程 初级篇 1 -- NuTool
        Nuvoton开发流程 初级篇 2 -- Bootloader
        Nuvoton开发流程 初级篇 3 -- NuLink Command
        Nuvoton开发流程 初级篇 4 -- C51 RAM分布和使用
        Nuvoton开发流程 初级篇 5 -- Hard Fault
        Nuvoton开发流程 初级篇 6 -- 低功耗
        Nuvoton开发流程 中级篇 1 – Simihost Debug
        Nuvoton开发流程 中级篇 2 – UART Mode2 -- 9bit data
        Nuvoton开发流程 中级篇 3 – 三线SPI
        Nuvoton开发流程 中级篇 4 -- ML56触摸技术— 硬件
        Nuvoton开发流程 中级篇 5 -- ML56触摸技术— 软件
        Nuvoton开发流程 中级篇 6 – IAP Multi_Ap Jump

       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工程烧录,这时候打开串口助手就可以识别到串口号了,并且可以打印信息了。

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论