Bạn đã nói "vi điều khiển nhỏ và không có giao diện, không có máy tính, không có trình gỡ lỗi, trình biên dịch hoặc trình biên dịch.". Bạn có thể nhận được mà không cần máy tính, trình gỡ lỗi, trình biên dịch hoặc trình biên dịch, nhưng bạn phải có một số loại giao diện để kết nối với vi điều khiển để tải chương trình.
Trước hết, hãy quên bất kỳ ngôn ngữ cấp cao nào như C. Sau đó, cách dễ nhất là viết chương trình của bạn bằng ngôn ngữ hợp ngữ, nhưng không sử dụng trình biên dịch để dịch nó sang mã máy. Thay vào đó, hãy tìm từng hướng dẫn lắp ráp trong hướng dẫn lập trình, tìm mã hex tương đương của chúng và viết nó xuống.
Bạn sẽ phải phân bổ các biến của riêng mình, vì vậy bạn có thể điền các địa chỉ thích hợp vào phần toán hạng của hướng dẫn. Cũng quên sử dụng stack và heap, quá nhiều công việc. Khi hoàn tất, bạn sẽ có một chương trình máy có thể được tải trực tiếp vào bộ nhớ flash của vi điều khiển - cũng không cần trình liên kết.
Do thiếu địa chỉ và dữ liệu bên ngoài trên hầu hết tất cả các bộ vi điều khiển (vì chúng sẽ chiếm quá nhiều chân cần thiết bởi các cổng I / O và các thiết bị ngoại vi), nên hầu như tất cả các bộ vi điều khiển đều được lập trình thông qua một giao diện đặc biệt như thế này:
Thông thường, "lập trình viên" bên trái sẽ được kết nối với PC, sẽ tải xuống tệp máy được tạo bởi trình biên dịch / trình liên kết.
Tuy nhiên, nếu lập trình viên có bàn phím, như bàn bên dưới:
sau đó người ta có thể nhập mã hex cho chương trình được tạo thủ công ngay vào lập trình viên và lập trình thiết bị mà không cần trình biên dịch, trình liên kết hoặc PC, đó là những gì bạn đang tìm hiểu. (Bàn phím cũng được sử dụng để chỉnh sửa các tệp hex và tạo tổng kiểm tra.)
Cấp rất ít lập trình viên có bàn phím như thế này. Điều này sẽ không phù hợp cho một người có sở thích vì nó có thể có giá vài nghìn đô la.
Lập trình viên đặc biệt này lập trình các bộ phận trước khi chúng được đưa lên một bảng; giao diện và ổ cắm có sẵn cho một số PIC và cả Atmel AVR trong số những cái khác.