单片机 > 单片机程序设计 > 详情

如何编译文件得到的bootloader的.hex文件(例如:atmega328p)

发布时间:2023-02-27 发布时间:
|

一、打开Arduino ide的文件存放位置,本人是将其放在D盘的Arduino中


在D:Arduinoarduinohardwarearduinoavrbootloadersoptiboot文件中


你会看到有omake,omake.bat,Makefile,以及.h,.c,.hex等文件。而其中的optiboot_atmega328.hex文件就是atmega328p的bootloader,其就是 arduino ide 中为arduino uno板子烧录的bootloader(如何烧录引导程序bootloader,请问度娘)


二、准备工作:移除optiboot_atmega328.hex文件(移除前做好备份)


1).hex文件通常是.c编译后生成的,应该需要编译器什么的,如:mak.exe(这个与linux有关),avr-gcc.exe(与avr单片机编程器有关)(这里本人也不太懂,这篇博文对本人有很大启发点击打开链接)


2)受其指导,本人也就下了老版的arduino-1.0,寻找与mak.exe和avr-gcc.exe有关的文件,经过搜索,找到他们所在文件:C:UsersATXDesktoparduino-1.0hardwaretoolsavrbin(这里的C:UsersATXDesktop是应为我把arduino-1.0文件放在我的桌面上的)这里与avr-gcc.exe有关


C:UsersATXDesktoparduino-1.0hardwaretoolsavrutilsbin 这里与mak.exe (仔细看这个文件,你会看到chmod,su,cp,ls,man,sleep, rm等,用过linux系统的话,对这些就不会陌生)

3)现在知道这些的文件路径了,就可以操作了。更windows的改环境变量(本人的是windows10)右键->我的电脑,然后选择属性,在弹出的对话框中,选择高级系统设置,选择环境变量,在用户变量中双击path,新建加入上面两个路径。后面这些(.exe)命令就可以随便用了。

三、下面要做的是:我们从新生成一个optiboot_atmega328.hex文件。


进入到最开始打开的文件中:D:Arduinoarduinohardwarearduinoavrbootloadersoptiboot文件。用左键单击图中红圈处,该行会变蓝,然后输入cmd并回车,此时会弹出cmd窗口

(红色表示的是我们所在的文件位置)


然后我们在cmd窗口中输入make atmega328并回车,然后就可以在你所在的文件下看到生成的optiboot_atmega328.hex文件了。但是没有对应的.lst文件生成,不过也不碍事。然后你就可以将这个文件烧如你的单片机验证了。

如何烧录呢:看此博文吧


想要编一个自己的bootloader:这就有点麻烦了,本人是编了一个,还没来得及测试。推荐几篇博文吧:(很有帮助)不要畏惧英文、这个也不错


对了atmega328p 的datasheet 英文版是由445页,而不是32页,之前一直弄错了。这个网站可以下载:/zixunimg/eeworldimg/www.microchip.com/wwwproducts/en/ATMEGA328P?tab=documents#documents


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32学习笔记:[002]BIN文件通过ST-LINK烧录STM32芯片