如何在mac中运行.hex文件来测试atmega8板

时间:2014-10-27 07:27:06

标签: macos bootloader atmega

在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和类似的东西一无所知。用简单的步骤解释我。

1 个答案:

答案 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"。它现在应该工作