使用Atmel Studio7和USBasp烧写器烧写AVR单片机
本文参考:http://shannonstrutz.com/uncategorized/setting-up-usbasp-for-use-with-atmel-studio-6
很多教程中都提供使用Atmel Studio和MKII对AVR单片机进行烧写,但民间使用最多的烧写器是物美价廉的USBasp,10元左右的价格比200元的MKII亲民多了。但是在Atmel Studio中不可以直接使用USBasp进行烧写,于是通常需要借助其他软件,带来更多麻烦。
本文通过Atmel Studio的External Tools和Avrdude软件,达到可以在Atmel Studio中直接烧写单片机的目的。这样可以在开发环境中完成编程、编译和烧写,非常方便。
第一步:你需要有一个USBasp以及其驱动,驱动程序在网络上铺天盖地,在购买模块的时候向店家索要也可。在设备管理器中可以通过设定驱动搜索的路径来安装驱动。驱动安装完成之后设备管理器中会出现libusb-win32 device,点开隐藏后有USBasp设备。如图所示。
第二步:安装好驱动后,需要安装Avrdude软件。下载页面在此:http://download.savannah.gnu.org/releases/avrdude/
windows系统可以选择下载zip格式的文件,解压之后是两个文件,一个可执行文件和一个配置文件,放在想要的目录下(需要放在一个目录下)。这两个文件的路径尽量不变,否则需要重新配置第三步。
第三步:打开Atmel Studio软件,点击Tools菜单,选择Externel Tools。首先在界面下方几个文本框中进行配置。Title随意,我写的是USBasp。Command输入框内输入 (路径/)(avrdude软件名).exe,如如果放在D盘根目录下,可执行文件的名字是avrdude.exe,则输入D:\avrdude.exe。Argument输入框输入:
-c usbasp -p atmega16 -B12 -U flash:w:$(ProjectDir)Debug\$(TargetName).hex:i
注:参考的原文中对应上述指令最后的TargetName,用的是ItemFileName,这样的话必须.c程序文件名和.hex文件名相同。如果你的.c文件名是main.c,则会报错。
另外,上述命令的-p参数是单片机型号,我使用的是atmega16,需要改成你的型号。
设置好之后点击Add按钮,就设置好了。之后Tools菜单下就会有你设置好的Title 的选项。如下图。
出现了USBasp选项。写完程序后,必需先按F7编译解决方案,再点击这个选项。之后会出现Avrdude的命令行界面,会出现几个进度条。如果只出现一个进度条,命令行界面一闪而过,则可能是编译失败了,我的方法是在点击 的瞬间截图,看报的错误是什么。也可以直接用CMD命令行运行Avrdude,烧写.hex文件,看看报的错误。
另外,如果是新单片机没有设置过熔丝位的话,需要先设置熔丝位,否则单片机会默认使用1MHz的内部时钟。熔丝位只需设置一次,所以可以使用任何软件设置一次便一劳永逸。如果没有熔丝位设置软件,也可以用上文Avrdude来设置。使用命令行,先导航到avrdude.exe所在目录,然后执行指令。以我的为例,使用atmega16芯片,设置LFuse,使单片机使用外部晶振:
avrdude -c usbasp -p atmega16 -U lfuse:w:0xCE:m
熔丝位的计算可以使用熔丝位计算器:http://www.engbedded.com/fusecalc/
可能出现的问题:
1.原文提到说参数命令行中的路径可能出现问题,解决方案是将两个双引号去掉。
2.如果命令行中提示找不到usbasp的问题,则检查驱动,或者重新安装别的驱动程序试试。
使用Atmel Studio7和USBasp烧写器烧写AVR单片机相关推荐
- 杰理之怎么区分芯片是不是烧写器烧写完后第一次运行?【篇】
原理:烧写器烧写的时候把EEPROM擦写一遍,上电的时候检测EEPROM是否有"非第一次开机"标记,如果读不到这个标记,即为烧写器烧写完第一次开机运行.
- Altera的FPGA用烧写器烧写POF文件,烧写成功,显示100%,但是逻辑做的点灯没亮,一般会是哪的问题呀?烧写sof,灯亮。
Altera的FPGA用烧写器烧写POF文件,烧写成功,显示100%,但是逻辑做的点灯没亮,一般会是哪的问题呀?烧写sof,灯亮. 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markd ...
- C语言烧写C51单片机的线,51单片机烧写程序过程以及详细说明【图文】
Step 1:Keil软件的安装 1.选中文件夹中的C51V900安装程序并打开,如图: 2.在安装对话框里一直选择Next,直到Finish完成Keil的安装. Step 2: 安装USB转串口线的 ...
- hc05与单片机连接图_小白学单片机:单片机烧写器及烧写软件的使用
一.为什么叫烧写 早期一般是将调试好的单片机程序写入到ROM.EPROM中,这种操作就像刻制光盘一样,实在高电压方式下写入,PROM是一次性写入,存储内部发生变化,有些线路或元件就被烧断,不可再恢复, ...
- [Arduino]烧写Arduino BootLoader的几种方法
[Arduino]烧写Arduino BootLoader的几种方法 身为Arduino 电子工程师,很多时候都会涉及到自制各种功能的Arduino 电路板(亦或者说是功能扩展板),但是从网上或者其他 ...
- 13.1-自己开发一个“单片机烧写工具”!不是开玩笑吧?原来如此^~^(OTA升级)
听到这个"需求"的第一反应"这是开玩笑吧".我是是一个普通的码农,怎么可能开发出了那么复杂的东西. 带着一头冷汗,开始查资料中- 原来如此,有一种下载程序的方式 ...
- keil将c语言转换成hex文件格式,如何用keil烧写hex文件格式
描述 如何将现成的hex文件用keil烧写 开发单片机的第一步就是用Keil软件编写汇编程序,并形成最终的"*.hex"目标文件,然后用编程器将该文件烧写到单片机中就行了,最后将烧 ...
- atmega168P烧写bootloader
atmega168P烧写bootloader 烧写bootloader的方法大体分为两种: 1.使用Arduino IDE烧写bootloader 2.使用USBasp烧写 方法一:使用Arduino ...
- C6000系列的外置flash的烧写流程
CCS编译生成的out格式文件不能直接用于Flash烧写.在TI公司给出的技术文档中,首先将out文件利用其HEX工具转换为hex格式文件,然后利用Flash烧写工具将hex格式映像文件写入到片外Fl ...
- micropython8266ota_[Micropython]TPYBoardV102 Dfu固件烧写教程
TPYBoardv10x固件烧写一直是大家比较关心的问题,上次教大家用SWD接口烧写TPYBoard的固件,这次教大家用另一种方式烧写我们TPYBoardv10x的固件,直接用dfu模式烧写固件. 用 ...
最新文章
- 向类脑芯片迈进!科学家制造出光基人工神经元网络芯片
- 概念炒作的背后,“智能合约”的真相是什么?
- 关于《关于一道C#上机题的一点想法》
- nodejs开发游戏服务器遇到的性能问题
- Python设计模式——观察者模式
- 同时遍历多个dataframe_Java面试-容器的遍历
- SSL与WildFly 8和Undertow
- Android无法优化应用,Android应用优化总结
- oracle中的合并查询
- mail 命令发送附件
- logstash mysql 准实时同步到 elasticsearch
- java键盘钩子_HOOK使用:全局键盘钩子
- 基于vue+muse-ui的简历生成器
- 华为matebook13 win10系统重置登录密码
- 【毕设参考】ESP32 + HaaS Python打造可以统计流量的自动感应门系统
- 大数据第一季--Hadoop(day5)-徐培成-专题视频课程
- 大一大学计算机导论论文,大学计算机导论论文3500字_大学计算机导论毕业论文范文模板.doc...
- 统计候选人得票(结构体)
- 计算机网络-以太网,局域网,城域网,广域网,互联网,因特网,万维网的区分
- zend gard加密过期