

eclipse+openocdのデバッグ環境を構築中なのですが、  
exampleのhelloプログラムのデバッグ方法が分かりません。  
手順を具体的に教えていただけないでしょうか?

こちらで、試したのは、nuttxのデバッグを開始したところで、  
hello_main()にブレークポイントをはり、  
nuttxをコンティニューで実行したのち、  
シリアルターミナルから"hello"と入力しました。  
結果、セグメンテーションフォルトが発生してコネクションが切れました。

以下は、デバッグコンソールのログとシリアルターミナルのログです。

[code]

    [console]
    b hello_main
    Breakpoint 2 at 0xd008098: file hello_main.c, line 56.
    
    bt
    #0  __start () at chip/cxd56_start.c:277
    
    b
    Note: breakpoint 1 also set at pc 0x28.
    Breakpoint 3 at 0x28
    
    c
    c
    Continuing.
    Segmentation fault (core dumped)
    Remote connection closed
    -----------------------------------
    [serial terminal]
    Waiting for debugger connection..                                               
    NuttShell (NSH) NuttX-7.22                                                      
    nsh> hello                                                              
    ------------------------------------
    
[/code]


CC BY-SA 4.0
2019-01-01T09:42:22.990
51651
2019-01-19T06:16:50.120
2019-01-01T10:18:30.460
29826
31638
question
spresense
eclipse debug サンプル Hello World


お世話になっております。自己解決しました、ありがとうございます。

./spresense-openocd/src/rtos/nuttx_header.h  
上記、ファイルを修正しました。以下はdiffです。

[code]

    diff nuttx_header.org.h nuttx_header.h
    38,40c38,40
    < #define XCPREG  0x70
    < #define STATE 0x19
    < #define NAME 0xb8
    ---
    > #define XCPREG  0x78
    > #define STATE 0x1a
    > #define NAME 0x14c
    
[/code]

以上、宜しくお願い致します。


CC BY-SA 4.0
2019-01-19T06:16:50.120
52109
2019-01-19T06:16:50.120
31638
51651
answer