FAQ

常见问答

在未提供UART设备或未规划UART电路的情况下,如何在调试模式(Debug Mode)下使用Semihost与目标系统通信?  日期:2015-12-21

如果用户需要使用UART进行调试,但是并未接上输出/输入设备,或是没有规划UART电路的情况时,用户可以使用Semihost方式与目标系统通信。针对Keil RVMDK和IAR EWARM开发环境设定Semihost的方法,请参考以下步骤:

  • Keil RVMDK:
    用户可以在Project→Options for Target→C/C++以及Asm页面中的Define选项中,增加DEBUG_ENABLE_SEMIHOST,如下图所示:





    重新Build,进入调试模式后,用户可以由View→Serial Windows→UART #1开启预设的监视窗口;或是点击工具列的图标开启,如下图所示:

  •  IAR EWARM:
    首先,用户需要在Project→Options→General Options启动Library Configuration页面,并在Library low-level interface implementation栏位中选择Semihosted,stdout/stderr栏位中选择Via semihosting,如下图所示:



    接下来,在Project→Options→C/C++ Compiler启动Preprocessor页面,并在Defined symbols栏位中增加DEBUG_ENABLE_SEMIHOST,如下图所示:



    同样地,用户可以在Project→Options→Assembler启动Preprocessor页面,并在Defined symbols栏位中增加DEBUG_ENABLE_SEMIHOST,如下图所示:



    重新执行Download and Debug进入调试模式后,用户可以由View→Terminal I/O开启监视窗口,如下图所示:




产品: 微控制器 ,Arm Cortex-M0 微控制器 ,Arm Cortex-M4 微控制器
应用:
功能: Peripherals,Connectivity,UART,Software and Tools,Development-Environment,IAR,Keil