4

私は、cortex m0 プロセッサの使い方を学ぼうとしています。各アドレスの各ビットを表示し、新しいバイナリ ファイルを簡単にアップロードできる stm32f0 開発ボードがあります。私は多くのルールと機能について学んでいるたくさんのマニュアルを読んできましたが、リセット時にプログラムカウンターがどこから始まるのか、どのような種類の引数が期待されているのか、また add のようなものを書く方法さえ知りませんまたはバイナリ形式の str/ldr。この基本的な知識は、私が読んだマニュアルから除外されていますか?

m0 には完全な下降スタックがあると表示されていますが、開始点が反対側 (0x00000000) にあることを示唆しているようです。ベクターテーブルが素人の言葉でも説明できれば、それは素晴らしいことです.

4

2 に答える 2

4

すべての Cortex-M では、メモリ マップの最初の 2 ワード (それぞれアドレス 0 と 4) は、最初のスタック ポインタであり、実行を開始する最初の命令のアドレスである必要があります。

通常、利用可能な最大の RAM アドレスにスタックを配置し、リンカー スクリプトを使用して、アドレス 4 にあるプログラムのエントリ ポイントのアドレスを突き刺します。

于 2015-04-27T05:11:14.430 に答える