打印
[Cortex-M0技术交流]

NANO130板子 怎么 实现半主机

[复制链接]
4462|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
客气了。

使用特权

评论回复
5
wjsjdeng| | 2013-6-21 12:25 | 只看该作者
mark..

使用特权

评论回复
6
haipiao| | 2013-11-30 18:23 | 只看该作者
九哥 你好 我用了您说的代码 还是显示“.\obj\ADC.axf: Error: L6218E: Undefined symbol SH_DoCommand (referred from nano1xx_retarget.o).”

使用特权

评论回复
7
haipiao| | 2013-11-30 18:52 | 只看该作者
试了半天 我用了BSP里面自带的driver 例子 反正是 semihost的例子都没问题 能跑过 但是其他的GPIO等 都有错误SH_DoCommand

使用特权

评论回复
8
kctime| | 2014-5-30 00:36 | 只看该作者
在工程设置里,C++和ASM选项卡都define一下DEBUG_ENABLE_SEMIHOST这个符号

使用特权

评论回复
9
缥缈九哥| | 2014-6-3 14:47 | 只看该作者
SH_DoCommand  这个函数没有外部 声明 ?

使用特权

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

本版积分规则

16

主题

75

帖子

1

粉丝