Thank you very much for this great tuto ! I'm trying it now and have some concern related to the toolchains.
I successfully compiled the first example, but I'm not clear here about the tool chain. I installed this gcc-aarch64-linux-gnu package. But naming convention seems different and I cannot find my usual *-none-* pattern. I was used with arm one until now
Beside that one, I wanted to try the aarch64-elf-gcc from Linaro, but it seems not compatible. In the makefile, I just replaced the prefix
Everything else I kept unchanged. Running it I got the following error:
[email protected]:/media/sf_sharedHome/rpi-os-s-matyukevich/src/lesson01$ make
mkdir -p build
aarch64-elf-gcc -Wall -nostdlib -nostartfiles -ffreestanding -Iinclude -mgeneral-regs-only -MMD -c src/mini_uart.c -o build/mini_uart_c.o
/home/alex/PI/tools/gcc-linaro-7.3.1-2018.05-i686_aarch64-elf/bin/../libexec/gcc/aarch64-elf/7.3.1/cc1: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
Makefile:16: recipe for target 'build/mini_uart_c.o' failed
make: *** [build/mini_uart_c.o] Error 1
I dont understand the dependency to a Linux library here, why is that needed here ? I wonder whether the toolchain is correct (baremetal ?) or if options are compatible ? (Linaro documentation is not convenient to search - no flat single pdf...)
Any similar experience ?