commit 68a8f89708c209bb7cff726709ce98bb7de62090 from: Aleksey Ryndin date: Fri Mar 03 20:09:44 2023 UTC Append report commit - 0241a7fc9bbeab66b38dd65de218e221b91d7b28 commit + 68a8f89708c209bb7cff726709ce98bb7de62090 blob - adbbd86e4d5b64c9799faab2bba7153ece053b19 blob + 8d8cffe904e854a3d03329bc3503731ef4ca0b9f --- reports/20230302-v0.0.1.md +++ reports/20230302-v0.0.1.md @@ -48,7 +48,10 @@ OBJCOPY = llvm14-objcopy пакетов, так как встроенный в базу не умеет кросс-компилировать. ``` $ cat config.mk -(!) TBD +AS = /usr/local/bin/clang +CXX = /usr/local/bin/clang++ +LD = /usr/local/bin/ld.lld +OBJCOPY = /usr/local/bin/llvm-objcopy ``` Сборка (команда `make`) последовательно вызовет следующие утилиты: @@ -128,14 +131,27 @@ $ hexdump -C squat.img Запуск и текущая полезная нагрузка ---------------------------------- -`make qemu` +_Пощупать_ текущую полезную нагрузку можно выполнив команду `make qemu`: +``` +$ make qemu +qemu-system-aarch64 -M virt -cpu cortex-a53 -kernel squat.img -nographic -monitor none -serial stdio +Squat entry point +UART echo test mode +> +``` -UART Echo test +В таком режиме код ждет получения очередного символа через UART, а затем +отсылает его же обратно. Запуск под отладкой ------------------- -`make gdb-remote` - - +При необходимости можно запустить QEMU в режиме отладки командой +`make gdb-remote`. В отличии от обычного запуска (`make qemu`) при запуске qemu +добавляются аргументы `-s -S`, которые включают отладку и ждут подключения +отладчика. В нашем случае отладчиком будем выступать `lldb`, который локально +подключится к QEMU через порт `1234`: +``` +$ lldb +```