You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于AVR-GCC编译ATtiny13A LED闪烁代码时显示“text+data+bootloader”的疑问

AVR-GCC编译ATtiny13A LED闪烁代码时显示“text+data+bootloader”的疑问

嘿,我来帮你理清这个容易误解的问题!你用avr-size命令看到的"bootloader"相关输出,并不是AVR-GCC给你的闪烁代码额外加了bootloader,这只是工具对MCU内存布局的常规展示而已。

具体来说:

  • avr-size --format=avr --mcu=attiny13a这个命令会根据你指定的ATtiny13A的硬件内存结构来输出分区信息。ATtiny13A的Flash硬件本身就划分了应用区和引导区(bootloader区),哪怕你完全没写bootloader代码,avr-size也会把这个分区列出来,只是它的占用量是0而已。
  • 你的编译命令只是常规编译LED闪烁代码,既没有指定bootloader相关的链接脚本,也没有设置任何和boot区相关的编译选项,所以AVR-GCC根本不会给你的代码添加任何额外的bootloader内容。生成的.elf和.hex里只有你写的闪烁逻辑,没有多余代码。

如果真的要给代码加bootloader,你需要专门编写bootloader代码,还要用-Wl,--section-start=.bootloader=0x1F00这类链接选项指定boot区的地址,同时还要修改MCU的熔丝位允许boot区访问——这些操作你都没做,所以完全不用担心被加了多余的bootloader。

简单说:你看到的"bootloader"字样只是工具对MCU硬件分区的如实报告,不是你的代码被额外添加了bootloader,放心用你的闪烁程序就好!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 09:29:34