搜索
bottom↓
回复: 38

Ubuntu linux 下玩AVR USBasp+Mega16

[复制链接]

出0入0汤圆

发表于 2010-1-2 13:29:11 | 显示全部楼层 |阅读模式
上网参考了一下其他人在Linux下玩AVR的方法,我想在这里总结Mark下,下次自己重装系统的时候可以看看。当然有很多人的弄得更好。


   1-----插上USBasp,查看是否已经识别   
         打开终端:    输入      lsusb  

(原文件名:Screenshot-hexiongjun@hexiongjun-desktop: ~.png)        
      
  
   

   看到了Bus04  中  写着 Atmel Corp  说明识别出来了  


  2------下载Hex文件的下载软件avudude  
          在终端输入    sudo apt-get install avrdude  


(原文件名:CD9AC9003905E72991720E80EF43FE28.JPG)

     按照它的建议   sudo apt-get install avrdude-doc


(原文件名:sendpix0.jpg)


  安装好avrdude后下面安装编译软件gccavr。

3------  sudo apt-get install gcc-avr  
          然后根据起提示按Y  回车确定即可


4----- 开始写程序 大家可以用IDE 像Codeblocks  Eclipes之类的    当然也可以直接用文本编写软件写程序。下面 我用gedit写(当然也可以用vi 和其他的,个人习惯)
   
    在终端中输入  gedit  AvrInUbuntu.c    开始写代码:

(原文件名:Screenshot-AvrInUbuntu.c (~-avr-AvrInUbuntu) - gedit.png)

    保存   


5----- 开始编译 cd ~目录
              avr-gcc -mmcu=atmega16 -Wall -Os -o AvrInUbuntu.o AvuInUbuntu.c

(原文件名:23.jpg)
-mmcu定义了目标CPU的类型,我用的是atmega16;-Os是优化选项,减少程序的大小


6 ---- 生成Hex
          avr-objcopy -j .text -j .data -O ihex AvrInUbuntu.o  AvrInUbuntu.hex
        用ls命令 可以看到有hex了。
      
(原文件名:hex.jpg)   

7 ------下载hex到单片机
             sudo avrdude -p m16 -c usbasp -e -U flash:w:AvrInUbuntu.hex

        
(原文件名:down.jpg)

出0入0汤圆

 楼主| 发表于 2010-1-2 15:06:38 | 显示全部楼层
直接读写USB接口,所以不给权限的话会提示找不到编程器,当然配置USB权限最好,这里暂时用sudo。avrdude的-p指定目标CPU,-c指定下载器,如果不知道所用的下载器是什么型号,敲avrdude -c会列出所有支持的下载器型号及其描述。-e即烧录前清空,-U参数指定刷写类型以及刷写文件

出0入0汤圆

 楼主| 发表于 2010-1-2 15:10:05 | 显示全部楼层
avr-gcc -mmcu=atmega16 -Wall -Os -o AvrInUbuntu.o AvuInUbuntu.c  
    这一句大家应该都明白   和  gcc 是一样的   
      -mmcu= 是填写芯片类型  
      -Os   是优化选项
      AvrInUbuntu.o AvuInUbuntu.c   的意思是将 AvuInUbuntu.c编译后输出文件名为 AvuInUbuntu.o的编译文件

出0入4汤圆

发表于 2010-1-2 23:49:42 | 显示全部楼层
多了一位li友,好啊。

出0入0汤圆

发表于 2010-1-3 00:08:34 | 显示全部楼层
我还是喜欢VI......

出235入235汤圆

发表于 2010-1-3 11:40:41 | 显示全部楼层
学习了!感觉使用Geany这个工具写代码会比较好,编辑器下面就是终端,不用开两个窗口!

出0入0汤圆

发表于 2010-1-3 12:22:03 | 显示全部楼层
牛人真多啊!!!

出0入0汤圆

发表于 2010-1-3 13:10:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-3 13:31:07 | 显示全部楼层
正找这个东西哈, 顶了.

出0入0汤圆

发表于 2010-1-3 13:48:30 | 显示全部楼层
你是用哪个版本的Ubuntu ?我有并口的ISP,用什么软件?

出0入0汤圆

 楼主| 发表于 2010-1-3 13:54:49 | 显示全部楼层
我用的Ubuntu是9.10  
   
   如果是并口请下载安装 Uisp 和 Usbprog   
   
   你可以在终端中  avrdude 回车
   根据提示输入对应的选项 查看avrdude查看其支持的设备  
   我现在在Windows下 无法查看  如果我没有记错的话 Avrdude是支持的ISP的
   
    待我在Ubuntu环境下的时候我再确认一下

出0入0汤圆

发表于 2010-1-3 14:56:35 | 显示全部楼层
可以支持的,并口下载器使用 stk200

出0入0汤圆

发表于 2010-1-3 17:15:31 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-1-4 00:08:00 | 显示全部楼层
To


在    http://www.nongnu.org/avrdude/   有avrdude的详细介绍
   当然也可以直接在终端中输入 avrdude 回车  或者看它的 man



(原文件名:sendpix1.jpg)


