I was recently tasked with looking into the boot loader for an A55 processor chipset , will need to enable multiple cores and maybe setup the stack for each of them as well .
I am completely new to this domain , i am proficient in C and have basic knowledge of asm.
Need to learn about bootloaders, stack initialisation, multi-core bootup procedure and so on.....
Please share any tutorial links or documentation that you feel would help in this regard. Thanks.
The Cortex-A Programmers Guide is a good place to start:https://developer.arm.com/documentation/den0024
Do you have access to Arm Development Studio?https://developer.arm.com/Tools%20and%20Software/Arm%20Development%20Studio
This is provided with a startup example that you could build from.
I'll bite - why does a bootloader need to worry about multiple cores? Usually they just load up memory with the application or OS image, by one means or another, and then the startup code in the application would do all the stack and multicore stuff. (perhaps you need to write that startup code as well, but the bootloader itself will typically be as simple as possible. For example, GRUB2, the common bootloader for linux on x86 systems, doesn't do anything with multiple cores, AFAK.)