내부 의미에서 어떤 펌웨어가 있는지 설명합니다.
펌웨어는 매우 특정한 하드웨어에서 실행되는 코드입니다. 즉, op 코드는 작성된 하드웨어에 따라 다르며 칩 또는 인터페이스 제품군이거나 하나의 항목만을 의미합니다.
본질적으로 펌웨어의 기능은 다음과 같습니다.
주어진 프로세서가 수행하고 실행할 하드 와이어드 명령어를 "부트 스트랩"이라고합니다. 가장 부팅 가능한 컴퓨터 중 BIOS에있는 컴퓨터
펌웨어의 지침을 통해 해당 하드웨어를 초기화하십시오.
점프 테이블을로드 / 업로드하십시오.
지정된 장치의 레지스터에 액세스 할 수 있도록합니다.
콜드 (전원 끄기 상태) 또는 웜 스타트 (정상 재부팅 또는 리셋 핀 사용) 후 BIOS를 사용한 후에는 종료 루틴으로 제어권을 넘기십시오.
대부분의 BIOS (펌웨어)는 특정 칩셋을 염두에두고 설계되었으며 모든 칩셋의 기능을 근절하고 컴퓨터 나 내장 장치의 특정 버스 라인에 연결할 수있는 데이터를 제거합니다.
하드 디스크는 내장형 장치이며 BIOS도 있고 칩에 펌웨어 형식이있는 저장 장치 솔루션의 좋은 예입니다.
기본적으로 모든 펌웨어는 다른 프로세서가 해당 장치에서 기능을 가져 오기 위해 수행하는 명령입니다. 물리적 장치에로드되는 소프트웨어이며 전원이 꺼지면 장치의 전원이 다시 공급 될 때있을 것입니다.
기술적으로는 프로그래밍 또는 스크립팅 언어를 사용하여 이진 파일을 만들 수 있습니다. 이진 및 16 진수 시스템을 배우기 위해 타겟팅하려는 프로세서의 작동 방식, 실제 op 코드, 내부 레지스터 (자신의 용도는 물론), 알고있는 어셈블러를 만드는 방법 만 알고 있으면됩니다. 어셈블리 언어의 코드. 완료된 후 다른 프로그램을 작업하여 이진으로 변환 한 다음 .bin 또는 .hex 파일로 저장할 수 있습니다.
Ada, C, C ++, D 및 기타 프로그래밍 언어가 의사 op- 코드로 잘린 원시 코드 인 "토큰"을 기계 언어로 변환하는 방법을 알고 싶다면 나는 당신이 읽을 것을 권장하는 몇 권의 책을 가지고 있으며, 일부는 매우 기초적이며 매우 구체적인 프로세서를 중심으로하지만 배우는 것이 좋습니다. 나는 당신이나 다른 사람이 정보를 읽은 것을 익사하고 싶지 않기 때문에 당분간 한 권의 책을 줄 것입니다.
- Charles N. Fischer & Richard J. LeBlanc, Jr.의 'C'를 사용하여 컴파일러 제작
- 이 사이트를 방문하십시오. IBM PC에있는 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"라는 두 핀을 찾을 수 있습니다. 이 두 핀을 함께 단락 시키면 메모리도 지워집니다. 그 후에해야 할 일은 두 핀이 여전히 단락 된 경우 재설정 버튼을 누르는 것입니다. 암호가 지워지고 1990 년대 이후에 새로운 컴퓨터를 사용한다고 가정 할 때 PC BIOS에 완전히 액세스 할 수 있습니다.
새 PC에는 펌웨어 용 플래시 메모리가 있고 배터리 백업 SRAM이 있습니다 (DRAM 칩과 같이 지속적으로 새로 고칠 필요는 없으며, 이전 기술을 기반으로 함).