我在 Ubuntu 上安装了 simavr。我安装了以下软件包:avrdude binutils-avr gcc-avr avr-libc gdb-avr libelf-dev libglut3-dev gtkwave build-essential。
我尝试运行 ledramp 示例(simarv 文件夹中的一个示例),工作正常。但是,当我将 board_ledramp 文件夹复制到 board_ledramp2 文件夹时,在 board_ledramp2 文件夹中,我重新编译并执行它,我得到了分段错误错误。
我的命令是:
make clean
make
./obj-i686-linux-gnu/ledramp.elf
make 命令后的控制台日志为:
AVR-CC atmega48_ledramp.c
1869 32 11 1912 778 atmega48_ledramp.axf
CC ../parts/button.c
CC ledramp.c
LD obj-i686-linux-gnu/ledramp.elf
ledramp done
错误消息是:
Loaded 1850 .text
Loaded 32 .data
firmware atmega48_ledramp.axf f=8000000 mmcu=atmega48
Starting atmega48 - flashend 0fff ramend 02ff e2end 00ff
atmega48 init
Segmentation fault
我尝试使用“file”命令比较原始elf文件和我的elf文件,输出是一样的:
./obj-i686-linux-gnu/ledramp.elf: ELF 32-bit LSB executable, Intel
80386, version 1 (SYSV), dynamically linked (uses shared libs), for
GNU/Linux 2.6.15, not stripped
任何人都可以解释出了什么问题?
谢谢!