I’m trying to get started with the RK3568 controller (cortex a55)
I have a project and a makefile
I managed to output the character using registers and flashing the LED.
But if I try to output a string using printf, the program just freezes without any signs of life.
I was looking for a solution to the problem, and the main solution is to implement the
_write function(int file, char *ptr, int len)
, which the standard printf function should use. But it doesn’t help.
I tried to connect another Printf function from github and it works. I don’t understand what the reason is.
I tried to call other functions from the standard library, for example strlen
and it has the same behavior as printf
I am using the AArch64 bare-metal target compiler (aarch64-none-elf)
I tried using another AArch32 bare-metal target compiler (arm-none-eabi), but there are even more problems with it. He can’t even build the project and throws assembler errors.
Error: selected processor does not support requested special purpose register –
msr tpidr_el 1,xzr' Error: ARM register expected --
ldr x1,=_start’
and many more similar
PS
Checked my Lst file. It is assumed that the Printf function does not even call my _write function. I don’t understand this behavior