당신은 "작은 마이크로 컨트롤러가 없으며 인터페이스, 컴퓨터, 디버거, 컴파일러 또는 어셈블러가 없다"고 말했다. 컴퓨터, 디버거, 컴파일러 또는 어셈블러 없이도 얻을 수 있지만 프로그램을로드하려면 마이크로 컨트롤러와 연결하기위한 일종의 인터페이스가 있어야합니다.
우선 C와 같은 고급 언어를 잊어 버리십시오. 가장 쉬운 방법은 프로그램을 어셈블리 언어로 작성하는 것이지만 어셈블러를 사용하여 기계 코드 로 변환하지 마십시오 . 대신, 프로그래밍 매뉴얼에서 각 어셈블리 명령어를 찾아 해당하는 16 진수 코딩을 찾아서 적어 두십시오.
고유 한 변수를 할당해야하므로 명령어의 피연산자 부분에 적절한 주소를 채울 수 있습니다. 또한 스택과 힙 사용을 잊어 버리십시오. 너무 많은 작업이 필요합니다. 완료되면 링커가 필요하지 않은 마이크로 컨트롤러의 플래시 메모리에 직접로드 할 수있는 머신 프로그램을 갖게됩니다.
거의 모든 마이크로 컨트롤러에 외부 주소 및 데이터 버스가 없기 때문에 (I / O 포트 및 주변 장치에 필요한 핀을 너무 많이 차지하므로) 거의 모든 마이크로 컨트롤러는 다음과 같은 특수 인터페이스를 통해 프로그래밍됩니다.
일반적으로 왼쪽의 "프로그래머"는 PC에 연결되어 컴파일러 / 링커에서 생성 된 머신 파일을 다운로드합니다.
그러나 프로그래머가 아래와 같은 키보드를 가지고 있다면 :
그러면 수동으로 생성 된 프로그램의 16 진수 코드를 프로그래머에게 직접 입력하고 컴파일러, 링커 또는 PC가 필요없는 장치를 프로그래밍 할 수 있습니다. (키보드는 16 진 파일을 편집하고 체크섬을 생성하는 데에도 사용됩니다.)
이와 같은 키보드를 가진 프로그래머는 거의 없습니다. 이것은 아마 2 천 달러가 들기 때문에 애호가에게는 적합하지 않을 것입니다.
이 특정 프로그래머는 보드에 넣기 전에 부품을 프로그래밍합니다. 인터페이스 및 소켓은 여러 PIC 및 Atmel AVR에 사용할 수 있습니다.