Can't run simple printf on cortex a55

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

What’s your programming environment? Are you running on Linux or bare metal?

i use AArch64 bare-metal target compiler and load bin-file from u-boot. It’s just main and while-cycle where i blinked led

In the end I was able to solve this problem
I tried to do the following

  1. I implemented the _sbrk function
  2. I tried to highlight heap and stack
  3. I implemented the _write function (but did not touch _write_r [!])
  4. I provided the implementation of the memcmp, memset, memmove, memcpy functions
    In reality, item No. has the greatest impact on work.4. If you remove everything except point 4, then the code works and I can output “Hello world”!
    Let me remind you that I use aarch64-none-elf-gcc
    item 4 I took from here https://embeddedartistry.com/blog/2017/03/22/memset-memcpy-memcmp-and-memmove/