Ignore:
Timestamp:
Jun 8, 2018, 11:24:32 AM (6 years ago)
Author:
nmir-saito
Message:

set svn:mime-type to files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ssp_aarch64/trunk/qemu_virt_gcc/target_user.txt

    • Property svn:mime-type set to text/plain; charset=utf-8
    r353 r356  
    11=====================================================================
    2                  QEMU-VIRTターゲット依存部 (ssp-1.3.0対応)
     2                 QEMU-VIRTターゲット依存部 (ssp-1.3.0対応)
    33                               Last Modified: '18/05/29
    44=====================================================================
    55
    6 â—‹æ¦‚要
     6○概要
    77
    8 QEMU-VIRTターゲット依存部は,プロセッサにCortex-A53 を搭載した
    9 QEMUの仮想ボードVIRTをサポートしている.
     8QEMU-VIRTターゲット依存部は,プロセッサにCortex-A53 を搭載した
     9QEMUの仮想ボードVIRTをサポートしている.
    1010
    1111
    12 â—‹ã‚«ãƒ¼ãƒãƒ«ã®ä½¿ç”¨ãƒªã‚½ãƒ¼ã‚¹
     12○カーネルの使用リソース
    1313
    14 ã‚«ãƒ¼ãƒãƒ«ã¯ä»¥ä¸‹ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’使用する.
     14カーネルは以下のリソースを使用する.
    1515
    16   ・ROM
    17      ã‚³ãƒ¼ãƒ‰ã‚’é
    18 ç½®ã™ã‚‹ï¼Ž
    19      ä½¿ç”¨é‡ã¯ä½¿ç”¨ã™ã‚‹APIの数に依存する.
     16  ・ROM
     17     コードを配置する.
     18     使用量は使用するAPIの数に依存する.
    2019
    21   ・RAM
    22      ãƒ‡ãƒ¼ã‚¿ã‚’é
    23 ç½®ã™ã‚‹ï¼Ž
    24      ä½¿ç”¨é‡ã¯ã‚ªãƒ–ジェクト数に依存する.
     20  ・RAM
     21     データを配置する.
     22     使用量はオブジェクト数に依存する.
    2523 
    26   ・Generic Timer
    27      ã‚«ãƒ¼ãƒãƒ«å†
    28 éƒ¨ã®ãƒ†ã‚£ãƒƒã‚¯ã®ç”Ÿæˆã«ç”¨ã„る.
     24  ・Generic Timer
     25     カーネル内部のティックの生成に用いる.
    2926     
    30   ・UART0 (PL011)
    31      ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã®å‡ºåŠ›ã«ä½¿ç”¨ï¼Ž
     27  UART0 (PL011)
     28     コンソールの出力に使用.
    3229
    33 â—‹ãƒ‡ãƒãƒƒã‚°ç’°å¢ƒ
     30○デバッグ環境
    3431
    35 ãƒ‡ãƒãƒƒã‚°ç’°å¢ƒã¨ã—て,QEMUのGDBサーバ機能を利用して,GDBによるデバッグが可能.
     32デバッグ環境として,QEMUのGDBサーバ機能を利用して,GDBによるデバッグが可能.
    3633
    37 â—‹ã‚³ãƒ³ãƒ‘イラ
     34○コンパイラ
    3835
    39 GCC で動作確認を行った.動作確認した GCC は,以下のサイトから
    40 ãƒã‚¤ãƒŠãƒªãƒ‘ッケージをダウンロードすることができる.
    41 å‹•ä½œç¢ºèªãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ 5.3.1 で行った.
     36GCC で動作確認を行った.動作確認した GCC は,以下のサイトから
     37バイナリパッケージをダウンロードすることができる.
     38動作確認バージョンは 5.3.1 で行った.
    4239
    4340  https://releases.linaro.org/components/toolchain/binaries/
    4441
    45 â—‹å‰²è¾¼ã¿å„ªå
    46 ˆåº¦
     42○割込み優先度
    4743
    48 å‰²è¾¼ã¿å„ªå
    49 ˆåº¦ã¨ã—て指定可能な範囲は,-15 〜 -1 である.
     44割込み優先度として指定可能な範囲は,-15 〜 -1 である.
    5045
    51 â—‹ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›
     46○コンソール出力
    5247
    53 ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›ã«ã¯ PrimeCell UART (PL011)を使用する.
     48コンソール出力には PrimeCell UART (PL011)を使用する.
    5449
    55 é€šä¿¡ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã¯ä»¥ä¸‹ã®é€šã‚Šã§ã‚る.
     50通信フォーマットは以下の通りである.
    5651
    57   ・38400bps, Data 8bit, Parity none, Stop 1bit, Flow制御なし
     52  ・38400bps, Data 8bit, Parity none, Stop 1bit, Flow制御なし
    5853
    5954
    60 â—‹å„種設定の変更
     55○各種設定の変更
    6156
    62 å¹¾ã¤ã‹ã®ãƒ‘ラメータは変更可能になっている.設定ファイル毎に設定可能é 
    63 ç›®
    64 ã¯æ¬¡ã®ã‚ˆã†ã«ãªã£ã¦ã„る.
     57幾つかのパラメータは変更可能になっている.設定ファイル毎に設定可能項目
     58は次のようになっている.
    6559
    66 â—Makefile.target の設定é 
    67 ç›®
     60●Makefile.target の設定項目
    6861
    69 ãƒ»GCC_TARGET
    70   GCCの target triplet を定義
     62GCC_TARGET
     63  GCCの target triplet を定義
    7164
    72 ãƒ»TEXT_START_ADDRESS/DATA_START_ADDRESS
    73   テキストセクション,データセクションの開始アドレス
     65TEXT_START_ADDRESS/DATA_START_ADDRESS
     66  テキストセクション,データセクションの開始アドレス
    7467
    75 ãƒ»INCLUDES
    76   インクルード指定
     68INCLUDES
     69  インクルード指定
    7770
    78 ãƒ»COPTS
    79   Cコンパイラへのオプション
     71COPTS
     72  Cコンパイラへのオプション
    8073
    81 ãƒ»LDFLAGS
    82   リンカへのオプション
     74LDFLAGS
     75  リンカへのオプション
    8376
    84 â—target_config.h の設定é 
    85 ç›®
     77●target_config.h の設定項目
    8678
    87 ãƒ»DEFAULT_ISTKSZ
    88   デフォルトの非タスクコンテキスト用のスタックサイズ
     79DEFAULT_ISTKSZ
     80  デフォルトの非タスクコンテキスト用のスタックサイズ
    8981
    90 â—‹å‹•ä½œç¢ºèªæ–¹æ³•
     82○動作確認方法
    9183
    92 â— QEMUを用いて動作を確認する場合,以下のようにコマンドを実行する.
     84● QEMUを用いて動作を確認する場合,以下のようにコマンドを実行する.
    9385
    94 (実行例)
     86(実行例)
    9587$ qemu-system-aarch64 -M virt -cpu cortex-a53 -serial stdio -kernel ssp
    9688
     
    10799
    108100
    109 â— GDBによるデバッグ手順
     101● GDBによるデバッグ手順
    110102
    111 GDBを用いたデバッグを行う場合,シェルを2つ用意する.
    112 ä¸€ã¤ã¯qemuを起動しGDBサーバとして起動する.
     103GDBを用いたデバッグを行う場合,シェルを2つ用意する.
     104一つはqemuを起動しGDBサーバとして起動する.
    113105
    114 (1つ目のシェル)
     106(1つ目のシェル)
    115107$ qemu-system-aarch64 -M virt -cpu cortex-a53 -serial stdio -s -S
    116108VNC server running on 127.0.0.1:5900
    117109
    118 ã“れで localhost:1234 でGDBサーバが接続をå¾
    119 ã¡å—ける状æ
    120 ‹ã«ãªã‚‹ï¼Ž
     110これで localhost:1234 でGDBサーバが接続を待ち受ける状態になる.
    121111
    122 ã‚‚う一つのシェルでGDBを起動し,GDBサーバに接続する.
     112もう一つのシェルでGDBを起動し,GDBサーバに接続する.
    123113
    124 (2つ目のシェル)
     114(2つ目のシェル)
    125115$ aarch-elf-gdb ssp
    126116(gdb)
    127117
    128 ã“こで各種の設定,サーバへの接続,ロードを行うとステップや実行等の
    129 ãƒ‡ãƒãƒƒã‚°å‹•ä½œã‚’行うことができる.
     118ここで各種の設定,サーバへの接続,ロードを行うとステップや実行等の
     119デバッグ動作を行うことができる.
    130120
    131121(gdb) set architecture aarch64
     
    149139Continuing.
    150140
    151 'c' コマンドで実行を継続すると,GDBサーバ側の画面にシリアルメッセージが表示される.
    152 ã‚­ãƒ¼å
    153 ¥åŠ›ã‚‚サーバ側のシェル画面で行う.
     141'c' コマンドで実行を継続すると,GDBサーバ側の画面にシリアルメッセージが表示される.
     142キー入力もサーバ側のシェル画面で行う.
    154143
    155 qemuを終了する場合はCtrl-Cで終了する.
    156 gdb を終了する場合はプロンプトで'q'コマンドを実行して終了する.
     144qemuを終了する場合はCtrl-Cで終了する.
     145gdb を終了する場合はプロンプトで'q'コマンドを実行して終了する.
    157146
    158147
    159 â—‹å¤‰æ›´å±¥æ­´
    160  ãƒ»2018/05/29
    161 ã€€ã€€æ–°è¦ä½œæˆ
     148○変更履歴
     149 2018/05/29
     150  新規作成
Note: See TracChangeset for help on using the changeset viewer.