0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AVR的bootloader的设置步骤教程及注意事项

电子工程师 作者:工程师a 2018-05-20 09:46 次阅读

一些注意事项:

1.熔丝位的烧写:BOOTRST要进行编程,这样单片机在复位后自动跳转到bootloader区执行bootloader的代码,然后要根据自己bootloader的大小设置boot区的的熔丝位:具体设置如下图,这里我选择的是1024大小(注意1代表为编程,0代表已编程):

AVR的bootloader的设置步骤教程及注意事项

2.设置引导区锁定位:为了保护bootloader不被应用程序修改或者擦除,所以要对其进行保护,Atmega提供了熔丝位的保护方式,具体设置如下图(我设置的为BLB0为11,BLB1为00):

AVR的bootloader的设置步骤教程及注意事项

3.Flash页的设定:因flash的擦除和写入是按照页来操作的,看手册上说是1页有128个字节,但实际调试时候发现需要一次写入256个字节才有效的,如果按照128来写入,会将第二个128的内容覆盖掉第一个128字节的内容,那就按照实际为准了。

4.Xmodem协议的注意事项:具体的xmodem不在本文叙述了,只说一下要注意的地方,校验和是可以选择的,我使用的是checksum(就是单纯的累加),也可以选择16为的CRC,这个是根据单片机第一次返回的响应字节来确定的,另外当包的序列号超过255时会重新从0开始而不是从1开始,首次传输是从1开始编号的,这个要注意一下。

5.文件格式文件:和网上好多人一样,遇到同样的文件,在bootloader将应用程序烧写到flash中后,发现没有执行应用程序,开始我也以为是跳转不成成功的问题,上网查了半天都没找到答案,都是问问题的L。没办法,靠自己了,一致纳闷,烧写到Flash中的程序和原始文件内容一模一样怎么就不能执行啊,后来偶然用烧写软件打开要烧写的固件,发现内容和我用16进制工具打开的并不一样,Oh my god,豁然想到了问题的关键,原来用ICC生成的hex文件是intel hex形式,Intel HEX文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中,每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。Intel HEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据。大多数EPROM编程器或模拟器使用Intel HEX文件。而实际存储到Flash中的数据是要从这个HEX文件中提取出来,然后在通过xmodem发送到单片机,不要直接发送ICC生成的HEX文件,转换的话可以自己写一个小工具或者上网搜类似功能的工具,为了省事,我找了一个叫hex2bin的工具做的转换。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AVR
    AVR
    +关注

    关注

    11

    文章

    1122

    浏览量

    78073
  • bootloader
    +关注

    关注

    2

    文章

    230

    浏览量

    45049
收藏 人收藏

    评论

    相关推荐

    AVR单片机设计I/O口使用注意事项

    重点记录了AVR单片机设计I/O口使用注意事项
    发表于 01-21 15:33 1509次阅读

    AVR ISP编程注意事项

    AVR ISP编程注意事项
    发表于 04-06 11:47

    转:Kboot内的bootloader工程应用注意事项总结

    了基于各种MCU的bootloader工程(图1所示),每种芯片都提供了IAR、KDS两类IDE工程,在本篇中,以K64F120的IAR工程为例(图2所示),介绍各个bootloader工程使用步骤,及
    发表于 08-19 14:17

    AVR单片机IO使用注意事项有哪些?

    AVR单片机IO使用注意事项有哪些?
    发表于 10-29 07:22

    Stm32的bootloader和App的编写注意事项有哪些?

    Stm32的bootloader和App的编写注意事项有哪些?如何使用STM32F4的BootLoader和APP程序?
    发表于 10-29 07:35

    如何对AVRbootloader进行设置?有什么注意事项

    如何对AVRbootloader进行设置?有什么注意事项
    发表于 11-01 07:01

    实现AVRBOOTLOADER工作需要注意那些事项

    AVR自编程是如何实现的?能否在进行自编过程中,修改复位中断向量的位置?如何将一个函数定义在BOOT区呢?如何将整个工程连接编译的起始地址定义在BOOT区首地址?实现AVRBOOTLOADER工作需要
    发表于 11-02 07:22

    STM32外部中断EXIT使用步骤是什么?有哪些注意事项

    STM32外部中断EXIT使用步骤是什么?有哪些注意事项
    发表于 11-17 07:21

    TCL各机芯软件升级操作步骤注意事项

    TCL各机芯软件升级操作步骤注意事项
    发表于 09-06 15:02 18次下载

    PowerPCB到Allegro的转换步骤注意事项

    PowerPCB到Allegro的转换步骤注意事项
    发表于 02-15 15:17 0次下载

    avr单片机熔丝位设置方法及步骤设置注意事项

    AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项
    发表于 11-22 15:02 2.4w次阅读
    <b class='flag-5'>avr</b>单片机熔丝位<b class='flag-5'>设置</b>方法及<b class='flag-5'>步骤</b>及<b class='flag-5'>设置</b><b class='flag-5'>注意事项</b>

    全自动端子机操作步骤_注意事项及保养

    本文主要介绍了全自动端子机操作步骤注意事项及保养。
    发表于 06-05 08:00 0次下载

    虚拟内存的设置步骤及其注意事项

    虚拟内存是用来辅助电脑内存更加流畅的存储临时文件的设置。虚拟内存设置合理就能在很大程度上缓解运行内存的压力,让整个电脑的操作更加流畅,避免运行大的软件时由于内存不足而产生的闪退或卡死现象。那么虚拟内存怎么设置最好呢?下面,我就为
    发表于 06-13 10:35 1979次阅读

    EMC现场测试的一般步骤注意事项有哪些?

    emc现场测试的一般步骤注意事项有哪些?
    的头像 发表于 06-26 09:22 1636次阅读

    M12连接器8芯的更换步骤注意事项

    更换M12连接器(8芯)涉及一些步骤注意事项,以确保更换顺利进行并保持连接的可靠性。
    的头像 发表于 08-17 10:36 1067次阅读
    M12连接器8芯的更换<b class='flag-5'>步骤</b>和<b class='flag-5'>注意事项</b>