[Cortex-M0技术交流] NANO130板子 怎么 实现半主机

[复制链接]
 楼主| yytpy2008 发表于 2013-5-7 20:21 | 显示全部楼层 |阅读模式
AN, ST, se, Semi, EMI
在nano1xx_retarget.c  添加 #define DEBUG_ENABLE_SEMIHOST.
在startup_nano1xx.s上面添加                 
GBLL    SEMIHOSTED
SEMIHOSTED       SETL    {TRUE}
编译显示“.\obj\ADC.axf: Error: L6218E: Undefined symbol SH_DoCommand (referred from nano1xx_retarget.o).” 请问各位大神。问题出在那里,应该怎么实现???
缥缈九哥 发表于 2013-5-7 22:37 | 显示全部楼层
本帖最后由 缥缈九哥 于 2013-5-7 22:39 编辑

你的启动代码请参考我的那个例子。
加上那么一段。
    IF :DEF:DEBUG_ENABLE_SEMIHOST
                ALIGN
; int SH_DoCommand(int n32In_R0, int n32In_R1, int *pn32Out_R0);
; Input
;   R0,n32In_R0: semihost register 0
;   R1,n32In_R1: semihost register 1
; Output
;   R2,*pn32Out_R0: semihost register 0
; Return
;   0: No ICE debug
;   1: ICE debug
SH_DoCommand  PROC  
                EXPORT SH_DoCommand
                BKPT   0xAB                  ; Wait ICE or HardFault
                                     ; ICE will step over BKPT directly
                                     ; HardFault will step BKPT and the next line
                B      SH_ICE
SH_HardFault                         ; Captured by HardFault
                MOVS   R0, #0                ; Set return value to 0
                BX     lr                    ; Return
SH_ICE                               ; Captured by ICE
                ; Save return value
                CMP    R2, #0
                BEQ    SH_End
                STR    R0, [R2]              ; Save the return value to *pn32Out_R0
SH_End
                MOVS   R0, #1                ; Set return value to 1
                BX     lr                    ; Return
                ALIGN
    ENDP
    ENDIF

                END

 楼主| yytpy2008 发表于 2013-5-11 16:13 | 显示全部楼层
谢谢九哥
缥缈九哥 发表于 2013-5-12 22:02 | 显示全部楼层
客气了。
wjsjdeng 发表于 2013-6-21 12:25 | 显示全部楼层
mark..
haipiao 发表于 2013-11-30 18:23 | 显示全部楼层
九哥 你好 我用了您说的代码 还是显示“.\obj\ADC.axf: Error: L6218E: Undefined symbol SH_DoCommand (referred from nano1xx_retarget.o).”
haipiao 发表于 2013-11-30 18:52 | 显示全部楼层
试了半天 我用了BSP里面自带的driver 例子 反正是 semihost的例子都没问题 能跑过 但是其他的GPIO等 都有错误SH_DoCommand
kctime 发表于 2014-5-30 00:36 | 显示全部楼层
在工程设置里,C++和ASM选项卡都define一下DEBUG_ENABLE_SEMIHOST这个符号
缥缈九哥 发表于 2014-6-3 14:47 | 显示全部楼层
SH_DoCommand  这个函数没有外部 声明 ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

75

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

16

主题

75

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部