历史上的今天
返回首页

历史上的今天

今天是:2024年10月07日(星期一)

正在发生

2018年10月07日 | AVR ELF文件的生成与烧录

2018-10-07 来源:eefocus

通常AVR芯片包括flash,eeprom,fuse,lockbits,user signature等几个非易失的内容需要在编程时烧录到芯片中,其中fuse部分是只有外部的编程器可以进改写,应用程序本身是无法更改的。


在进行ISP烧录过程中,用户希望使用点一个按钮这样单一的动作来完成烧录,这就要求能把几个不同部分的擦出、烧写、比较的动作合成在一起来完成。可以使用ELF格式来完成这个目标,ELF格式的目标文件中可以包含不同的区域段,下载工具可以分别提取烧录到相应的位置。


1)使用Atmel Studio 6进行的软件开发


如果开发者使用是Atmel Studio 6(或者是AVR Studio 4/5,总之是GCC就行)来编写用户的源代码,avr glibc提供了一组方法来实现在源代码中指定这些不同区域的值。


如果希望生成的ELF文件中包含有芯片ID的段,用于ELF Production file下载之前进行比较,看是否是匹配当前设备的下载文件。这一步仅需要在源代码中加入头文件#include


  1. const unsigned char __signature[3] __attribute__((section (".signature"))) =  

  2.         { SIGNATURE_2, SIGNATURE_1, SIGNATURE_0 };  


2)使用IAR AVR进行的软件开发


由于IAR扩展语法中不能支持fuse,lockbits等位的定义,所以使用IAR仅能生产单一烧写FLASH的内容,通常我们生产HEX格式。


这时候就需要使用到AVR Studio 4中的ELF Production File  Fomart的功能:在选好flash与eeprom的HEX文件位置后,分别去fuse,lockbits的页面勾选好相应的配置后,回来设置好需要产生的ELF文件路径,点Save即可由AVR Studio 4生成一个包含各个段内容的ELF文件格式,直接点Program按钮或者使用命令行工具atprogram.exe都可以简单的烧录。



推荐阅读

史海拾趣

ADPOW公司的发展小趣事

ADPOW公司成立于XXXX年,初期是一个小型电子技术研发团队。创始人凭借对电子技术的深刻理解和市场需求的敏锐洞察,带领团队专注于电源管理技术的研发。经过数年的不懈努力,团队成功开发出一款高效、稳定的电源管理芯片,这一技术突破为ADPOW公司后续的发展奠定了坚实的基础。

Advanced Photonix公司的发展小趣事

Advanced Photonix一直注重研发团队的建设和培养。公司投入大量资源用于研发创新,鼓励团队成员不断探索新技术和新应用。在这种氛围下,公司的研发团队不断取得新的突破和进展。他们成功开发出了一系列具有自主知识产权的光电产品和解决方案,这些产品不仅提升了公司的技术实力,也为公司的长期发展奠定了坚实的基础。

诚润电子(CHEVRON)公司的发展小趣事

诚润电子深知,一个优秀的团队是企业成功的关键。因此,他们一直致力于打造一支高素质、专业化的团队。公司注重员工的培训和发展,为员工提供广阔的职业发展空间和良好的福利待遇。同时,诚润电子还积极营造一种积极向上的企业文化氛围,让员工在工作中感受到归属感和成就感。这种良好的团队建设机制为诚润电子的持续发展提供了有力的保障。

Echelon_Corporation公司的发展小趣事

进入21世纪后,Echelon继续拓展其业务范围,于2003年推出了网络能源服务系统(NES)。该系统是一个开放式的电表基础设施,旨在提高能源使用效率和管理水平。NES系统很快在全球范围内得到了广泛应用,特别是在意大利的智慧型电表基础建设中,Echelon的技术得到了大量使用,连接了数以千万计的电表。随着NES系统的成功推广,Echelon在能源管理领域的地位得到了进一步提升。

Bytesonic Corporation公司的发展小趣事

为了进一步加强对大陆市场的投资和管控,Bytesonic Corporation在1998年5月在英属维尔京群岛成立了控股公司——剑桥电子有限公司。这一举措不仅提升了公司的资本运作能力,也为其在全球范围内的业务拓展提供了更多的便利。

Ferraz Shawmut(Mersen)公司的发展小趣事

1885年,Shawmut熔丝公司在美国麻省波士顿市成立,开启了其在电气保护领域的征程。随着技术的不断进步和市场需求的增长,Shawmut逐渐崭露头角。1999年,法国Carbone Lorraine公司收购了Gould Shawmut,并将其与Ferraz公司合并,成立了Ferraz Shawmut公司。这一合并不仅增强了公司的技术实力,也扩大了其市场影响力。

问答坊 | AI 解惑

安防专业书籍推荐

安防专业书籍推荐,绝对好资料!! 《实用射频技术》04年出版 http://www.shequ.shejis.com/Dispbbs.asp?ID=428026&topID=58271 《射频通信电路》 http://www.shequ.shejis.com/Dispbbs.asp?ID=428043&topID=58271 《网络工程布线》 ht ...…

查看全部问答>

A题讨论区

本帖最后由 paulhyde 于 2014-9-15 09:02 编辑 91517371 A题讨论区  …

查看全部问答>

3D电视十问:第一代3D电视有前途吗?

本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 几个月以来,3D电视非常热门。据德国《法兰克福汇报》报道,目前,制造商已经在市场上推出了整整12款3D电视产品,到7月份产品类型更将达到36种。到9月份的柏林国际消费电子展,可供消费者选择 ...…

查看全部问答>

请教步进电机

上网查了一下步进电机的资料呵呵还多大收获。。 论坛也逛完了。。 小生想设计一个能正反转,4*4键盘输入转数,4位LED显示转数,最大9999转/分钟。。哪位帅哥美女帮帮小生,来个图图和C.... 小生不胜感激。。。。 …

查看全部问答>

哪位朋友有MC55编程资料或实例应用C代码

哪位朋友有MC55编程资料或实例应用C代码?…

查看全部问答>

keil求助!!大家帮帮忙!!

我在Keil uVision3中编了个小程序: #include #define u8 unsigned char #define u16 unsigned int #define MSG_MAX_DATA_LENGTH 4 typedef struct MsgObj { u8 datalen; u8 opCode; u8 date[MSG_MAX_DATA_LENGTH]; u16 crc; }MsgObj; ...…

查看全部问答>

请教一个zigbee的问题?

我刚接触zigbee,正研究协议栈程序(cc2430)。我发现这样的一个问题:      当一个rfd节点申请加入corde节点时,应该在corder节点处有判断PANID(网络号)是否相同,如果相同就可以加入,但是在协议栈corer源程序里不论nwk层,ma ...…

查看全部问答>

第一次问问题: 有没有支持WinCE的工业用摄像头啊?我把分数全部交出!

有没有支持WinCE的工业用摄像头啊?我把分数全部交出!…

查看全部问答>

NIOSII数码管显示实验

最近在学NIOSII,总是有些问题出来,打扰大家了··· #include \"stdio.h\"#include \"sys/unistd.h\"#include \"io.h\"#include \"string.h\"#include \"system.h\"#include \"altera_avalon_pio_regs.h\"#include \"altera_avalon_timer_regs.h ...…

查看全部问答>