- Porting FreeRTOS to QEMU (-M virt -cpu cortex-a57). I am studying now.
- The booting procedure bases from u-boot
- The FreeRTOS project bases from FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC
- Currently, the default exception level in booting is EL1.
- Status
- Basic Uart works.
- uart_putc(), uart_puts(), uart_puthex()
- Basic FreeRTOS works.
- configASSERT(), xTaskCreate(), vTaskStartScheduler()
- printf() works.
- Basic examples work.
- Queue, Mutex, Binary Semaphore and software timer.
- Basic Uart works.
- Branch: nvdla_test
- Porting vp/tests/nvdla_bdma_mmio Successfully.
- Porting kernel driver. (Halt)
- We need drm.ko and opendla.ko. But drm.ko is prebuilt, there is no source code.
- GDB can't step into main() if missing lable: magic_label in start.S (commit 0ddf0c433d759b763c84106ee4810e5f809a78c3)
- Project:
- aarch64-bare-metal-qemu.
- Directly using UARTDR(UART Data Register) to send out the characters.
- ARM926 interrupts in QEMU
- The basic uart interrupt example
- FreeRTOS-GCC-ARM926ejs
- raspberrypi
- sample-tsk-sw
- armv8-bare-metal
- My study, including the basic booting, gic and timer
- FreeRTOSv10.0.1/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC
- aarch64-bare-metal-qemu.
- QEMU
- Makefile
- FreeRTOS
- Start
- Memory
- GIC
- FreeRTOS Tutorial
- xTimerCreate
- U-Boot
- GDB
- ARM
- iOS开发同学的arm64汇编入门
- Arm® Compiler armasm User Guide
- Application Note Bare-metal Boot Code for ARMv8-A Processors Version 1.0
- ARM® Architecture Reference Manual ARMv8, for ARMv8-A architecture profile Beta
- ARM® Cortex®-A57 MPCore™ Processor Revision: r1p0 Technical Reference Manual
- ARM® Cortex®-A Series Version: 1.0 Programmer’s Guide for ARMv8-A
- ARM® Generic Interrupt Controller Architecture Specification GIC architecture version 3.0 and version 4.0
- Compile
- printf()