搜索
bottom↓
回复: 20

avr开发环境的讨论

[复制链接]

出0入0汤圆

发表于 2013-2-2 21:18:52 | 显示全部楼层 |阅读模式
本人一直用ICCAVR的开发环境。但是最近在网上买了个网络模块,自动的资料里有avr的代码。但是就是不知道用什么开发环境打开的。winavr,AtmelStudio都是过貌似都不是
请高手指教。这里是源文件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-2-2 21:34:28 | 显示全部楼层
那么iar的可能性比较大

出0入0汤圆

发表于 2013-2-2 21:39:12 | 显示全部楼层
gcc 的,就是 winavr 的那个

出0入0汤圆

发表于 2013-2-2 21:48:20 | 显示全部楼层
你用AVR Studio 就可以打开了,我估计你是问为什么看到的文件这么乱,那是因为编码格式的不同,你把文件复制到Word 中在 拷贝到原来的文件中就行了

出0入0汤圆

发表于 2013-2-2 21:58:13 | 显示全部楼层
attach://89193.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-2-2 22:01:40 | 显示全部楼层
编译了下 就是WINAVR的  就是不知道什么版本的
不过估计影响也不大

出0入0汤圆

发表于 2013-2-2 22:06:06 | 显示全部楼层
zcx2012 发表于 2013-2-2 21:58
attach://89193.png

问下 cmd下可以编译??????

出0入0汤圆

发表于 2013-2-2 22:06:45 | 显示全部楼层
是AVR-GCC的,因为有Makefile啊,Makefile里面写了编译器之类的啊.
LS的那张图也很能说明问题啊

出0入0汤圆

发表于 2013-2-2 22:07:45 | 显示全部楼层
yklstudent 发表于 2013-2-2 22:06
问下 cmd下可以编译??????


执行个shell命令:make就行了

出0入0汤圆

发表于 2013-2-2 22:16:53 | 显示全部楼层
笑笑我笑了 发表于 2013-2-2 22:07
执行个shell命令:make就行了

进入5楼的界面不难  我就是不懂在这样的界面下怎么编译一个工程呢(含多个文件)????
你说的不是很了解 不知道能否给详细讲解下
或者介绍下这方面的资料可以看看

出0入0汤圆

发表于 2013-2-2 22:36:52 | 显示全部楼层
yklstudent 发表于 2013-2-2 22:16
进入5楼的界面不难  我就是不懂在这样的界面下怎么编译一个工程呢(含多个文件)????
你说的不是很了 ...

在UNIX等等下管理工程是用Makefile管理的.Makefile里包含了要编译文件啊啊,编译器啊,要链接的库文件啊,包含头文件啊.
然后Make这个程序会自动寻找到Makefile这个文件,然后解析这个文件的内容,然后调用编译器编译.贴个STM32F3的makefile:
  1. # put your *.o targets here, make should handle the rest!
  2. SRCS = main.c stm32f30x_it.c system_stm32f30x.c 12864.c

  3. # all the files will be generated with this name (main.elf, main.bin, main.hex, etc)

  4. PROJ_NAME=main

  5. # that's it, no need to change anything below this line!

  6. ###################################################

  7. export CC=arm-none-eabi-gcc
  8. export LD=arm-none-eabi-gcc
  9. export AR=arm-none-eabi-ar
  10. export AS=arm-none-eabi-as
  11. export OBJCOPY=arm-none-eabi-objcopy
  12. export RANLIB=arm-none-eabi-ranlib

  13. export LDFLAGS=-Wl,-T,stm32f30_flash.ld
  14. LDFLAGS += -L../FWLib -lstm32f3
  15. LDFLAGS += -lfastmathfunc

  16. #export CFLAGS=-g -O1 -c -nostdlib -fno-common
  17. #CFLAGS += -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mthumb-interwork -mlittle-endian -mfpu=fpv4-sp-d16
  18. #CFLAGS += -DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DMANGUSTA_DISCOVERY -DHSE_VALUE=8000000
  19. export CFLAGS=-g -O2
  20. CFLAGS += -mlittle-endian -mthumb -mcpu=cortex-m4 -mthumb-interwork -Wall
  21. CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16
  22. CFLAGS += -ffreestanding -nostdlib
  23. CFLAGS += -D STM32F30X -DARM_MATH_CM4
  24. CFLAGS += -I ./

  25. #CWD = $(shell pwd)
  26. #export ROOT=$(CWD)
  27. #export LIB_ROOT=$(ROOT)/lib

  28. ###################################################

  29. vpath %.c ../FWLib/src

  30. CFLAGS += -I../FWLib/inc -I../CMSIS/Include
  31. CFLAGS += -I../CMSIS/Device/ST/STM32F30x/Include

  32. SRCS += ../STARTCODE/startup_stm32f30x.s # add startup file to build

  33. OBJS = $(SRCS:.c=.o)

  34. ###################################################

  35. .PHONY: proj

  36. all:         proj


  37. lib:
  38.         $(MAKE) -C lib

  39. proj:         $(PROJ_NAME).elf

  40. $(PROJ_NAME).elf: $(SRCS)
  41.         $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
  42. #        $(LD) $(LDFLAGS) --verbose -o $@ $(OBJS) -lstm32f4
  43.         $(OBJCOPY) -O ihex $(PROJ_NAME).elf $(PROJ_NAME).hex
  44.         $(OBJCOPY) -O binary $(PROJ_NAME).elf $(PROJ_NAME).bin

  45. clean:
  46.         rm -f *.o
  47.         rm -f $(PROJ_NAME).elf
  48.         rm -f $(PROJ_NAME).hex
  49.         rm -f $(PROJ_NAME).bin
