0

Ubuntuにsimavrをインストールしました。次のパッケージがインストールされています: avrdude binutils-avr gcc-avr avr-libc gdb-avr libelf-dev libglut3-dev gtkwave build-essential.

ledramp の例 (simarv フォルダー内の 1 つの例) を実行しようとしましたが、正常に動作します。しかし、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

誰が何がうまくいかなかったのか説明できますか?

ありがとう!

4

2 に答える 2