文書の表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== Teaboard:Hello, world ====== 開発環境の構築も完了したところで、いよいよ「Hello, world」だ。 まずは作業用SDカード領域の確保。 * **ROMディスクから起動していることの確認**<code bash> [/SYS]% df PATH DEV TOTAL FREE USED UNIT MAXFILE NAME /SYS rda 1829 0 100% 1024 256 PM:TBMX1 </code> * **パーティションの確保**<code bash> [/SYS]% hdpart pcb pcb [C:483 H:64 S:63 B:1953792 (954 MB)] No System Boot StartCHS EndCHS SecNo SecCnt Size 1 13 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB 2 00 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB 3 00 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB 4 00 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB ** Create/Delete/Boot/Edit/Quit ? c Create PartNo (1-4) ? 1 Size [GB/MB/KB,All] (<201MB) ? 200M No System Boot StartCHS EndCHS SecNo SecCnt Size 1 13 BTRON 00 0: 2: 4 101: 63:63 129 411135 200 MB 2 00 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB 3 00 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB 4 00 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB ** Create/Delete/Boot/Edit/Update/Quit ? b Boot PartNo (1-4,Clear) ? 1 No System Boot StartCHS EndCHS SecNo SecCnt Size 1 13 BTRON 80 0: 2: 4 101: 63:63 129 411135 200 MB 2 00 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB 3 00 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB 4 00 ------ 00 0: 0: 0 0: 0: 0 0 0 0 KB ** Create/Delete/Boot/Edit/Update/Quit ? u ** pcb: Updated Master Boot Block </code> * **パーティションのフォーマット**<code bash> [/SYS]% format -b pcb0 WORK Format pcb0 [STD] WORK Logical Formatting... Writing BootCode... Disk Format Success. </coee> * **パーティションのマウント**<code bash> [/SYS]% att pcb0 pcb0 pcb0 -> pcb0 </code> * **システムファイルのコピー**<code bash> [/SYS]% cp -b -v -r * /pcb0 copied: SBOOT copied: KERNEL.SYS copied: SYSCONF copied: DEVCONF copied: STARTUP.CMD copied: STARTUP.CLI copied: rsdrv copied: netdrv copied: unixemu copied: tcpipmgr copied: NETCONF copied: cli copied: .xcli copied: bin </code> * **パーティションのアンマウント**<code bash> [/SYS]% det pcb0 </code> * **再起動**<code bash> [/SYS]% # bd </code> * **SDカードからブートしているか確認**<code bash> [/SYS]% df PATH DEV TOTAL FREE USED UNIT MAXFILE NAME /SYS pcb0 205564 203312 1% 4096 17408 WORK </code> 上記通りにやったのにもかかわらず、内蔵ROMディスク(rda)から起動するようならば、一度Teaboardの電源を落として(USBケーブルを抜いて)から起動すると、SDカードから起動すると思う。 次は、Hello, worldのコンパイル。 Teaboardで走るプログラムは「プロセスベース」と「T-Kernelベース」の2つに大別される。基本的にプログラムは、それぞれのベースに合わせたlocal/te/bapplとlocal/te/kappl以下で開発を行う。今回はプロセスベースのHello, worldを作成する。 * **ディレクトリ構成**<code> /opt/local/te/bappl /hello /src /tbmx1 </code>hello/srcにソースファイルを格納し、バイナリはhello/tbmx1に格納する。デフォルトのmakerulesでは、バイナリ格納用のディレクトリ名によって、ターゲットを自動的に切り替えるようになっいるっぽい。なので、基本的にはこのディレクトリ構成は変更しない方がいいと思われる。 * **hello.cの作成** \\ hello/srcにhello.cを作る。<code c> #include <stdio.h> int main(void) { printf("Hello, world¥n"); return 0; } </code> * **Makefileの作成** \\ これもhello/srcに作る。<code makefile> include ../../etc/makerules VPATH = ../src hello: hello.o </code> * **make**<code bash> make </code> blog/2007/2007-01-30.txt 最終更新: 2015-01-06 11:51(外部編集)