i am learning to write baremetal code for the raspberry pi 3. actually i have started learning it.
and my confusion from the start it is there with mailboxes.
i have some few questions which are listed below could some please help me in clearing those
1. Are the mailboxes which dwelch is talking about in the below link are they GPU mailboxes ?
https://github.com/dwelch67/raspberrypi ... er/multi00
2. if we write the address where the desired code which we need our cores to execute is present in the address 0x4000009c etc.,. will the GPU make our cores to jump directly to those locations
3. After we power up our rpi how many cores are available only single core is available or all core starts executing the instructions from the address 0x8000our core 0 has written some address x in the address 0x4000009c so will the GPU will take the respective core to that location ? or is it we need to keep core 1 in loop where it continuously checks whether any thing has been written or not in that address or is it zero or non zero if it is nonzero then jump to that address and if it is zero continue checking it
4. Assuming all our cores are released so say if i write a file called startup.s whose code is placed in the top and in that if i make all our cores expect core -0 to sit in a loop as i explained in question 2
here i used 0x40000090 -core 1 ,0x400000A0 -core 2, 0x400000B0-core3
will this method succeed ? will i be able to land my cores at the place i need to and can i make different cores execute different codes ?1. i will ask my core to read the value present at the address i will ask core 1 to read at the address 0x40000090 etc.,.
2.if it is non zero i will ask that core to jump to that particular address and start executing from there
3. if it is zero then i will make my core to repeat from the step 1
and using those address will they bring me any conflicts ?