我一直在网上搜索,但没有找到任何有用的信息告诉我如何开始。
我有一台Atmega328p。我认为对于这类事情来说,这是最简单的控制器。
我想写自己的bootloader。我应该从哪里开始编写代码?
答案 0 :(得分:1)
Bootloader本质上是一个裸机程序,在你的micro上运行,用一个特定的协议监听一个或多个通信接口(串行,SPI,USB或你的名字......)。然后,在PC /编程器端有一个“客户端”软件,可以使用该协议将一些二进制(但不限于)和发送到引导加载程序。然后在接收时,引导加载程序将接收的数据存储在某个已知的存储器位置,并向该数据的开头发出“跳转”(或“分支”或“转到”或其他),从而触发它的执行,假设它是可执行的码。因此,您至少应该能够启动引导程序:
1)使用其中一个沟通渠道
2)实施特定协议
3)将收到的可执行文件存储在某个内存中
4)触发该代码的执行
从这里开始,这是你的实施选择。
答案 1 :(得分:1)
有一篇PDF深入讨论/解释为AVR编写引导加载程序的步骤:
http://www.avrfreaks.net/sites/default/files/bootloader_faq.pdf
这是谷歌搜索" atmega write bootloader"
的第三次打击