(Keil、IAR、またはそのようなsthなどの商用ツールチェーンを使用する予定がある場合、この投稿は部分的に役に立たなくなります)
ARM Cortexデバイスの場合、非常に多くのオプションを利用できます(;少し自動翻訳したい場合は、私のWebサイトを確認してください-ARMの(オープンソース)ツールチェーンに関するチュートリアルを作成しました-http :// www.freddiechopin.info/pl/artykuly/35-arm/59-arm-toolchain-tutorial-残念ながら英語に翻訳されていないため、Google翻訳を使用する必要があります。他にも役立つリソースがいくつかあります。 、特にそのようなツールチェーンのテンプレート/サンプルプロジェクト(ダウンロード中)。Eclipse、Makefile、GCCを使用したことがある場合は、このテーマ全体が簡単になります。サンプルプロジェクトのほとんどは必要なものに近いものですが、おそらくチェックする必要があります。 Cortex-M3であるSTM32(any)の例、およびCortex-M0であるLPC1114の例。
シミュレーターに関しては、個人的には問題の価値はないと思います。最近のGCCツールチェーンはとにかくそれを無効にします。これは唯一の命令シミュレーターであるため、周辺機器を簡単にシミュレートすることはできません。命令をシミュレートしたい場合は、同じように機能するPC用のコードを記述します(;実際のハードウェアで何かをチェックする必要がある場合は、GDBとJTAGを使用できます。非常に高価な独自の設計でない限り(できます-もう一度-他のオプションについては私のWebサイトを確認してください)ツールはほぼ無料です-OpenOCD(GDBサーバー)はオープンソースであり、FTx232ベースのJTAG(OpenOCDで最も人気のある種類)を約30ドルから購入できます。
大規模な商用ツールチェーンには、周辺機器シミュレーションを備えたシミュレーターがある場合がありますが、これらのコストは年間数千ユーロです(;
いくつかの記事を見つけるために、ツールチェーン、gcc、openocd、debugging、jtagなどのキーワードで「ARMCortex」を探し回っています。ネットワークにはたくさんの記事があります。
あなたの質問は本当に一般的で、答えるのはかなり難しいです。どのツールを使用するのか、外部ライブラリを使用する予定があるのか、これらのデバイスでどのような種類の作業を行うのかなどがわかりません。
私の経験から、組み込みの世界との接触は、PCソフトウェアの開発者にとってしばしば大きなショックです。ほとんど同じように機能しますが、リソースに制約があるため、実際には別の方法で行う必要があります。RAMの「+無限大」はありません。通常、ROMなどに多くのものを収めようとする必要があります。もちろん、CとC ++しかありませんが、C ++では、その機能の一部(例外、RTTI、iostream、STLの一部など)を使用しないでください。メモリの動的割り当ては、一般的にはお勧めできません(あなたが言及したチップ-4kBのRAM-それは私の意見では問題外です)。
あなたが言及したチップは本当に小さいので、おそらくもっと大きなショックになるでしょう(;
より詳細な回答を提供できるように、具体的な質問をして、プロジェクトについてさらに詳しく説明してください(;