avr开发环境的讨论
本人一直用ICCAVR的开发环境。但是最近在网上买了个网络模块,自动的资料里有avr的代码。但是就是不知道用什么开发环境打开的。winavr,AtmelStudio都是过貌似都不是请高手指教。这里是源文件。 那么iar的可能性比较大 gcc 的,就是 winavr 的那个 你用AVR Studio 就可以打开了,我估计你是问为什么看到的文件这么乱,那是因为编码格式的不同,你把文件复制到Word 中在 拷贝到原来的文件中就行了 attach://89193.png 编译了下 就是WINAVR的就是不知道什么版本的
不过估计影响也不大 zcx2012 发表于 2013-2-2 21:58 static/image/common/back.gif
attach://89193.png
问下 cmd下可以编译?????? 是AVR-GCC的,因为有Makefile啊,Makefile里面写了编译器之类的啊.
LS的那张图也很能说明问题啊 yklstudent 发表于 2013-2-2 22:06 static/image/common/back.gif
问下 cmd下可以编译??????
执行个shell命令:make就行了 笑笑我笑了 发表于 2013-2-2 22:07 static/image/common/back.gif
执行个shell命令:make就行了
进入5楼的界面不难我就是不懂在这样的界面下怎么编译一个工程呢(含多个文件)????
你说的不是很了解 不知道能否给详细讲解下
或者介绍下这方面的资料可以看看 yklstudent 发表于 2013-2-2 22:16 static/image/common/back.gif
进入5楼的界面不难我就是不懂在这样的界面下怎么编译一个工程呢(含多个文件)????
你说的不是很了 ...
在UNIX等等下管理工程是用Makefile管理的.Makefile里包含了要编译文件啊啊,编译器啊,要链接的库文件啊,包含头文件啊.
然后Make这个程序会自动寻找到Makefile这个文件,然后解析这个文件的内容,然后调用编译器编译.贴个STM32F3的makefile:# put your *.o targets here, make should handle the rest!
SRCS = main.c stm32f30x_it.c system_stm32f30x.c 12864.c
# all the files will be generated with this name (main.elf, main.bin, main.hex, etc)
PROJ_NAME=main
# that's it, no need to change anything below this line!
###################################################
export CC=arm-none-eabi-gcc
export LD=arm-none-eabi-gcc
export AR=arm-none-eabi-ar
export AS=arm-none-eabi-as
export OBJCOPY=arm-none-eabi-objcopy
export RANLIB=arm-none-eabi-ranlib
export LDFLAGS=-Wl,-T,stm32f30_flash.ld
LDFLAGS += -L../FWLib -lstm32f3
LDFLAGS += -lfastmathfunc
#export CFLAGS=-g -O1 -c -nostdlib -fno-common
#CFLAGS += -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mthumb-interwork -mlittle-endian -mfpu=fpv4-sp-d16
#CFLAGS += -DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DMANGUSTA_DISCOVERY -DHSE_VALUE=8000000
export CFLAGS=-g -O2
CFLAGS += -mlittle-endian -mthumb -mcpu=cortex-m4 -mthumb-interwork -Wall
CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16
CFLAGS += -ffreestanding -nostdlib
CFLAGS += -D STM32F30X -DARM_MATH_CM4
CFLAGS += -I ./
#CWD = $(shell pwd)
#export ROOT=$(CWD)
#export LIB_ROOT=$(ROOT)/lib
###################################################
vpath %.c ../FWLib/src
CFLAGS += -I../FWLib/inc -I../CMSIS/Include
CFLAGS += -I../CMSIS/Device/ST/STM32F30x/Include
SRCS += ../STARTCODE/startup_stm32f30x.s # add startup file to build
OBJS = $(SRCS:.c=.o)
###################################################
.PHONY: proj
all: proj
lib:
$(MAKE) -C lib
proj: $(PROJ_NAME).elf
$(PROJ_NAME).elf: $(SRCS)
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
# $(LD) $(LDFLAGS) --verbose -o $@ $(OBJS) -lstm32f4
$(OBJCOPY) -O ihex $(PROJ_NAME).elf $(PROJ_NAME).hex
$(OBJCOPY) -O binary $(PROJ_NAME).elf $(PROJ_NAME).bin
clean:
rm -f *.o
rm -f $(PROJ_NAME).elf
rm -f $(PROJ_NAME).hex
rm -f $(PROJ_NAME).bin如果你用过GCC的话,应该看起来没什么压力吧.
SRCS是要编译的C文件
CC 是C编译器
AS 是汇编器
LD 是链接器
CFLAGS 是编译选项
LDFLAGS 是链接选项
最难的是% 啊 @啊 代表的是什么 笑笑我笑了 发表于 2013-2-2 22:36 static/image/common/back.gif
在UNIX等等下管理工程是用Makefile管理的.Makefile里包含了要编译文件啊啊,编译器啊,要链接的库文件啊,包 ...
前辈只是对GCC了解点
但没研究过makefile
都是用WINAVR自动生成的 yklstudent 发表于 2013-2-2 22:43 static/image/common/back.gif
前辈只是对GCC了解点
但没研究过makefile
都是用WINAVR自动生成的
可以自己尝试写下Makefile啊,多写两遍简单的,复杂点的也就看的懂了.下面这个可以参考下
http://blog.csdn.net/haoel/article/details/2886
如果在在windows上开发个人觉得没什么必要了解Makefile啊.
MDK,IAR什么的都不是用Makefile管理项目的吧. 笑笑我笑了 发表于 2013-2-2 22:52 static/image/common/back.gif
可以自己尝试写下Makefile啊,多写两遍简单的,复杂点的也就看的懂了.下面这个可以参考下
http://blog.csdn ...
windows下面是 IDe自动生成的makefile yklstudent 发表于 2013-2-2 22:06 static/image/common/back.gif
问下 cmd下可以编译??????
我也不懂,我打开就是告诉你是编码错误 才显示成那样的 本帖最后由 点灯的星4 于 2013-2-3 12:59 编辑
看大家说的,好像跟windows下的project不是一个概念。不能像keil一样点击一个project就能直接打开吗。4楼说的似乎有道理,但是我还是不明白,
如何是用winavr的话再用pn进行编辑时应该会有图中的文件,就像project文件一样。但是貌似没找到。 本帖最后由 点灯的星4 于 2013-2-3 12:55 编辑
8楼的意思难道是要在unix或linux平台下编辑吗?本人暂时还停留在windows下的单片机编程,对于其他操作系统还不是很了解,望大神指教 avr studio4下打开的 18楼真给力,用avrstudio4打开了。先前我用的是atmelStudio6打开,好像不行。这两不知道什么关系,不知道是不是高版本和低版本的区别。
不过网上不是一直说avrstudio只能用于汇编吗?真是奇怪,这不是能用c的吗。编译是还有1个错误,无语。。。 点灯的星4 发表于 2013-2-3 14:56 static/image/common/back.gif
18楼真给力,用avrstudio4打开了。先前我用的是atmelStudio6打开,好像不行。这两不知道什么关系,不知道是 ...
avr studio4和avr studio6没法兼容
各自的工程文件只能自己打开
avr studio4只支持汇编的
内嵌AVRGCC是可以支持C的 yklstudent 发表于 2013-2-3 15:24 static/image/common/back.gif
avr studio4和avr studio6没法兼容
各自的工程文件只能自己打开
avr studio4只支持汇编的
谢谢上楼的解惑。为什么在iccavr上运行正常的程序,移植到avrstudio4中就没有效果呢。它们之间编写的规则也有不同吗
页:
[1]