現在、余暇のプロジェクトをアップグレードして、Microchip の 8 ビット マイクロの代わりに ARM を使用するようにしています。
しかし、残念ながら私はいくつかの問題に遭遇しました:
プログラミング方法の違いがよくわかりません: - ROM へのプログラミング - RAM へのプログラミング (私の場合は 32K しかありません)
私はすでに、IAR IDE を使用していくつかの「hello world」テストを実行しました。ここでは、コンパイル/プログラミングは、私が心配していなかった特定の構成で行われました。しかし、IAR IDE と IAR コンパイラの 32K 制限が気に入らなかったので、新しい環境をセットアップすることにしました (以下の構成を参照)。
Eclipse 環境をセットアップした後、IAR から提供された例を使用して、ARM を RAM にプログラムすることができました。しかし、ARM を ROM にプログラムしたいと思ったとき、プログラムは何もしないようです。ROM または RAM への何らかのマッピングを行ったと思われる makefile の例を使用しました。
ROMは読み取り専用メモリであり、電源が切断された後も空にならず、RAMの方が高速ですが、毎回プログラムをARMにダウンロードする必要があることを私は知っています.
プログラムを ROM と RAM の部分に分割する必要がありますか、それとも、電源投入時に ARM がコードを RAM に再マップするようにすべてを ROM にプログラムできますか?
現在、次の構成を使用しています。
- Codesourcery GCC
- エクリプス C/C++
- Segger Jlink プログラマー (GDB サーバー)
- CMSIS または LPCOpen ライブラリ (まだ完全には機能していません)
- NXP LPC1766 コーテックス M3
- Windows 8 64 ビット
- LPC1768 および CMSIS の IAR の例
- NXP の例: lpc17xx.cmsis.driver.library
ROMとRAMのさまざまな用途と、ROMとRAMメモリを利用するためにコンパイラ/メイクファイルを設定する方法を理解するのを手伝ってくれませんか。
最後に、毎回再プログラムしなくてもARMの電源をオフにできるように、ARM(私は思う)をROMにプログラムできるようにしたいと考えています。