打印

M051是否支持SemiHost

[复制链接]
3164|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cat_li|  楼主 | 2010-10-27 14:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
X-Hawk| | 2010-10-27 14:25 | 只看该作者
M051也支持!semihost只跟开发工具和CPU内核有关。

要使用semihost, 软件的HardFault中断需要加特别处理(如下),
我看官网的M051 BSP, IAR版本的已加,Keil版本的还没加。(当然用户自己加入也行)

HardFault_Handler
                LDR    R0, [R13, #24]        ; Get previous PC
                LDRH   R1, [R0]              ; Get instruction
                LDR    R2, =0xBEAB           ; The sepcial BKPT instruction
                CMP    R1, R2                ; Test if the instruction at previous PC is BKPT
                BNE    HardFault_Handler_Ret ; Not BKPT
        
                ADDS   R0, #4                ; Skip BKPT and next line
                STR    R0, [R13, #24]        ; Save previous PC
        
                BX     LR
    ENDIF

使用特权

评论回复
板凳
cat_li|  楼主 | 2010-10-29 17:16 | 只看该作者
不知道这段代码要加到什么地方,菜鸟,对这些不太明白

使用特权

评论回复
地板
黑发尤物| | 2010-10-30 16:24 | 只看该作者
也想知道加在什么地方

使用特权

评论回复
5
cat_li|  楼主 | 2010-11-12 12:45 | 只看该作者
2# X-Hawk

能不能讲一下这部分代码要添加在什么地方呢

使用特权

评论回复
6
gxgclg| | 2010-11-12 15:55 | 只看该作者
2楼的大侠给说明一下加在什么地方

使用特权

评论回复
7
cat_li|  楼主 | 2010-11-12 17:12 | 只看该作者
官方出来个人给回答一下吧

使用特权

评论回复
8
HORSE7812| | 2014-11-17 20:57 | 只看该作者

使用特权

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

本版积分规则

个人签名:正在学习STM32  LM3S [url=http://shop33501731.taobao.com]我的淘宝店铺,欢迎光临[/url] 51开发板PCB免费

13

主题

121

帖子

0

粉丝