Raspberry Pi Port
Posted: Tue Sep 19, 2017 6:24 pm
I would like to port onto the RaspBerry Pi 1,2,3 AARCH32 and AARCH64
Okay so my background I have basically everything running baremetal SdCard, USB, Video, Interrupts, FAT32 etc in 32 and 64 bit .... a sample of my code
https://github.com/LdB-ECM/Raspberry-Pi
I have even built baby version of Windows API on the Pi
https://www.codeproject.com/Articles/11 ... -Pi-Part-I
So basically I am really just needing to know where to put things in the repository and create my own machine makefile etc. I looked around
and you cover recompiling but not porting to a new system.
Now I had a look at the beagleboard codes and I sort of know where most everything goes and what I would change but there is one major
thing I haven't worked out. As I will be doing the Pi3 AARCH64 bit first I have 4 processor cores and I can't work out how I am supposed to
hand the other cores over.
So currently my boot code will just park cores 1,2,3 and the O/S is then expected to ask me when they want them handed over. So this is
my current bootstub for AARCH64
https://github.com/LdB-ECM/Raspberry-Pi ... tStart64.S
So that sets up memory stuff, parks core 1,2,3 brings the FPU online and then finally looks to enter a C file
So obviously that entry would be to wherever you want me to put it.
So that needs to be my start point is to get that SmartStart64.S file kicked and then passed into your C
start point and the directories where you want them.
Now I am cross compiling from Windows onto the Arm using Linaro 7.1 from here
https://releases.linaro.org/components/ ... rch64-elf/
So really looking for directions to set this all up as a new port
Okay so my background I have basically everything running baremetal SdCard, USB, Video, Interrupts, FAT32 etc in 32 and 64 bit .... a sample of my code
https://github.com/LdB-ECM/Raspberry-Pi
I have even built baby version of Windows API on the Pi
https://www.codeproject.com/Articles/11 ... -Pi-Part-I
So basically I am really just needing to know where to put things in the repository and create my own machine makefile etc. I looked around
and you cover recompiling but not porting to a new system.
Now I had a look at the beagleboard codes and I sort of know where most everything goes and what I would change but there is one major
thing I haven't worked out. As I will be doing the Pi3 AARCH64 bit first I have 4 processor cores and I can't work out how I am supposed to
hand the other cores over.
So currently my boot code will just park cores 1,2,3 and the O/S is then expected to ask me when they want them handed over. So this is
my current bootstub for AARCH64
https://github.com/LdB-ECM/Raspberry-Pi ... tStart64.S
So that sets up memory stuff, parks core 1,2,3 brings the FPU online and then finally looks to enter a C file
Code: Select all
//"================================================================"
// Finally that all done Core0 jumps to the C compiler entry point
//"================================================================"
b kernel_main // Jump out to C kernel
So that needs to be my start point is to get that SmartStart64.S file kicked and then passed into your C
start point and the directories where you want them.
Now I am cross compiling from Windows onto the Arm using Linaro 7.1 from here
https://releases.linaro.org/components/ ... rch64-elf/
So really looking for directions to set this all up as a new port