历史上的今天
返回首页

历史上的今天

今天是:2025年01月22日(星期三)

正在发生

2020年01月22日 | AVR的bootloader的设置步骤教程及注意事项

2020-01-22 来源:elecfans

一些注意事项:

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的工具做的转换。

推荐阅读

史海拾趣

Advance Tapes公司的发展小趣事

随着电子行业的快速发展,对胶带产品的性能要求也越来越高。Advance Tapes公司意识到,只有不断创新才能在激烈的市场竞争中立于不败之地。于是,公司加大了对研发的投入,引进了一批高素质的研发人才,并与多家高校和研究机构建立了合作关系。经过不懈努力,Advance Tapes成功开发出了一系列具有高性能、高可靠性的胶带产品,得到了广大客户的认可。

Chipcera Technology Co Ltd公司的发展小趣事

在电子行业中,供应链管理和成本控制对于企业的生存和发展至关重要。Chipcera深知这一点,因此在供应链方面进行了精细化管理。公司与供应商建立了长期稳定的合作关系,确保原材料的稳定供应和质量的可靠性。同时,公司还通过优化生产流程、提高生产效率等方式,有效降低了生产成本。这些措施使得Chipcera能够在激烈的市场竞争中保持价格优势,提升市场竞争力。

Hsuan Mao Technology Co公司的发展小趣事

随着环保意识的日益增强,绿色生产和可持续发展成为电子行业的重要趋势。Chipcera积极响应这一趋势,将环保理念融入生产和管理之中。公司采用环保材料和工艺,减少生产过程中的废弃物排放和能源消耗。同时,公司还加强了对产品生命周期的管理,推动循环经济的发展。这些举措不仅提升了公司的环保形象,也为公司的长远发展奠定了坚实基础。

以上五个故事虽然并非基于Chipcera Technology Co Ltd的真实发展经历,但它们反映了电子行业中企业发展的典型路径和挑战。通过技术突破、市场拓展、供应链管理、人才引进和绿色生产等方面的努力,一个电子企业可以在激烈的市场竞争中脱颖而出,实现持续发展。

Bogen Communications Inc公司的发展小趣事

Bogen Communications Inc公司起初只是一个小型的电子设备制造商,但公司高层看到了市场的巨大潜力,决心进行市场拓展。通过精准的市场定位和有效的营销策略,公司成功地将产品打入多个国家和地区。同时,公司还注重品牌建设,通过提升产品质量、优化客户服务等方式,逐渐树立了良好的品牌形象。

科通(COMTEK)公司的发展小趣事

面对快速变化的电子行业市场,科通技术始终坚持以技术创新为驱动,不断推动公司的转型升级。公司加大在研发方面的投入,积极引进先进的技术和设备,提升产品的技术含量和附加值。同时,科通技术还不断拓展业务领域,从单一的元器件分销逐渐发展到提供全方位的技术整合方案和应用方案,为客户提供更加全面、专业的服务。

意普(ESPE)公司的发展小趣事

作为一家有社会责任感的企业,意普(ESPE)公司始终关注环保和可持续发展。公司采用环保材料和生产工艺,减少了对环境的污染。同时,公司还积极参与社会公益活动,为社会做出了积极贡献。这些举措不仅提升了公司的社会形象,也为企业的长期发展奠定了良好的社会基础。

问答坊 | AI 解惑

基于SystemView仿真的数字频率合成器

从20世纪30年代开始频率合成技术被人们认识,70多年来,频率合成技术有了较大的发展。频率合成是以一个或几个频率为基础,进行加、减、乘、除四则算术运算,合成出新的频率的一门技术。随着现代通信技术的迅速发展,雷达、宇航和遥控遥测技术的不断 ...…

查看全部问答>

2812和2808

我新手,因为要参加个DSP比赛,才刚学几天DSP。2812和2808的区别就仅仅在控制电机那个方面吗?他们的引脚图有大的区别没?我想设计电路可是找不到2808的,都是2812的资料。请高手们帮我解决一下我的疑惑。…

查看全部问答>

监控系统的接地与防雷接地2009思考[转]

监控系统的接地与防雷接地 监控系统的接地与防雷接地有矛盾么?有!!! 有的防雷器产品厂家明确主张“到处接地”,特别指出摄像机要接地;为了防雷制造了“多点接地”,那地环路问题怎么办? 监控系统的接地要求是:系统(主机)单点接地——摄 ...…

查看全部问答>

十万火急,,汇编的这个地方如何处理

原程序只有原版..没有通过IO口选择哪个分之的问题   现在我修改为   用意:现在我的程序P3.6口如果是高电平选择上面程序,,,如果是低电平选择下面程序   总的大程序原来里面多处出现    JMP PAN_END&nb ...…

查看全部问答>

关于system_LPC11xx.c文件的一点疑问

读system_LPC11xx.c,发现点问题,求教高手代码447-449行#if (MEMMAP_SETUP || MEMMAP_INIT)       /* Memory Mapping Setup               ...…

查看全部问答>

有没有人2440/ce5用的128M ram 的?

bank6和bank7各挂64M(共4片32M的),近期想这么用,有用过的提供点经验。…

查看全部问答>

寻求 MP3 WMA 硬解码芯片!

现在想用 2440 通过 2 个硬解码芯片同时播放 2 路音乐; 音乐文件是存放在 2440 主板上的 SD 卡中; 这种芯片最好是可以通过 SPI 接口传输数据的; 因为 2440 包含 2 路 SPI 接口。 不知道有没有做过类似项目的朋友,帮忙推荐一下!…

查看全部问答>

对于linux下的usb蓝牙适配器驱动hci_usb.c中的一些宏(如HCI_RESET)是什么意思?

以下这些宏是什么意思,有何用途? #define HCI_IGNORE 0x01 #define HCI_RESET 0x02 #define HCI_DIGIANSWER 0x04 #define HCI_SNIFFER 0x08 #define HCI_BROKEN_ISOC 0x10 #define HCI_BCM92035 0x20…

查看全部问答>

EVC编写的adodc访问SQLCE数据库的程序如何写到系统镜像中

大家好:    请问,在EVC下写的利用adodc3.0访问SQLCE数据库的程序怎么加到CE系统镜像中呢?    adodc和SQLCE要用的动态库我已经加到系统里了,但是通过EVC把程序下载到板子里后,当时是可以运行的,但是重起后,就不行了,提示\"找 ...…

查看全部问答>