SCMは集大成として始まったのはなぜ

ブートコード
アセンブリ言語で記述された特定の起動コードを使用する理由、スタートアップコードの主な機能は何ですか?コードを起動することなく、SCM、なぜ腕のスタートアップコードを使用しますか?

------------------------------------------ ------ソリューション--------------
割り込みベクタの初期化の先頭に数行のコードは、スタックまたは何かを完了しています。これらは、アセンブリ内で行うことができます。
------------------------------------------ ------ソリューション--------------
パワーCPUの後にIOアドレス空間からの最初の命令をフェッチします。しかし、この時点で:; CPUのモード、割り込みの設定およびその他の不確実性、(メモリを含む)BANKそれぞれの収納スペースに駆動されていない、メモリが使用できないPLLは、非常に低い外部入力水晶周波数のCPUの動作周波数が開始されていません。あなたは、この場合、最初の命令で、この初期プログラムとブートローダーと呼ばれるオペレーティングシステム別のを、いくつかの初期化作業を行う必要があります。
そのようなスタックポインタSPが正しい場所を指していないと、電源投入直後のCプログラム開発環境ボードを実行するには、no準備がないため、コードの最も元の部品はほとんど埋め込まれたブートローダーは、アセンブリ言語で記述する必要があります。アセンブラコードは、元のハードウェアの初期化のほとんどを完了し、次の関数は、C言語で書かれることができるように、Cの環境を実行する準備ができているはずです。
------------------------------------------ ------ソリューション--------------
1. C言語ノーSP(スタックポインタレジスタ)、CPSR 、CP15 制御コマンドのように、これらを初期化するために、アセンブリコードを使用する必要があり、他の部分ができません達成するためにC言語を使用して、しかしとして3L、C言語のランタイム環境は、まだ準備ができていないので、SPは良い、グローバル変数を設定する必要があり、標準ライブラリはまだ利用できません。
2.デバイスがOSの概念がありません、あなたはすべての言うことができますこれは、起動モードのコードです。

ポール、チャオ@ Techware

------------------------------------------ ------ソリューション--------------
コードを起動することなく、マイクロコントローラ、なぜ腕のスタートアップコードを使用しますか?

みんなの上にARMのスタートアップコードを使用する理由を述べています。

実際には、また、シングルチップ「スタートコード」があります。しかし、仕事のこの部分が完了するまでに、マイクロコントローラプログラマを必要としません。

例えば、モデルKeil社によって指定されたシングルチップのブートコードを、マイクロコントローラKeil社Cで書かれたプログラムが完了します。私たちは邪魔する必要はありません。

SCMのプログラムは、Cセクションへの直接プログラミングを必要とします。
----------------
免責事項:この記事はCSDNブロガー「lbd0125の元記事である、CC 4.0 BY-SAの著作権契約、複製、元のソースのリンクと、この文を添付してくださいに従ってください。 。
オリジナルリンクします。https://blog.csdn.net/lbd321/article/details/76795236

おすすめ

転載: www.cnblogs.com/saulgoodman611/p/11442819.html