ビルドしてあるので、スタートアップルーチンを作って起動するまでの道を作る。(1)まず、リンカースクリプトを精査する。までは、開発用のブート領域のようで、使わないので、それを無効にした。※「ミラー領域」の事が良く判ってなかった・・・また、ハードウェアーベクターセクションに多少の問題がある。VECそこで、「KEEP」キーワードで囲む必要がある。※「ivec」(割り込みベクターテーブル)も同じ。開始アドレス、長さなど設定して、4つのデバイス用リンカースクリプトを作成した。0xF2FFF)RL78/G13リンカースクリプト※データフラッシュ領域は記述が無いので、何らかの対応を行う必要があると思う。アセンブルソースを出力して、参考にする方法が確実で簡単な事が判った。crt0.lst※これなら、まねるだけなので、アセンブラを詳細に理解する必要がほぼ無い。※最低限の知識は必要だが、手本があれば、非常に簡単だ。「crt0.o」は、以下の構成のようだ。※スタックの開始アドレスは、リンカースクリプトで指定されたラベルを使う、また、スタックの深さは、リンカースクリプトで指示する。※定数などを読み書き可能な変数として設定している場合は、変数はRAM上に配置されるので、初期値をコピーしておく必要がある。始まる前にコンストラクターを走らせて、初期化しておく必要性がある。関数呼び出しとりあえず、適等に切り貼りして、「start.s」を作成。呼び出し部は、「init.c」で実行。最後に、リセットベクターに、start.sの開始アドレスを指示する必要がある。start,};これで、全て準備が整った、後は、自分のプログラムをコンパイルして、先に作ったプログラムをリンクするだけで起動するはず。リンカースクリプトを使うリンカーオプションでは、以上の二つが重要となる。関数が実行される準備が整った。今回、LEDを接続するポートとして、P43を使った。最初、LEDは点灯したままだったが、無効ループが短すぎたようだ、そこで、以下のように無効ループの回数を増やした。※「int」型は16ビットなので、「uint32_t」を使った。}}※無効ループ内では、「asm("nop")」を実行する、そうしないと最適化で、ループ自体が無くなってしまう。これで、無事にLEDの点滅まで出来た。Programmer」でデバイスに書き込む。※書き込み後、リセットが有効になっているので、書き込み機のリセットラインをオフラインにする必要がある。デバイスも扱えれば良いなぁーって思っていた。落ち着く訳だけど、値段、デバイスの種類、機能など、バランスが良い事に改めて気づく。※パッケージが基本、フラットパッケージのみなので敬遠されているのかもしれない。選択しないのかと思うかもしれないが、日本人だからルネサスを使うだけの事で、少し意地になっているかもしれないけど、ルネサスのラインナップは豊富だし、入手性も良く、値段もこなれていて安定している、マニュアルも日本語なので、開発のハードルは低いと感じている。逆に、「日本人」なのに、何故海外製のマイコンに走るのか、聞いてみたい。ラインナップは凄まじく多くて、どれを使うか非常に迷うけど、入手性と値段で、「G13」グループをとりあえず選択してみた。※「秋月電子」で安く購入出来る。290円、340円を数個購入してみた、後で気がついたけど、340円のデバイスが、変換基板にハンダ付けされたタイプが420円で売られていた、これは安い!※0.5mmピッチのハンダ付けはコツがいるので、自信の無い人は、モジュールを選べば良いだろう~※変換基板にピンを立てて、ソケット化すると、交換が出来て便利ではあるけど、ソケットのコストが痛いので、このような安いデバイスは、直で、ユニバーサル基板に乗せている。行った方法がそのまま使える。詳しい方法は、以下のリンクを参照して欲しい。RL78次に、フラッシュプログラミング環境を整える。最初、シリアルポートで簡単に接続出来ると思ったのだが、ドキュメントを読むと、多少の付加回路が必要な事が判った。プログラミング時の専用端子「TOOL0」があり、「/RESET」のタイミングで、通信を行う事で、プログラミングモードに移行する。※通常動作では、抵抗を介してプルダウンしておく。・「ルネサスの参考回路」リンクの参考回路(タイプB)では、トライステートバッファ(オープンドレインゲートとして利用)と、インバーターを使っている、少し考えて、トライステートをダイオードで置き換え、インバーターをNチャネルのFETで置き換え、簡易回路を作成してみた。※自分が使った部品は、3.3V~5Vの環境に対応している、電圧降下が少ないショットキーダイオードを使ったが、リークの少ない物を使用している。プルアップ抵抗は、デバイスに直接取り付けてあるので、省く。「簡易UART書き込み器」RL78/G13のデバイスは電源が少なくて、配線が楽だ!・Vss、Vdd、EVss、EVddに0.1uFのパスコンを付け電源に接続する。・REGCは0.47~1uFのコンデンサでVssに接続する。」と接続して、認識できる事を確認出来た。次は、書き込みプログラムを実装してみようと思う。