为atmega328p写一个bootloader

时间:2015-07-30 16:05:20

标签: c microcontroller bootloader

我一直在网上搜索,但没有找到任何有用的信息告诉我如何开始。

我有一台Atmega328p。我认为对于这类事情来说,这是最简单的控制器。

我想写自己的bootloader。我应该从哪里开始编写代码?

2 个答案:

答案 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"

的第三次打击