内観からのファームウェアとは何かをさらに説明するため。
ファームウェアは、非常に特定のハードウェアで実行されるコードです。つまり、オペコードは、記述されているハードウェアに固有のものであり、チップまたはインターフェースのファミリーであるか、1つのアイテムのみを意味します。
基本的にファームウェアが行うことはこれです。
特定のプロセッサが引き受けて実行するための固定命令を備えています。これは「ブートストラップ」と呼ばれます。最もブート可能なコンピューターのBIOSにこれがあります。
ファームウェアの指示を使用して、上記のハードウェアを初期化します。
ジャンプテーブルをロード/アップします。
特定のデバイスのレジスタへのアクセスをアクセス可能にします。
コールド(電源オフ状態)またはウォームスタート(通常の再起動またはリセットピンが使用された)後にBIOSが使用されたら、終了ルーチンに制御を渡します。
ほとんどのBIOS(ファームウェア)は、特定のチップセットを念頭に置いて設計されており、それらのすべての機能を根絶し、コンピューターまたは組み込みデバイスの特定のバスラインに何かを付加できるデータを具体化します。
ハードディスクは、それ自体が組み込みデバイスであり、BIOSもチップ上にファームウェアの形式を持つストレージソリューションの良い例です。
本質的に、すべてのファームウェアは、別のプロセッサが上記デバイスから機能を引き出すために行う一連の命令です。物理デバイスにロードされるのはソフトウェアであり、電力が失われると、デバイスが電力を回復するとそこに存在します。
技術的には、任意のプログラミング言語またはスクリプト言語を使用してバイナリファイルを作成できます。対象となるプロセッサの動作、実際のオペコード、内部レジスタ(目的は言うまでもありません)、バイナリおよび16進数システムの学習、および保存可能なアセンブラの作成方法を知る必要があります。アセンブリ言語のコード。それが完了したら、別のプログラムにタスクを実行してバイナリに変換し、それを.binまたは.hexファイルとして保存します。
Ada、C、C ++、D、およびその他のプログラミング言語がネイティブトークンである「トークン」を擬似オペコードに切り分けて機械語に変換する方法を知りたい場合。あなたが読むことをお勧めするいくつかの本があります、いくつかは非常に初歩的で、非常に特定のプロセッサーを中心にしていますが、学ぶのは良いことです。とりあえず一冊の本を差し上げます。あなたや、これを情報で読んでいる人をanyoneれさせたくないからです。
- Charles C. Fischer&Richard J. LeBlanc、Jr.による「C」によるコンパイラの作成
- このサイトにアクセスしてください。IBMPCにあるx86チップセットに基づいています。
http://www.laynetworks.com/assembly%20tutorials.htm
これは、最初の段階でのPCでのアセンブリ言語プログラミングの概要です。割り込み(ハードウェアとソフトウェアの割り込み)の処理やその他の多くのトピックについて説明し、BIOSが実際に行うこととその操作方法について詳しく説明します。
アセンブリ言語や機械語とは異なり、ハードウェアの詳細がわからない場合は、Ada、C、C ++、Dでさらに多くのことを回避できます。アセンブリ言語と機械語では、何をしているのかわからない場合、何か悪いことが起こるか、コードが機能しません。私は後者の方が好きで、仕事ではなく悪いものです。
注:上記の回答、フラッシュRAMについては、そのようなことはありません。フラッシュROMはありますがフラッシュRAMはありません。フラッシュROMには、ファームウェア、バッテリーまたはキャパシターバックアップのRAM、または設定したBIOSオプションのパラメーターを含む別のフラッシュROMがあります。
ファームウェアがフラッシュROMまたはRAMチップである場合、データメモリを保存または消去する方法に関するコードがあります(プログラムメモリ/ファームウェア自体に対して)。PCでBIOSパスワードが文字化けした場合、または覚えていない場合(または誰かがあなたを混乱させている場合)、ケースを開いて「CMOS CLR / CMOS CLEAR / BIOS RESET / BIOS RST」と呼ばれる2つのピンを見つけることができます。これらの2つのピンを一緒にショートさせると、メモリもクリアされます。その後は、2つのピンがまだショートしているときにリセットボタンを押すだけで済みます。これにより、パスワードがクリアされ、PC BIOSに完全にアクセスできるようになります(1990年代以降に新しいコンピューターを使用する場合)。
新しいPCには、ファームウェア用のフラッシュメモリがあり、バッテリーでバックアップされたSRAMがあります(DRAMチップのように常に更新する必要はありません。古い技術に基づいています)。