Changeset 356 for ssp_aarch64/trunk/qemu_virt_gcc/target_user.txt
- Timestamp:
- Jun 8, 2018, 11:24:32 AM (6 years ago)
- 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 1 1 ===================================================================== 2 QEMU-VIRT ã¿ã¼ã²ããä¾åé¨ (ssp-1.3.0対å¿ï¼2 QEMU-VIRTターゲット依存部 (ssp-1.3.0対応) 3 3 Last Modified: '18/05/29 4 4 ===================================================================== 5 5 6 âæ¦è¦ 6 ○概要 7 7 8 QEMU-VIRT ã¿ã¼ã²ããä¾åé¨ã¯ï¼ããã»ããµã«Cortex-A53 ãæè¼ãã9 QEMU ã®ä»®æ³ãã¼ãVIRTããµãã¼ããã¦ããï¼8 QEMU-VIRTターゲット依存部は,プロセッサにCortex-A53 を搭載した 9 QEMUの仮想ボードVIRTをサポートしている. 10 10 11 11 12 âã«ã¼ãã«ã®ä½¿ç¨ãªã½ã¼ã¹ 12 ○カーネルの使用リソース 13 13 14 ã«ã¼ãã«ã¯ä»¥ä¸ã®ãªã½ã¼ã¹ã使ç¨ããï¼ 14 カーネルは以下のリソースを使用する. 15 15 16 ã»ROM 17 ã³ã¼ããé 18 ç½®ããï¼ 19 使ç¨éã¯ä½¿ç¨ããAPIã®æ°ã«ä¾åããï¼ 16 ・ROM 17 コードを配置する. 18 使用量は使用するAPIの数に依存する. 20 19 21 ã»RAM 22 ãã¼ã¿ãé 23 ç½®ããï¼ 24 使ç¨éã¯ãªãã¸ã§ã¯ãæ°ã«ä¾åããï¼ 20 ・RAM 21 データを配置する. 22 使用量はオブジェクト数に依存する. 25 23 26 ã»Generic Timer 27 ã«ã¼ãã«å 28 é¨ã®ãã£ãã¯ã®çæã«ç¨ããï¼ 24 ・Generic Timer 25 カーネル内部のティックの生成に用いる. 29 26 30 ã»UART0 (PL011)31 ã³ã³ã½ã¼ã«ã®åºåã«ä½¿ç¨ï¼27 ・UART0 (PL011) 28 コンソールの出力に使用. 32 29 33 âãããã°ç°å¢ 30 ○デバッグ環境 34 31 35 ãããã°ç°å¢ã¨ãã¦ï¼QEMUã®GDBãµã¼ãæ©è½ãå©ç¨ãã¦ï¼GDBã«ãããããã°ãå¯è½.32 デバッグ環境として,QEMUのGDBサーバ機能を利用して,GDBによるデバッグが可能. 36 33 37 âã³ã³ãã¤ã© 34 ○コンパイラ 38 35 39 GCC ã§åä½ç¢ºèªãè¡ã£ãï¼åä½ç¢ºèªãã GCC ã¯ï¼ä»¥ä¸ã®ãµã¤ããã40 ãã¤ããªããã±ã¼ã¸ããã¦ã³ãã¼ããããã¨ãã§ããï¼ 41 åä½ç¢ºèªãã¼ã¸ã§ã³ã¯ 5.3.1 ã§è¡ã£ãï¼ 36 GCC で動作確認を行った.動作確認した GCC は,以下のサイトから 37 バイナリパッケージをダウンロードすることができる. 38 動作確認バージョンは 5.3.1 で行った. 42 39 43 40 https://releases.linaro.org/components/toolchain/binaries/ 44 41 45 âå²è¾¼ã¿åªå 46 度 42 ○割込み優先度 47 43 48 å²è¾¼ã¿åªå 49 度ã¨ãã¦æå®å¯è½ãªç¯å²ã¯ï¼-15 ã -1 ã§ããï¼ 44 割込み優先度として指定可能な範囲は,-15 〜 -1 である. 50 45 51 âã³ã³ã½ã¼ã«åºå 46 ○コンソール出力 52 47 53 ã³ã³ã½ã¼ã«åºåã«ã¯ PrimeCell UART (PL011)ã使ç¨ããï¼ 48 コンソール出力には PrimeCell UART (PL011)を使用する. 54 49 55 éä¿¡ãã©ã¼ãããã¯ä»¥ä¸ã®éãã§ããï¼ 50 通信フォーマットは以下の通りである. 56 51 57 ã»38400bps, Data 8bit, Parity none, Stop 1bit, Flowå¶å¾¡ãªã52 ・38400bps, Data 8bit, Parity none, Stop 1bit, Flow制御なし 58 53 59 54 60 âå種è¨å®ã®å¤æ´ 55 ○各種設定の変更 61 56 62 å¹¾ã¤ãã®ãã©ã¡ã¼ã¿ã¯å¤æ´å¯è½ã«ãªã£ã¦ããï¼è¨å®ãã¡ã¤ã«æ¯ã«è¨å®å¯è½é 63 ç® 64 ã¯æ¬¡ã®ããã«ãªã£ã¦ããï¼ 57 幾つかのパラメータは変更可能になっている.設定ファイル毎に設定可能項目 58 は次のようになっている. 65 59 66 âMakefile.target ã®è¨å®é 67 ç® 60 ●Makefile.target の設定項目 68 61 69 ã»GCC_TARGET70 GCC ã® target triplet ãå®ç¾©62 ・GCC_TARGET 63 GCCの target triplet を定義 71 64 72 ã»TEXT_START_ADDRESS/DATA_START_ADDRESS73 ããã¹ãã»ã¯ã·ã§ã³ï¼ãã¼ã¿ã»ã¯ã·ã§ã³ã®éå§ã¢ãã¬ã¹65 ・TEXT_START_ADDRESS/DATA_START_ADDRESS 66 テキストセクション,データセクションの開始アドレス 74 67 75 ã»INCLUDES76 ã¤ã³ã¯ã«ã¼ãæå®68 ・INCLUDES 69 インクルード指定 77 70 78 ã»COPTS79 C ã³ã³ãã¤ã©ã¸ã®ãªãã·ã§ã³71 ・COPTS 72 Cコンパイラへのオプション 80 73 81 ã»LDFLAGS82 ãªã³ã«ã¸ã®ãªãã·ã§ã³74 ・LDFLAGS 75 リンカへのオプション 83 76 84 âtarget_config.h ã®è¨å®é 85 ç® 77 ●target_config.h の設定項目 86 78 87 ã»DEFAULT_ISTKSZ88 ããã©ã«ãã®éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ãµã¤ãº79 ・DEFAULT_ISTKSZ 80 デフォルトの非タスクコンテキスト用のスタックサイズ 89 81 90 âåä½ç¢ºèªæ¹æ³ 82 ○動作確認方法 91 83 92 â QEMUãç¨ãã¦åä½ã確èªããå ´åï¼ä»¥ä¸ã®ããã«ã³ãã³ããå®è¡ããï¼ 84 ● QEMUを用いて動作を確認する場合,以下のようにコマンドを実行する. 93 85 94 ( å®è¡ä¾)86 (実行例) 95 87 $ qemu-system-aarch64 -M virt -cpu cortex-a53 -serial stdio -kernel ssp 96 88 … … 107 99 108 100 109 â GDBã«ãããããã°æé 101 ● GDBによるデバッグ手順 110 102 111 GDB ãç¨ãããããã°ãè¡ãå ´åï¼ã·ã§ã«ã2ã¤ç¨æããï¼112 ä¸ã¤ã¯qemuãèµ·åãGDBãµã¼ãã¨ãã¦èµ·åããï¼ 103 GDBを用いたデバッグを行う場合,シェルを2つ用意する. 104 一つはqemuを起動しGDBサーバとして起動する. 113 105 114 (1 ã¤ç®ã®ã·ã§ã«)106 (1つ目のシェル) 115 107 $ qemu-system-aarch64 -M virt -cpu cortex-a53 -serial stdio -s -S 116 108 VNC server running on 127.0.0.1:5900 117 109 118 ãã㧠localhost:1234 ã§GDBãµã¼ããæ¥ç¶ãå¾ 119 ã¡åããç¶æ 120 ã«ãªãï¼ 110 これで localhost:1234 でGDBサーバが接続を待ち受ける状態になる. 121 111 122 ããä¸ã¤ã®ã·ã§ã«ã§GDBãèµ·åãï¼GDBãµã¼ãã«æ¥ç¶ããï¼ 112 もう一つのシェルでGDBを起動し,GDBサーバに接続する. 123 113 124 (2 ã¤ç®ã®ã·ã§ã«)114 (2つ目のシェル) 125 115 $ aarch-elf-gdb ssp 126 116 (gdb) 127 117 128 ããã§å種ã®è¨å®ï¼ãµã¼ãã¸ã®æ¥ç¶ï¼ãã¼ããè¡ãã¨ã¹ããããå®è¡çã® 129 ãããã°åä½ãè¡ããã¨ãã§ããï¼ 118 ここで各種の設定,サーバへの接続,ロードを行うとステップや実行等の 119 デバッグ動作を行うことができる. 130 120 131 121 (gdb) set architecture aarch64 … … 149 139 Continuing. 150 140 151 'c' ã³ãã³ãã§å®è¡ãç¶ç¶ããã¨ï¼GDBãµã¼ãå´ã®ç»é¢ã«ã·ãªã¢ã«ã¡ãã»ã¼ã¸ã表示ãããï¼ 152 ãã¼å 153 ¥åããµã¼ãå´ã®ã·ã§ã«ç»é¢ã§è¡ãï¼ 141 'c' コマンドで実行を継続すると,GDBサーバ側の画面にシリアルメッセージが表示される. 142 キー入力もサーバ側のシェル画面で行う. 154 143 155 qemu ãçµäºããå ´åã¯Ctrl-Cã§çµäºããï¼156 gdb ãçµäºããå ´åã¯ããã³ããã§'q'ã³ãã³ããå®è¡ãã¦çµäºããï¼144 qemuを終了する場合はCtrl-Cで終了する. 145 gdb を終了する場合はプロンプトで'q'コマンドを実行して終了する. 157 146 158 147 159 âå¤æ´å±¥æ´ 160 ã»2018/05/29161 ããæ°è¦ä½æ 148 ○変更履歴 149 ・2018/05/29 150 新規作成 -
Property svn:mime-type
set to
Note:
See TracChangeset
for help on using the changeset viewer.