マイプロジェクトの構造は次のようになります。ARMプロジェクトのメイクファイルを書く
.
├── build
├── src
| ├── rbpi
| | └── gpio.h
| ├── boot.c
| ├── boot.s
| └── kernel.c
└── linker.ld
これはLEDを点滅させ、簡単なラズベリーパイカーネルです! 私は現在、それを構築するために次の内容の簡単なbatファイルを使用します。
arm-none-eabi-gcc -g -O0 -mfpu=neon-vfpv4 -mfloat-abi=hard -march=armv7-a -mtune=cortex-a7 -nostartfiles -Wl,-T,linker.ld src/kernel.c src/boot.c src/boot.s -o build/kernel.elf
arm-none-eabi-objcopy build/kernel.elf -O binary build/kernel7.img
私はこのプロジェクトにファイルを追加しますので、私は私の「buildscript」にすべてのファイルを追加する必要があります。
可能であれば、私はmakefile
を使用したいと思います。
次の「ルール」が必要な場合、私のメイクファイルはどのように見えますか?コンパイル前
- 、
build
ディレクトリからすべての*.elf
と*.img
ファイルをクリーンアップ。 src
ディレクトリからすべて*.c
と*.s
のファイルをコンパイルします。kernel.elf
ファイルをbuild
ディレクトリに出力します。- リンカースクリプト
linker.ld
を使用してください。 - コンパイル後、
objcopy
を実行してバイナリファイルを生成します。典型的なMakefile
ように見えるかもしれ
ありがとうございます! :) –