私は初心者として組み込みシステムに取り組んでおり、start.s
またはcstart
のようなファイルがmain()関数の前に実行されています。これらのファイルまたは同様のファイルの目的は何ですか?システムにどのような情報を伝えていますか?システムがmain()を実行する前にどうなりますか?
2
A
答えて
2
アーキテクチャによって異なりますが、通常、初期化されていないグローバル変数はすべてゼロに設定され、スタックポインタが設定されます。
8
main()前の起動コードは、スタックポインタを初期化し、初期化された変数値(.data)を不揮発性メモリからRAMにコピーし、初期化されていない変数をすべて設定します。 bss)を0にする。
アーキテクチャによっては、さらに何かを行う必要があるかもしれません。システムの起動を続けるためにmain()に行く前に、クロッキングやその他の重要な周辺機器を初期化したり、割り込みベクタを設定したり、プロセッサコンテキストを設定したりする必要があるかもしれません。
+2
...このコードは通常、 'argc'と' argv'も設定します。 –
+0
@LeeDanielCrocker argc組み込みシステムでのargv?どんな奇妙なシステムですか? – Lundin
関連する問題
- 1. main()より前に実行されるのは何ですか?
- 2. main()の前にどのような操作を行う必要がありますか
- 3. システムに完全なルビープロジェクトがありますが、どのように実行すればいいですか?
- 4. main()の前にコードを実行
- 5. システム時刻が変更されたときにタイマーを実行するとどうなりますか?
- 6. System.exit(0)が実行されるとどうなりますか?
- 7. callback()が実行されないとどうなりますか?
- 8. 前の関数ではなく、int main()に戻りますか?
- 9. システムを起動する前にアプリケーションを実行する
- 10. 実行ユニットテストでは、テストするコードでMainメソッドを実行する必要がありますか?
- 11. mvnクリーンインストールを行うときにmain()でクラスを実行するにはどうすればいいですか?
- 12. mov eaxを実行するとどうなりますか?
- 13. プログラムを実行するとどうなりますか?
- 14. サービングを実行するとどうなりますか?
- 15. Bashで "ls"を実行するとどうなりますか
- 16. networkstream.write()を実行するとどうなりますか?
- 17. Objcのmain()より前にクラスの+ load()が実行されたのはなぜですか?
- 18. Dockerfileでインストールを実行する前に、なぜアップデートを実行する必要がありますか?
- 19. C#プログラムのmainメソッドにラムダ式を付けるとどうなりますか?
- 20. マシンがmysqlトランザクション実行の間にシャットダウンするとどうなりますか?
- 21. LevelDBバッチの実行中にアプリケーションがクラッシュするとどうなりますか?
- 22. muticoreシステムでどのプロセッサがハードウェア割り込みを実行するか
- 23. ファイルが必要な場合、Perl 6はMAINを実行する必要がありますか?
- 24. ビジュアルスタジオで実行ボタンを押すとどうなりますか
- 25. Hibernate Queryはシステムでは遅く実行されますが、直接実行すると速くなります
- 26. mainをint main(...){}に定義する際に問題がありますか?
- 27. jarをmain manifest属性なしで実行するにはどうすればよいですか?
- 28. "git add"と "git commit"の前に "git push"を実行するとどうなりますか?
- 29. システムdでhttpdサービスを開始する前にbashスクリプトを実行します
- 30. main()の実行に達する前に起動時にクラッシュし、問題が存在する可能性があるC++コードがありますか?
あなたはこれらのファイルを読んでいますか?内容のWhtあなたは具体的に理解していないのですか?あなたのアーキテクチャのデータシートを読んだことがありますか?ツールチェーンのドキュメントですか?デバッガを使用してコードをステップ実行しましたか?はい、あなたはほとんど学ぶことを避けることができます。 – Olaf
[これは興味深いかもしれません](http://electronics.stackexchange.com/questions/237740/what-resides-in-the-different-memory-types-of-a-microcontroller)。 – Lundin