历史上的今天
今天是: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
[cpp] view plaincopy
const unsigned char __signature[3] __attribute__((section (".signature"))) =
{ 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都可以简单的烧录。
史海拾趣
|
复旦攻读微电子专业模拟芯片设计方向研究生开始到现在五年工作经验,已经整整八年了,其间聆听过很多国内外专家的指点。最近,应朋友之邀,写一点心得体会和大家共享。 我记得本科刚毕业时,由于本人打算研究传感器的,后来阴差阳错进了复旦逸夫 ...… 查看全部问答> |
|
做TCPMP(多媒体播放器)的界面修改 想把里面的工具栏,移到下边来 工具栏是用commandbar_create创建的 能不能将默认显示在菜单栏下面的工具栏,改成显示在播放器底部 就像暴风影音那样… 查看全部问答> |
|
哪位高手能解决?小弟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 ...… 查看全部问答> |
|
做了一个读写串口的程序。 存在如下问题 在串口打开后,建立串口收数据线程,监控串口传来的数据。每当收到数据后再进行处理。 现在的问题是当用到ClearCommError(ceSeries->m_hComm,&dwReadErrors,&cmState);的时候cmState获得接收到数据的长度 ...… 查看全部问答> |
|
求教高人啊,我所在单位有短信需求发送需求啊,量比较大,一个月几万条记录,问怎样采购GSM MODEM啊,口碑、服务好一些的啊,有二次开发包的最好啊,小弟刚接触这方面,不懂,有知道的回回啊,发者有分啊… 查看全部问答> |
|
连接电路完全按照器件资料完成的 连接完成后,接入电脑串口和单片机串口,结果发现接收数据不对,将接入单片机的两根数据线拔出后串口助手仍然有数据接收,主要是00和FF,但貌似没什么规律(有时候一个00后面就一个FF,有时候n个00后才出现一个FF ...… 查看全部问答> |




