什么是Semihosting?

Semihosting简介

在创建一个新的嵌入式应用程序时,在开发的早期阶段,有时需要输出调试状态消息。
通常情况下,可以通过一条串口线,将需要的信息输出到PC机上的串口调试助手,但通过semihosting技术(半托管技术),可以不需要串口线,而将信息显示在IDE的控制台窗口中,常见的例子是printf语句将字符串显示在IDE的console窗口中,这样可以不需要额外的硬件设备就可以调试程序。
术语“半托管”最初是由ARM在20世纪90年代早期提出的,基本上表示部分功能是由主机(运行调试工具的PC)执行的,部分是由目标(开发板)执行的。最初的目的是在根本没有可用的真正的硬件外设时,可以调试程序。

Semihosting技术的局限性

显而易见,Semihosting的半托管技术,与单独硬件设备相比,会影响程序运行,每次输出信息时,程序会暂停,然后传输调试信息,使得代码运行起来变慢。另外,信息传输时代码会暂停,有可能会影响到中断,因此,有条件情况下,最好使用硬件串口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值