在Windows中,我在AVRStudio中创建一个新项目并编译代码。这比给我的.hex文件,我可以在编译之后在Bootloader.exe上运行。但在Mac中它似乎不起作用。我编译了代码然后给了我.hex文件。但是如何在Mac上测试呢?我按照本网站上提到的步骤进行了操作:http://www.obdev.at/products/crosspack/index.html
bash$ cd Desktop
bash$ avr-project Demo
bash$ cd Demo
bash$ ls -l
total 0
drwxr-xr-x 3 cs cs 102 Nov 22 18:29 Demo.xcodeproj
drwxr-xr-x 4 cs cs 136 Nov 22 18:29 firmware
bash$ cd firmware
bash$ ls -l
total 24
-rw-r--r-- 1 cs cs 4139 Nov 22 18:29 Makefile
-rw-r--r-- 1 cs cs 348 Nov 22 18:29 main.c
bash$ make
avr-gcc -Wall -Os -DF_CPU=8000000 -mmcu=atmega8 -c main.c -o main.o
avr-gcc -Wall -Os -DF_CPU=8000000 -mmcu=atmega8 -o main.elf main.o
rm -f main.hex
avr-objcopy -j .text -j .data -O ihex main.elf main.hex
之后我必须运行此命令: bash $ make flash
但它说:
=avrdude -p atmega8 -U flash:w:main.hex:i
avrdude: no programmer has been specified on the command line or the config file
Specify a programmer using the -c option and try again
make: *** [flash] Error 1
如何解决?请把我视为一个新手,我对编译bootloader和类似的东西一无所知。用简单的步骤解释我。
答案 0 :(得分:0)
最后一行(使用avrdude ...)应该在ATMega8(-p atmega8)的闪存(flash :)中写入(:w :)文件main.hex,它是使用Intel格式编写的( :一世)。为了真正上传该程序,您必须在微控制器和计算机之间使用编程器。此外,你必须告诉avrdude这个程序员是什么,使用-c选项,然后是程序员的名字(要确切知道名字是什么,输入" avrdude -c"它将显示所有程序员由avrdude支持)。所以,如果你想上传,修改Makefile,搜索一行" avrdude -p atmega8 -U flash:w:main.hex:i"并添加" -c"。它现在应该工作