完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前实现:
可以用过USBasp下载器下载到ATmega128a单片机中运行(厂商例程),还未实现在线调试。 前提:环境 软件: 开发平台Linux(kernel 3.6): 终端使用uname -a命令查看: Linux localhost.localdomain 3.6.3-1.fc17.i686.PAE #1 SMP Mon Oct 22 15:48:37 UTC 2012 i686 i686 i386 GNU/Linux Linux 发行版(Fedora) 终端使用l***_release -a命令查看: LSB Version: :core-4.1-ia32:core-4.1-noarch:cxx-4.1-ia32:cxx-4.1-noarch:desktop-4.1-ia32:desktop-4.1-noarch:languages-4.1-ia32:languages-4.1-noarch:printing-4.1-ia32:printing-4.1-noarch Distributor ID: Fedora Description: Fedora release 17 (Beefy Miracle) Release: 17 Codename: BeefyMiracle IDE 平台: Eclipse PlatformVersion: 4.2.1Build id: M20120914-1800 Eclipse 软件(插件)avr-eclipse: http://avr-eclipse.sourceforge.net 下载软件: Linux平台交叉编译avr程序交叉编译器:avr-gcc. yum安装或者源代码编译 avr程序下载(烧写)软件:avrdude 硬件: 下载器: USBasp,很早以前淘宝上买的: lsu***查看如下: Bus 003 Device 006: ID 16c0:05dc VOTI shared ID for use with libu*** 这个好像只能下载(ISP)。 AVR-JTAG-USB仿真器,也是很久以前买的: lsu***识别是u***转串,应该就是这样吧 = = 。 Bus 003 Device 012: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port 除了下载功能以外,这个还能在线调试。 以上两者任意一个都可以下载程序。 开发板: 一年多前淘宝买的开发板(ATmega128a)扔那里也没怎么玩,最近来了兴致拿起来折腾折腾 :P 。 正文:搭建开发环境:在Linux在使用AVR-Eclipse中,AVR-GCC和AVRDUDE进行Atmel的AVR单片机开发。 安装AVR-Eclipse 在Eclipse中单击帮助(Help)-》安装新软件(Install New Sofrware),之后将打开一个对话框。在对话框的顶部 Work with 文本框中粘贴 AVR-Eclipse 更新服务器的地址 (http://avr-eclipse.sourceforge.net/updatesite/)。如图: 安装好之后,点击窗口(Window)-》首选项(Preferences)展开左边的AVR一栏。 侧边栏 编程器配置(Programmer COnfigurations)中点击添加(Add)。左侧选择“USBasp,http://www.fishchl.de/u***asp”(注意:需要根据实际下载器硬件选择)。 同时,在项目-属性中也可以设置。 使用 文件(File)-》新建(New)-》C语言项目(C Project)。项目类型(Project type)中选择AVR Cross Target Project -》 Empty Project. 给项目名字。 下一步,点击高级设置(Advanced settings),选择之前配置文件。 就可以开始在Linux下进行单片机开发了。 编译完成后,点击avr菜单-》上载项目到目标设备即可 可能遇到的问题: 下载器(硬件) 1. 选择好适当的下载器.USBasp在Eclipse中工程项目的属性选项中,左侧Programmer Hardwavr编程器硬件应该选择“USBasp”。默认端口如果不是默认的/dev/ttyUSB0,必须填写正确的端口以覆盖配置。 2. 使用AVR JTAG USB仿真器时选择“Atmel JTAG ICE(mk1)”。因为默认端口(/dev/parport0)不是u***,可能会提示如下错误: avrdude: ser_open(): can‘t open device “/dev/parport0”: No such file or directoryavrdude: jtagmkI_close(): unsupported baudrate -1 所以默认端口必须覆盖,例如/dev/ttyUSB0. 测试可以下载,在线调试功能还在折腾中 :) 3. 总之:硬件和设置一定必须向配合。 软件:linux设备文件权限 默认情况下普通用户是没有linux的设备文件的读写权限的。所以avarice可能会提示访问受限。 这时只要给avarice增加权限位即可。 1. 切换到root用户 2. chmod a+s /usr/bin/avrdude #赋予权限位 3. 切换回普通用户,继续操作即可。 |
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1083浏览 2评论
700浏览 1评论
452浏览 0评论
193浏览 0评论
329浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:12 , Processed in 1.332020 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号