历史上的今天
返回首页

历史上的今天

今天是:2024年09月20日(星期五)

正在发生

2018年09月20日 | VR ELF文件的生成与烧录

2018-09-20 来源: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 重新编译即可,此头文件会定义一个常量数组并放置到ELF的.signature段中。(如果增加了.user_signature的段,好像编译器会自动将这.signature这个段添加到ELF文件中TBD)


[cpp] view plaincopy

  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都可以简单的烧录。


推荐阅读

史海拾趣

AB Connectors Ltd公司的发展小趣事

在快速发展的过程中,AB Connectors Ltd始终将品质管理放在首位。公司建立了完善的质量管理体系,从原材料采购、生产加工到产品出厂检验等各个环节都实行严格的质量控制。此外,公司还引进了先进的生产设备和检测技术,不断提高产品的精度和稳定性。这些措施有效提升了产品的品质水平,赢得了客户的信任和好评。

CBM_America_Corporation公司的发展小趣事

在全球电子行业遭遇供应链危机时,CBM_America_Corporation面临着巨大的挑战。公司的原材料采购受到影响,生产成本大幅上升。为了应对这一危机,CBM积极调整采购策略,寻找新的供应商和合作伙伴。同时,公司还加大了研发投入,开发出了更加环保、节能的产品,以适应市场需求的变化。通过一系列措施的实施,CBM成功度过了危机,并保持了稳定的发展态势。

DILABS公司的发展小趣事

DILABS公司成立于XX世纪初,由一群热衷于电子技术的工程师创立。在公司初创时期,他们面临了资金短缺、技术瓶颈和市场竞争等多重挑战。然而,他们坚持创新,经过无数次实验,终于在芯片封装技术上取得了突破。这一突破性的技术为DILABS赢得了业界的关注,也为公司的发展奠定了坚实的基础。

Chips And Technologies Inc公司的发展小趣事

C&T始终坚持品质至上的原则,从原材料的采购到产品的生产、测试,每一个环节都严格把控。这种对品质的执着追求,使得C&T的产品在市场上赢得了良好的口碑。许多知名电脑制造商都选择与C&T合作,将其产品作为首选的半导体解决方案。

CONEXANT公司的发展小趣事

在无线通信技术快速发展的时代,Conexant公司积极寻求与业界领先企业的合作机会。2001年,Conexant宣布将其无线业务部门与Alpha Industries合并,共同创建一个价值约30亿美元的新企业。这一合并不仅扩大了Conexant在无线通信领域的市场份额,也为其带来了更多的技术资源和市场机会。合并后的新企业以Conexant为主导,通过整合双方的优势资源,实现了无线业务的快速发展和市场份额的稳步提升。

FINECHIPS公司的发展小趣事

FINECHIPS公司始终坚持客户导向的经营理念,深入了解客户需求,提供定制化的产品和服务。在一次与某知名电子产品制造商的合作中,FINECHIPS根据客户的特殊需求,迅速调整产品设计和生产流程,成功开发出了一款符合客户要求的定制化芯片。这次合作不仅加深了双方的合作关系,还为FINECHIPS赢得了更多潜在客户的信任和青睐。

问答坊 | AI 解惑

一个牛人对模拟电路的理解(转)

复旦攻读微电子专业模拟芯片设计方向研究生开始到现在五年工作经验,已经整整八年了,其间聆听过很多国内外专家的指点。最近,应朋友之邀,写一点心得体会和大家共享。 我记得本科刚毕业时,由于本人打算研究传感器的,后来阴差阳错进了复旦逸夫 ...…

查看全部问答>

有没有无线倒车摄像头,内置锂电的

来自EEWORLD合作群:499581  群主:wangkj…

查看全部问答>

一个函数的问题!!

WriteCodecRegister函数出现在音频初始化的地方 但我不知道这个函数的具体初始化什么东西, 我查过api没有这个函数。。。 请问有人知道不?…

查看全部问答>

winCE中的应用程序工具栏位置可以改的么

做TCPMP(多媒体播放器)的界面修改 想把里面的工具栏,移到下边来 工具栏是用commandbar_create创建的 能不能将默认显示在菜单栏下面的工具栏,改成显示在播放器底部 就像暴风影音那样…

查看全部问答>

nfs 挂载问题??

哪位高手能解决?小弟nfs挂载有问题 mount: wrong fs type, bad option, bad superblock on 192.168.66.206:/hh123       missing codepage or other error       In some cases useful info is found ...…

查看全部问答>

VB.NET

我用的是VB.NET+SQL2000+SQLCE2.0 在用PPC访问服务器上的数据库时,在模拟器上跳出的问题是SQL Server不存在或访问被拒绝,在设备上(Symbol MC50)上是PlatformNotSupportedException。 但是我用rda访问时都是正常的。怎么回事呢。 程序: Dim c ...…

查看全部问答>

串口读数据出现误码?

做了一个读写串口的程序。 存在如下问题 在串口打开后,建立串口收数据线程,监控串口传来的数据。每当收到数据后再进行处理。 现在的问题是当用到ClearCommError(ceSeries->m_hComm,&dwReadErrors,&cmState);的时候cmState获得接收到数据的长度 ...…

查看全部问答>

gsm modem 的怎样选择啊?

求教高人啊,我所在单位有短信需求发送需求啊,量比较大,一个月几万条记录,问怎样采购GSM MODEM啊,口碑、服务好一些的啊,有二次开发包的最好啊,小弟刚接触这方面,不懂,有知道的回回啊,发者有分啊…

查看全部问答>

MAX232接法求助

连接电路完全按照器件资料完成的 连接完成后,接入电脑串口和单片机串口,结果发现接收数据不对,将接入单片机的两根数据线拔出后串口助手仍然有数据接收,主要是00和FF,但貌似没什么规律(有时候一个00后面就一个FF,有时候n个00后才出现一个FF ...…

查看全部问答>

msp430做频率计

刚学MSP430没几天,想自己做一个数字频率计,原理是什么,如何设置寄存器,谢谢!…

查看全部问答>