历史上的今天

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

正在发生

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

发布者:brian808090 来源: eefocus关键字:AVR  ELF文件  生成  烧录 手机看文章 扫描二维码
随时随地手机看文章

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



关键字:AVR  ELF文件  生成  烧录 引用地址:AVR ELF文件的生成与烧录

上一篇:ATmega16定时器1的时间设定
下一篇:AVR使用范例--使用Bootloader 升级芯片内程序详解

推荐阅读

由于是M-M模式,所以只能选择DMA2一、首先应该初始化DMA结构体1.选择通道DMA_Channel,根据数据流选择对应的通道,2.选择源数据地址DMA_PeripheralBaseAddr3.目标地址DMA_Memory0BaseAddr3.选择传输方向DMA_DIR,根据实际情况有这三种DMA_DIR_PeripheralToMemory DMA_DIR_MemoryToPeripheral DMA_DIR_MemoryToMemory 4.设定待传输数据数目...
在AI换脸软件ZAO和旷视校园人脸识别的风波后,17万人脸数据被公开挂在网上商城出售的消息“接踵而至”,人脸突然成了“危险品”。无处不在的人脸识别,当采集人脸数据的渠道越来越广,很多人会疑惑,我们的人脸数据最终都流向了哪里?在刷脸解锁手机,付款,进出入高铁站、机场的时代,你的脸可能在研究人员的数据集中,也可能在暗网的黑产交易中,也可能...
随着人工智能技术兴起以及边缘设备算力的提升,机器视觉的应用场景不断扩展,并催生了巨大的市场。根据美国领先的调查机构Grand View Research的分析,预计到2025年全球机器视觉市场规模将达到182.4亿美元,复合年增长率为7.7%。在智能制造的浪潮下,生产线对工业设备有了新的要求,对质量检验和生产的需求不断增加。而新一代机器视觉系统能够在短短...
据悉,我国机器人研究开始于八十年代,在技术上晚于其它的发达国家。但是目前我国机器人水平已经实现了跨越性的进步,且来看看2021中国科技机器人企业排行榜TOP10: 1、美的集团:工业机器人、物流自动化系统 2、埃斯顿:工业机器人及智能制造系统 3、创新:与飞行器控制系统 4、汇川技术:工业机器人核心部件与整机 5、航天科技:航天工业机器人研...

史海拾趣

问答坊 | AI 解惑

功放集成电路30例.pdf

功放集成电路30例.pdf…

查看全部问答∨

GPRS—AT命令:AT+CIPSEND

问一下,为什么我数据发不出去?有没有人知道AT+CIPSEND命令啊? 我前面几个命令都回复OK的: AT+CREG? // check if registration network in 2 seconds interval +CREG: 0,1 // module responses AT+CGATT? // check if attach PDU for 2 ...…

查看全部问答∨

请教一下,我做WinCE的通用程序开发,用什么设备比较好?

如题,我们的产品是一个标准usb hid外设,需要在市面上大部分使用wince系统的设备中使用,现在做研发工作,请问: 1、此方案是否可行? 2、我在开发阶段用什么硬件平台比较好? 3、是否需要为每种不同的硬件平台提供usb hid驱动程序?当然前提还 ...…

查看全部问答∨

wince起来(不是eboot)LCD初始化位置是在哪?

wince起来(不是eboot)LCD初始化位置是在哪?是在显示驱动吗?…

查看全部问答∨

像墙纸可卷曲的LED灯,离我们不远

replyreload += \',\' + 679761;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答∨

温度传感器的材质有哪些?

温度传感器的材质有哪些? 对于腐蚀类的大家会选什么材料?…

查看全部问答∨

【MP430共享】 TI MSP430发展历程及应用领域

1-简要说明      介绍TI MSP430单片机的发展历程及应用领域,使初学者初步了解MSP430单片机的背景. 2-介绍描述      MSP430 单片机是由美国德州仪器 TI ( Texas Instruments )公司从1996年开始推出一 ...…

查看全部问答∨

从今天开始慢慢的学LM3S811

已经拿到这块板子很久了 都没怎么学 现在开始吧 因为国赛的遗憾 也是由于自己的代码稳定性不好 也许这样公开帖代码 帖进度才会比较大的提高吧 我用的是一块学长给的 据说是省赛 TI 发的  就是绿色那块 和仿真器在一块板子上的 没有 ...…

查看全部问答∨

新手问题:安装好keil软件后,必须得进行通行证的验证吗?就是那个kengen必须加载...

新手问题:安装好keil软件后,必须得进行通行证的验证吗?就是那个kengen必须加载成功?如果出现如图所示错误,会影响后续程序编译和执行吗?或者说会有什么坏处?谢谢指教!…

查看全部问答∨

Altium Designer中漏布线检查,焊盘数量统计

1、人工检查总有忘记漏布线的时候,可以用Report报告来检查是PCB中是否存在漏布线。  2、板子信息里面可以看到PCB焊盘数量统计等一些信息,点击报告按键,由于报告条款太多看不清,我们选择Routing Infomation只看布线信息。3、可以看到 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved