历史上的今天
返回首页

历史上的今天

今天是:2024年10月08日(星期二)

正在发生

2021年10月08日 | 使用AVRStudio设置AVR熔丝位及烧写程序

2021-10-08 来源:eefocus

AVR Studio是ATMEL指定用于开发AVR MCU的官方软件,其编程功能最为强大。下面介绍使用AVRStudio烧写程序及熔丝快速入门。

  ● 使用AVRISP方式烧写程序及配置熔丝位
  对软硬件进行初始配置,并正确设备连接,就可使用AVRISP进行联机了。
  打开AVRStudio,点击主窗口中的图标前面标有Con的那个图标。出现如下图画面:



(点击图片放大)

  在左边,选择“STK500 or AVRISP”,在右边,选择“Auto”(或具体的COM口),点击“Connect”进行联机。

  正常联机后,将弹出如下窗口:
  (1)程序编程面板:


(点击图片放大)

● Device里面选择好对应的芯片类型,后面的Erase Device可以擦除芯片。
● Programming mode编程模式:注意这里必须是ISP mod,表示用的ISP编程模式;Erase Device Before 选项:编程前先擦除芯片,建议选上,如果不选芯片内部残留的程序可能会对新的程序造成干扰。Verity Device After Program:下载完毕后校验程序内容,建议选上。
● Flash 下载区:Input HEX File,找到要写的hex文件格式为*.hex、*.e90。Program,编程点此按钮,将会把Input HEX File对应文件下载到芯片中去,如果路径有错误或者文件格式不正确会有提示报警。Verify 校验命令,用于检测芯片内程序是否和文件中的一致。Read读命令,此命令可以读出未加密芯片内的程序,自动弹出一个对话框提示保存。
● EEPROM下载区,和Flash 下载区类似,格式为.hex、.e90和.eep,此功能用于下载比较多的需要存在EEPROM中的内容时使用。Program、Verify、Read于Flash下载区有对应EEPROM的同样的功能,不在赘述。
● 状态指示区,这里显示目前的操作状态。

  (2)熔丝位设置面板:


(点击图片放大)

● 配置熔丝位有一定的危险性,可能锁死芯片,在不知道具体在做什么操作之前,请不要急于动手。
● 熔丝位状态显示框,显示芯片的各个熔丝位的详细状况,AVR的熔丝位打勾表示0,表示启用该选项;取消表示1,表示不启用该选项,需要注意。
● Auto Verity 选项选中时,程序会自己进行校验,建议选中。Smart Warning选项选中时,在对一些特殊的具有一定危险性的熔丝位进行编程时会弹出警告信息,建议选中。
● Program、Verify和Read分别对应编程、校验和读取,正确的配置熔丝的方法是先读取,先后修改需要修改的地方,再编程写回。在Auto Verity选项选中时无需再点Verify按钮进行校验。
● 为了安全起见,在ISP模式下,SPEEN熔丝是不允许编程的。
● 芯片锁死的主要原因是设错熔丝位,主要有两种情况:
(1)JTAGEN和SPIEN两个熔丝位都为1(不打勾),不能再进行编程,此时只能用高压并行编程或者有源晶振恢复。 
(2)将熔丝位选择了外部晶振或外部RC振荡,而没有接外部晶振或外部RC振荡,或者外接的振荡频率不匹配,导致芯片不能工作,这种情况,需要外挂相应晶体才能再次操作芯片,用户应尽量记起当时设错熔丝的情况,比如错误设置成了外部3-8M晶振,那么外挂一个3-8M晶振即可进行相应操作。 
  当然还有其它方面的原因导致芯片锁死,在此处不再一一赘述。
  下面以ATmega16为例,对其熔丝位进行简单描述:


(点击图片放大)

  (3)锁定位设置面板:


(点击图片放大)

● 通过编程锁定位,允许用户对AVR芯片内数据进行加密,不同的锁定位对应不同的加密保护程度,加密位共有三位,每位的数越大加密程度越高,否则越低。
● 被加密后的芯片依然可以读出熔丝位和加密位的情况,一旦试图对加密位进行修改,芯片内的程序将会被修改或擦除,不能再使用。
● 加密位可以通过编程界面的芯片擦除功能擦除到初始状态,使得芯片可以重复使用。
● 锁定位编程界面有与熔丝位编程界面相同的选项和操作按钮,功能类似,不再赘述。
● 锁定位编程应该在熔丝位编程之后进行,通常编程锁定位是生产过程中写芯片环节的最后一步。 
  下面以ATmega16为例,对其所定位进行简单描述:


(点击图片放大)

  (4)高级设置面板:


(点击图片放大)

● Signature Bytes,芯片型号标识位,点右边的Read读按钮可以读出芯片内的ID。如果在编程面板里面选的芯片型号与读出的芯片型号对应,下面会提示Signature matches selected device,如果不匹配会出现WARNING: Signature does not match selected device! 
● Oscillator Calibration byte,内部RC振荡校准。这里选择不同的频率,点Read Cal. Byte ,可以读出对应的频率下的校准值,然后将这个值复制到Write区,选择将校准值写到Flash还是EEPROM,点击Write to Memory写按钮,即可完成对应频率下的内部RC振荡校准。
● 写入到flash区域的校准字芯片启动时自动读取并校准RC振荡,如果写到EEPROM中,需要程序中进行处理。
● Communication Settings串行通讯设定。

  (5)对目标板控制面板:


(点击图片放大)

● Voltages 通过本面板可以查看目标板的电压和写参考电压,参考电压需要实际测得,再写入,可以帮助仿真器准确读取目标板电压值以供参考。本功能在ISP编程模式下不可用,需要在JTAG模式下使用。
● Oscillator and ISP Clock 读写速率设定,这里可以读写仿真器内ISP编程的速率,ISP模式下STK500选项为灰色。注意速率一定要小于芯片时钟频率的1/4,否则无法正确下载。
● Revision 版本号及升级,这里显示当前hex文件的版本号,如果AVR studio内的软件版本高于仿真器的版本,右边的Upgrade会可用,如果匹配则该按钮为灰色。
● 当Upgrade按钮为可用状态时,可以点击它进入自动升级,在此之前请确认仿真器是否支持自动升级,以免造成麻烦。

  (5)自动烧写面板:


(点击图片放大)

● 自动烧写面板在生产的时候非常管用,程序会记录上次进行批处理的各个选项,一旦设置好之后,可以连续进行烧写。
● 请慎用本功能,在不知情的情况下使用本功能,锁死芯片的几率将大大增加。
● 自动处理:擦除芯片、检测芯片ID号、写flash、写EEPROM、写熔丝位、写锁定位以及他们对应的校验,一次完成,状态栏会显示正在进行的操作。
● 所有的操作需要在前面对应的面板设置好,比如选择好下载的HEX及EEPROM文件,选好熔丝位,选好锁定位,写好内部RC校正位等。请一定确保各个选项正确,特别是熔丝需要格外小心,可以先在每个面板里面进行操作确认没有问题再进行批处理操作。
● 在进行批处理之前,请先在高级选项里面设置好通讯速率,确保速率小于晶振的四分之一,否则会出错。
● 可以选中右边的Log to file选项从而记录操作日志。

  ● 使用JTAG方式烧写程序及熔丝位
  对软硬件进行初始配置,并正确设备连接,就可使用JTAG进行联机了。
  打开AVRStudio,点击主窗口中的图标前面标有Con的那个图标。出现如下图画面:


(点击图片放大)

  在左边,选择“JTAG ICE”,在右边,选择“Auto”(或具体的COM口),点击“Connect”进行联机。
  详细的烧写介绍请参考:“使用AVRISP方式烧写程序及熔丝”。

  ● 使用JTAG ICE mk2方式烧写程序及熔丝位
  对软硬件进行初始配置,并正确设备连接,就可使用JTAGICE mk2进行联机了。
  打开AVRStudio,点击主窗口中的图标前面标有Con的那个图标。出现如下图画面:


(点击图片放大)

  在左边,选择“JTAGICE mkII”,在右边,选择“Auto”(或具体的COM口),点击“Connect”进行联机。
  详细的烧写介绍请参考:“使用AVRISP方式烧写程序及熔丝”。 

  提示:由于AVRStudio会记忆用户使用的设备是STK500或JTAG并且同时会记忆用户使用的COM号,如果下次和上次使用的是相同的设备并且没有更换COM口,那么下次使用的时候直接点击右边标有“AVR”的那个图标即快速进入联机状态;


使用AVRStudio设置AVR熔丝位及烧写程序

——


推荐阅读

史海拾趣

Adam Tech公司的发展小趣事

随着全球环保意识的提高,Adam Tech也积极响应绿色制造的号召。公司在生产过程中采用环保材料和工艺,减少对环境的影响。同时,公司还加大了对绿色产品的研发力度,推出了一系列符合环保标准的产品。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实的基础。

这五个故事只是Adam Tech在电子行业发展过程中的一部分缩影。正是凭借着对技术的不断追求、对品质的严格把控以及对市场的敏锐洞察,Adam Tech得以在激烈的竞争中脱颖而出,成为电子连接器行业的佼佼者。

Garmin_Canada_Inc.公司的发展小趣事
合理的电路设计可以减少信号干扰和失真,提高拨号的准确性。例如,在接收部分采用单端输入,并配置适当的滤波电路和放大电路;在发送部分则注意信号的波形整形和功率放大。
American Electric公司的发展小趣事

American Electric公司成立于XXXX年,起初只是一个小型电力供应商,为当地提供电力服务。然而,凭借着对电力行业的深刻理解和对市场需求的敏锐洞察,公司创始人决定扩大业务范围,逐步涉足发电、输电和配电等多个领域。通过不懈的努力和创新,American Electric公司逐渐在电力行业中崭露头角,成为一家备受瞩目的企业。

Daniels Manufacturing公司的发展小趣事

进入21世纪后,随着信息技术的快速发展,数字化转型成为制造业的重要趋势。DMC紧跟时代步伐,积极推进数字化转型和智能制造。通过引入先进的生产管理系统、自动化生产线和智能检测设备,DMC实现了生产过程的数字化、网络化和智能化。这不仅提高了生产效率和产品质量,还降低了生产成本和能源消耗。此外,DMC还利用大数据和人工智能技术,对市场需求进行精准预测和分析,为产品研发和市场营销提供有力支持。

鑫雁公司的发展小趣事

聚洵半导体于2016年在上海张江科学城正式成立,这里被誉为中国的“硅谷”,是科技创新的沃土。公司自创立之初就专注于高性能、高品质模拟及混合信号产品的研发设计与销售管理。在初创阶段,聚洵凭借其核心团队来自国内外顶尖半导体设计公司的背景,迅速构建了强大的技术基础,并获得了业界认可。初期,聚洵聚焦于运算放大器、比较器等基础产品的研发,逐步在市场中站稳脚跟。

Amphenol Aerospace公司的发展小趣事

随着技术的不断积累和市场需求的扩大,聚洵半导体在产品研发上取得了显著突破。公司不仅继续深化在运算放大器领域的研发,还成功扩展了产品线,涵盖了模拟开关、电压基准、线性稳压器、电平转换器等多种产品。这些产品广泛应用于通讯网络、消费电子、工业控制等多个领域,满足了市场多样化的需求。同时,聚洵还获得了多项技术专利和荣誉,如集成电路布图设计专利和发明专利等,进一步巩固了其在行业中的地位。

问答坊 | AI 解惑

单片机系统常用电子元器件知识简析

电阻种类及特点简介 电阻,英文名resistance,通常缩写为R,它是导体的一种基本性质,与导体的尺寸、材料、温度有关。欧姆定律说,I=U/R,那么R=U/I,电阻的基本单位是欧姆,用希腊字母“Ω”表示,有这样的定义:导体上加上一伏特电压时,产生一 ...…

查看全部问答>

请教~初学者什么时候买开发板?

我刚刚开始接触FPGA,资料也才看了一点,Verilog HDL也只是大致了解. 我在想要不要买块开发板,一边看资料一边在开发板上试试 以前学C的时候上课也觉得很枯燥,但是会经常自己编些小算术题之类的~呵呵 望有经验的兄弟姐妹给些建议 不慎感谢…

查看全部问答>

掉电保持数据 20字节左右

想实现 运行状态 掉电保持,以便重新上电时恢复, 需要保持的数据大约  20字节, 该状态每秒更新一次。 请问有什么比较好的方法?掉电检测如何实现? //目前使用的方法是:Dallas SDRAM, 当作RAM一部分。 掉电检测没有,上电时检查状 ...…

查看全部问答>

WinCE6.0中应用中使用物理地址

做应用的需要一片固定的内存,我在Config.bib中划好,在驱动里增加了MmIOMapSpace和MmIOUnMapSpace以及对应的IOCTL,在驱动内部测试,这片内存可以正常访问,map以及unmap。 我用IOCTL为应用返回这片内存的物理及虚拟地址,为什么在应用中使用该虚 ...…

查看全部问答>

[求助]DPF播放一個半小時的幻燈圖片後就不再播放了。爲什麽?

在板子上做测试,从服务器上读图片,在板子上以幻灯片的形式播放,几乎每次一个半小时后就停止播放。系统是winCE的,网上查了好久,知道是订阅时间的问题,但不知道该改哪部分的代码,请达人们指教,小弟刚接触嵌入式开发。…

查看全部问答>

vxwork 和 arm9 的问题

偶刚入此行,有些问题过于菜鸟,请大虾多多指教。 本人使用at91sam9261 开发板,用 sam-ba 2.4 往dataflash里面写,用ads1.2便宜的bin文件,通过sam-ba 里面的“send boot file”可以将 bin文件写进去,reset后也可以被执行。但当偶有vxwork下的t ...…

查看全部问答>

为什么我在debug的时候会出现F437.txt格式错误呀

@8000 30 40 04 80 FF 3F 31 40 00 06 3C 40 0C 02 3E 40 F8 00 B0 12 EE A7 3C 40 00 02 3E 40 0C A8 30 12 0B 00 B0 12 00 A8 21 53 B0 12 44 A0 B0 12 12 A4 0A 12 0B 12 08 12 09 12 06 12 07 12 04 12 05 12 D2 93 E5 02 C5 20 C2 43 E5 ...…

查看全部问答>

【Launchpad 心得】简单试用一下launchpad

以前从没接触过430,我看到那个工作电流就傻眼了,口水啊……。视频教程也不能下载,最近没有时间看(只有上班时间才能上网,很少见吧!)。手上电路图也没有,幸好板子上所有连接都标注好了。看了看寄存器,感觉挺简单,无非就是PXSEL选择功能,PX ...…

查看全部问答>

跪求大神解析

用STM32写串口程序,不知道出什么问题,老是接收不到数据,看寄存器里面的信息,USART1竟然没有读写初始化,但是程序里明明写了,不知道程序跑哪去了。。。。。。 求大神解析,我只写了MAIN 跟stm32f10x_it.c里的void USART1_IRQHandler(void) 下 ...…

查看全部问答>