上面写明了可以用简单的并口下载  也就是STK200/300  当然也支持更高的500 等等其他的   
   我想普通学生用的最多都支持的
    但是下载的时候   用命令  sudo avrdude -p m16 -c usbasp -e -U flash:w:AvrInUbuntu.hex  中应该改变usbasp成相应的设备  

    如果用并口 还有一个软件是avrprog  你可以到  http://sourceforge.net/projects/avrprog/ 下载  它是专门并口下载的

出0入0汤圆

发表于 2010-1-4 08:31:17 | 显示全部楼层
将windows下面的winavr 自动生成的makefile直接复制过去用嘛~~

出0入4汤圆

发表于 2010-1-4 09:09:32 | 显示全部楼层
回复【14楼】Etual  
将windows下面的winavr 自动生成的makefile直接复制过去用嘛~~
-----------------------------------------------------------------------

在 Linux/BSD 下也能自动生成 Makefile,用 Jörg Wunsch 写的 Mfile,用 wish 运行。

出235入235汤圆

发表于 2010-1-4 16:06:23 | 显示全部楼层
我使用ubuntu插上USBasp后,lsusb找不到设备,

出0入0汤圆

发表于 2010-1-4 16:37:07 | 显示全部楼层
娃哈哈哈,用 UBUNTU8.04 的飘过,等待 10.04 中~~~~

出235入235汤圆

发表于 2010-1-4 16:43:05 | 显示全部楼层
UBUNTU9.1已经很不错了呀!

出0入0汤圆

发表于 2010-1-4 19:16:11 | 显示全部楼层
用fedora的路过,支持一下

出0入0汤圆

 楼主| 发表于 2010-1-4 20:19:27 | 显示全部楼层
To  【16楼】 lyping1987 甘立平:
    如果是看不到设备 那请拔了重插  如果还是不能发现设备 那么应该是USBASP的问题了  
       我的USBasp的固件时很古老的了 但是还是可以使用的   
      也不知道你的是怎样的
  
    我还做了一个USBASP  但是在能发现设备却不能当USBASP用 只能当做一个Mega8 最小系统玩了

出0入0汤圆

 楼主| 发表于 2010-1-4 20:24:31 | 显示全部楼层
发现已经有人写的很好了  大家可以参考他们的
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=1669108&bbs_page_no=1&search_mode=1&search_text=Ubuntu&bbs_id=1000
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=514645&bbs_page_no=1&bbs_id=1000

出0入0汤圆

发表于 2010-1-5 11:48:15 | 显示全部楼层
有空学习一下,我是用debian的。

出0入0汤圆

发表于 2011-2-27 14:41:12 | 显示全部楼层
COOL

出0入0汤圆

发表于 2011-3-9 12:48:47 | 显示全部楼层
很有用 马克一下

出0入0汤圆

发表于 2011-3-9 14:43:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-27 14:03:28 | 显示全部楼层
really good

出0入0汤圆

发表于 2011-11-27 16:30:10 | 显示全部楼层
支持下,学习了.纷乱的思路清晰了一些.

出0入0汤圆

发表于 2011-11-28 01:45:09 | 显示全部楼层
高手啊…

出0入0汤圆

发表于 2011-11-28 10:07:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-7 11:17:49 | 显示全部楼层
装了Ubuntu只会用来上网,向楼主学习!

出0入0汤圆

发表于 2011-12-7 13:59:06 | 显示全部楼层
正好要着linux下开发AVR的教程,多谢楼主了

出0入0汤圆

发表于 2011-12-7 16:31:14 | 显示全部楼层
狠狠的折腾了两天,摸到了一点门路,随手补充在这里。顺便完成审核的五篇帖子的任务(略蛋疼。。。)

楼主讲了编译的部分。我来补充一点调试的东西。其实也不是我原创。方便新手查询,节约时间。

传送门:
avr-gdb调试,7楼开始的方法比较方便
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=956563

avr-gdb调试需要elf文件。楼主没有江怎么生成。新手可以调用现成的makefile
http://www.ourdev.cn/guide_winavr_source_code_makefile.html
或者在编译时加入调试信息
       avr-gcc -mmcu=atmega16 -Wall -Os -gdwarf-2 -c main.c
       avr-gcc -mmcu=atmega16 -Wall -Os -gdwarf-2 -o main.elf main.o


另codeblocks是支持交叉编译的,ecplise不清楚。如果不是命令行控,codeblocks是个不错的选择。

出0入0汤圆

发表于 2012-3-27 13:38:35 | 显示全部楼层
ubuntu10.10+gvim+avrdude+avrgcc
感谢lz的资料

出0入0汤圆

发表于 2012-4-15 09:07:07 | 显示全部楼层
ubuntu 和 debian 都是好东西呀!!!

出0入0汤圆

发表于 2012-10-11 18:48:19 | 显示全部楼层
高手啊,学习下

出0入0汤圆

发表于 2012-10-13 13:58:28 | 显示全部楼层
必须mark啊,牛人

出0入0汤圆

发表于 2013-12-26 10:03:51 | 显示全部楼层
就没有鼠标点击就能下载的usbasp的UBUNTU软件吗。!
什么都要靠命令!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 12:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表