§ Сборка кода makefile
Готовый код здесь.all: # Компиляция arm-none-eabi-as entry.s -o entry.o arm-none-eabi-gcc -nostdlib main.cc -Os -c -o main.o arm-none-eabi-ld -T linker.ld entry.o main.o -o main.elf # Выгрузка в бинарный arm-none-eabi-objcopy main.elf -O binary -R .note -R .note.gnu.build-id -R .comment -S main # Показать дамп для отладки arm-none-eabi-objdump -S main.elf > main.lst clean: rm -f *.o *.elf *.lst main
§ Файл entry.s
.text .global _start .extern main _start: ldr sp, =0x8000 b main
§ linker.ld
MEMORY { ram : ORIGIN = 0x0000, LENGTH = 0x100000 } SECTIONS { .text : { *(.text*) } > ram .bss : { *(.bss*) } > ram }
§ Файл main.cc
void main() { char* vm = (char*) 0x1000; for (int i = 0; i < 256; i++) vm[i] = i; for (;;); }
23 ноя, 2020
© 2007-2023 Таффи улетает на работе