注意 : このページはC言語初心者向けではなく、組込み開発初心者を対象としています。理解には、C言語に関する十分な知識 および 組込み機器開発に関する多少の知識を必要とします。

このページは、これまで避けて通ってきたC言語の嫌な部分と直面し、C言語プログラマとしての自立を促すモノです。C言語の本質が知りたい方や、ちゃんとした資料をお探しの方はお勧めしません。また、「初めてのC言語」というタイトルは、「C言語を初めてやる」という意味ではありませんので、C言語がわからない方はご遠慮ください。ターゲットはIntelでもWindowsでもLinuxでもありません。聞いたこともないようなプロセッサが相手です。

スポラディック連載なので、作者にひまが出来次第追加していきます。


第一部 - 初めてのHelloWorld

この章では こんなこと やります
目的画面にHello, the world!と表示するプログラムを作ります。
ターゲットv850-nec-elf-run(gdbシミュレータ - NEC製V850プロセッサ)
V850プロセッサに関する資料はNEC エレクトロン デバイス社で手に入ります。
キーワードスタートアップ, コーリングコンベンション, 標準ライブラリ, リンカスクリプト, メモリマップ

第1回 プログラムを書こう

プログラムの基本であるHello, the world!!をLinux上で動作させます。

第2回 開発環境を作ろう

ターゲットであるV850用の開発環境を作成します。

第3回 スタートアップ

スタートアップの基礎を作ります (完璧じゃないです)。

第4回 info読み

gccのリンカオプションを調べ、ライブラリを取り込まないようにします。

第5回 出力先を探せ

シミュレータから文字出力をする方法を探ります。

第6回 C言語とつなぐ方法

gccのコーリングコンベンションを調べます。

第7回 printf相当の関数の実装

printf相当の関数を実装します。

第8回 スタートアップ その2

スタートアップルーチンを作り直します。

第9回 リンカスクリプト

リンカスクリプトを自作します。

第10回 三度目のスタートアップ

ついに動くスタートアップが完成します。

まとめ

第一部のまとめです。


第二部 - 初めてのROM化

この章では こんなこと やります
目的発光ダイオードを点滅させるプログラムを作り、ROM化し、実機で動作させる。
ターゲット株式会社電算 DVE-SH7700(日立製 SH3[SH7708]プロセッサ)
SH7708に関する資料は日立製作所 SuperHホームページで手に入ります。
キーワードVMA, LMA, EPROM, volatile, LEDデバッグ, SDRAM初期化

第1回 開発環境を作ろう

まずはここから始めましょう。

第2回 調べ物

今回のターゲットを動かすために必要な情報を調べます。

第3回 移植作業

第一部で作ったスタートアップとリンカスクリプトを"そのまま"移植します。

ここまでやってなんですが、しばらくほったらかしにしていたら手元からSuperHのカードがなくなってしまったので、ターゲットを変えようと思います。今のところ考えているターゲットは、マイダスのV850E/MA1-CBです。前と同じチップなので楽に終わると思いますが、後は暇次第でしょう。

これからやるかもしれないこと

この先はこんなことをやろうかなと考えています。括弧内は対象ボードおよびプロセッサを意味しています。なかなか新しいターゲットが手に入らなくて、同じような環境になりがちになってしまうのが悲しいですが...