复制代码
如果你用过GCC的话,应该看起来没什么压力吧.

SRCS是要编译的C文件
CC 是C编译器
AS 是汇编器
LD 是链接器
CFLAGS 是编译选项
LDFLAGS 是链接选项
最难的是% 啊 @啊 代表的是什么

出0入0汤圆

发表于 2013-2-2 22:43:07 | 显示全部楼层
笑笑我笑了 发表于 2013-2-2 22:36
在UNIX等等下管理工程是用Makefile管理的.Makefile里包含了要编译文件啊啊,编译器啊,要链接的库文件啊,包 ...

前辈  只是对GCC了解点  
但没研究过makefile
都是用WINAVR自动生成的

出0入0汤圆

发表于 2013-2-2 22:52:18 | 显示全部楼层
yklstudent 发表于 2013-2-2 22:43
前辈  只是对GCC了解点  
但没研究过makefile
都是用WINAVR自动生成的

可以自己尝试写下Makefile啊,多写两遍简单的,复杂点的也就看的懂了.下面这个可以参考下
http://blog.csdn.net/haoel/article/details/2886
如果在在windows上开发个人觉得没什么必要了解Makefile啊.
MDK,IAR什么的都不是用Makefile管理项目的吧.

出0入0汤圆

发表于 2013-2-2 23:00:59 | 显示全部楼层
笑笑我笑了 发表于 2013-2-2 22:52
可以自己尝试写下Makefile啊,多写两遍简单的,复杂点的也就看的懂了.下面这个可以参考下
http://blog.csdn ...

windows下面是 IDe自动生成的makefile

出0入0汤圆

发表于 2013-2-2 23:01:34 | 显示全部楼层
yklstudent 发表于 2013-2-2 22:06
问下 cmd下可以编译??????

我也不懂,我打开就是告诉你是编码错误 才显示成那样的

出0入0汤圆

 楼主| 发表于 2013-2-3 12:43:10 | 显示全部楼层
本帖最后由 点灯的星4 于 2013-2-3 12:59 编辑

看大家说的,好像跟windows下的project不是一个概念。不能像keil一样点击一个project就能直接打开吗。4楼说的似乎有道理,但是我还是不明白,
如何是用winavr的话再用pn进行编辑时应该会有图中的文件,就像project文件一样。但是貌似没找到。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-2-3 12:53:48 | 显示全部楼层
本帖最后由 点灯的星4 于 2013-2-3 12:55 编辑

8楼的意思难道是要在unix或linux平台下编辑吗?本人暂时还停留在windows下的单片机编程,对于其他操作系统还不是很了解,望大神指教

出0入0汤圆

发表于 2013-2-3 13:03:55 | 显示全部楼层
avr studio4下打开的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-2-3 14:56:46 | 显示全部楼层
18楼真给力,用avrstudio4打开了。先前我用的是atmelStudio6打开,好像不行。这两不知道什么关系,不知道是不是高版本和低版本的区别。
不过网上不是一直说avrstudio只能用于汇编吗?真是奇怪,这不是能用c的吗。编译是还有1个错误,无语。。。

出0入0汤圆

发表于 2013-2-3 15:24:08 | 显示全部楼层
点灯的星4 发表于 2013-2-3 14:56
18楼真给力,用avrstudio4打开了。先前我用的是atmelStudio6打开,好像不行。这两不知道什么关系,不知道是 ...

avr studio4和avr studio6没法兼容
各自的工程文件只能自己打开
avr studio4只支持汇编的
内嵌AVRGCC是可以支持C的

出0入0汤圆

 楼主| 发表于 2013-2-12 10:40:47 | 显示全部楼层
yklstudent 发表于 2013-2-3 15:24
avr studio4和avr studio6没法兼容
各自的工程文件只能自己打开
avr studio4只支持汇编的

谢谢上楼的解惑。为什么在iccavr上运行正常的程序,移植到avrstudio4中就没有效果呢。它们之间编写的规则也有不同吗
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-24 08:14

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

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