打印

怎样在CoIDE中使用Semihosting功能

[复制链接]
1297|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
月影2006|  楼主 | 2011-11-6 15:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Semi, TI, ST, os, IDE
Semihosting功能是CoIDE1.3.1中新加的一个功能。在调试时,用户的程序在使用相关的输入和输出函数时,会触发一个相应的软件终端,调试器相应这个中断之后,用户可以在CoIDE的Semihosting窗口中看到MCU的输出信息或者输入信息给MCU。
这个功能是调试程序时才能使用的,而且需要用户修改程序代码才能实现。如果不是在调试程序,或者调试时Semihosting功能没有打开,而代码里又进行了Semihosting的设置,那么代码执行时会停在软件中断处,不会继续进行。这个和SWD trace 功能有很大差别。
使用Semihosting的方法:
1. 首先,编辑代码,在CoIDE中勾选Semihosting组件,并查看Semihosting的例子。
2. 这个例子不能直接添加到工程中,而是要使用这个例子的函数替换掉printf.c中的同名函数或者厂商库中的Printchar函数
3. 在代码中加入想要打印的文字,以/n或者/n/r结尾,如:printf("Hello world!\n\r");
4. 在调试设置中,勾选Semihosting Enable选项
5. 连接调试器,进入调试
Note:CoIDE没有实现scanf重定向的函数,测试Semihosting输入可以使用SH_GetChar(),或者自己实现一个scanf。
Semihosting的功能和调试器及使用的MCU无关,但是只能在调试时使用。代码正式发布时不适合使用Semihosting功能。

相关帖子

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

本版积分规则

0

主题

60

帖子

0

粉丝