我使用CLion作为IDE。构建输出后是一个可执行文件example
。我想要实现的是从中获取.hex
文件并通过avrdude
将其上传到我的AVR。我阅读并尝试了一些possible solutions here
xxd -p example | tr -d '\n' > example.hex
和
avrdude -u -c usbasp-clone -p atmega8 -P /dev/bus/usb/001/006 -U flash:w:example.hex
但avrdude
输出
avrdude: input file example.hex auto detected as invalid format
avrdude: invalid input file format: -1
avrdude: read from file 'example.hex' failed
这里有什么想法吗?
答案 0 :(得分:3)
用于从可执行文件中提取部分并将其转换为其他格式的工具是objcopy
。
avr-objcopy -j .text -j .data -O ihex example example.hex
或者,如果您的avrdude是使用ELF支持构建的,那么您可以直接使用可执行文件。
avrdude -c usbasp-clone -p atmega8 -U flash:w:example