I found Pharos supports cortex-a53 and it also supports RMP(SMP) mode, but I want it to run on RK3308(quad cortex-a35 GICv2). I would like to ask if Praros can be ported to cortex-a35 (RK3308 Rockchip quad cortex-a35) If it can run on cortex-a35, its migration process is difficult.?
Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you for considering Pharos. The port for the A-35 should be quite simple since is has the same family (ARMv8-A) has the A-53 and therefore most of the code is already done. I've haven't looked into the details of the RK3308 but the port probably needs the new code for starting the CPU/Board (including SDRAM, PLL, etc) and handling the GICv2 (the A-53 had a newer GICv3). After this code is done the port should be straightfoward.
If you have further questions just keep in touch
Pharos Team
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi
Thanks for you reply
I think the files included in the path below need to be modified.But I don't know which parts of the file need to be modified.
~Pharos/Hal/Arm/archtecture/v8
~Pharos/Hal/Arm/board/raspberry/raspberry3
~Pharos/Hal/Arm/processor/A53/BCM2837
I tried to find the part related to GIC, but I have no idea at all.I found a gic.c(~Pharos/Hal/Arm/manufacturer/arm/Gic/src) file, but this file was not used when I compiled the project.Is there any guidance on the migration of Pharos to other platforms?Or can you give me some other advice?
Attachment is the rk3308 datasheet
Thanks again
You are quite right about the GIC. We started implementing it (when doing the raspberry) and only half-way we realized that the raspberry 3 actually doesn't use it (it has a custom interrupt controller) so we didn't finish it (have no way to test it) and we ended up not removing it, hence the confusion.
My suggestion when updating to a new CPU is NOT to modify the existing code (unless a bug exists or some common code can be added) but to create NEW components.
For example, I would start by using Netbeans 8.2. Using this your life will get much easier.
Then I would create a new component (Netbeans project) in the Hal/Arm/processor/Cortex-A/A35/RK3308. This should have all the code that is applicable only to this CPU.
I would also create another component Hal/Arm/manufacturer/Arm/GicV2 with the code for the GICv2.
I guess you have a specific board in mind (not jut the CPU). I would create another project in the Hal/Arm/board/???? folder with the code specific to that board (e.g. initialize the SDRAM, etc).
To create a new Netbeans project, I recommend to copy-paste an existing project (e.g. Armv8-A in Hal/Arm/architecture/v8) and then deleting the source/headaer files and creating your own. This way all of the compilation flags/etc are initialized.
On your application, you will have to include these libraries in the linker, of course (check the examples to see how, or just ask us).
Any doubt just ask ;)
On a side note, we would be happy to integrate your code in the official Pharos source code. We do have some requirements for the source code. The main one is that it must be tested on our environment. So for that we need a board/simulator. Can you tell us what is the board you are considering?
Thanks,
Pharos Team
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi
Sorry for the late reply
I will try to port pharos to rk3308 according to your suggestion.
Yes,I want to evaluate pharos using ROC-RK3308-CC Quad-Core 64-Bit AIOT MainBoard
The following link has information about the MainBoard. http://shop.t-firefly.com/goods.php?id=86
Thanks
zxw
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi
No problem (not late at all).
Good to know :)
It is a nice board!
Just a question, if I may: I noticed that you can burn the firmware through a USB-C cable. Is it possible to flash (and debug) the board via the USB-C cable?
I ask this because if you have to program the board via the SD-card you are going to loose a lot of time doing this (or maybe you know some way that is better).
Thanks,
Pharos team
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I found Pharos supports cortex-a53 and it also supports RMP(SMP) mode, but I want it to run on RK3308(quad cortex-a35 GICv2). I would like to ask if Praros can be ported to cortex-a35 (RK3308 Rockchip quad cortex-a35) If it can run on cortex-a35, its migration process is difficult.?
Thanks
Hi,
Thank you for considering Pharos. The port for the A-35 should be quite simple since is has the same family (ARMv8-A) has the A-53 and therefore most of the code is already done. I've haven't looked into the details of the RK3308 but the port probably needs the new code for starting the CPU/Board (including SDRAM, PLL, etc) and handling the GICv2 (the A-53 had a newer GICv3). After this code is done the port should be straightfoward.
If you have further questions just keep in touch
Pharos Team
Hi
Thanks for you reply
I think the files included in the path below need to be modified.But I don't know which parts of the file need to be modified.
~Pharos/Hal/Arm/archtecture/v8
~Pharos/Hal/Arm/board/raspberry/raspberry3
~Pharos/Hal/Arm/processor/A53/BCM2837
I tried to find the part related to GIC, but I have no idea at all.I found a gic.c(~Pharos/Hal/Arm/manufacturer/arm/Gic/src) file, but this file was not used when I compiled the project.Is there any guidance on the migration of Pharos to other platforms?Or can you give me some other advice?
Attachment is the rk3308 datasheet
Thanks again
Hi again,
You are quite right about the GIC. We started implementing it (when doing the raspberry) and only half-way we realized that the raspberry 3 actually doesn't use it (it has a custom interrupt controller) so we didn't finish it (have no way to test it) and we ended up not removing it, hence the confusion.
My suggestion when updating to a new CPU is NOT to modify the existing code (unless a bug exists or some common code can be added) but to create NEW components.
For example, I would start by using Netbeans 8.2. Using this your life will get much easier.
Then I would create a new component (Netbeans project) in the Hal/Arm/processor/Cortex-A/A35/RK3308. This should have all the code that is applicable only to this CPU.
I would also create another component Hal/Arm/manufacturer/Arm/GicV2 with the code for the GICv2.
I guess you have a specific board in mind (not jut the CPU). I would create another project in the Hal/Arm/board/???? folder with the code specific to that board (e.g. initialize the SDRAM, etc).
To create a new Netbeans project, I recommend to copy-paste an existing project (e.g. Armv8-A in Hal/Arm/architecture/v8) and then deleting the source/headaer files and creating your own. This way all of the compilation flags/etc are initialized.
On your application, you will have to include these libraries in the linker, of course (check the examples to see how, or just ask us).
Any doubt just ask ;)
On a side note, we would be happy to integrate your code in the official Pharos source code. We do have some requirements for the source code. The main one is that it must be tested on our environment. So for that we need a board/simulator. Can you tell us what is the board you are considering?
Thanks,
Pharos Team
Hi
Sorry for the late reply
I will try to port pharos to rk3308 according to your suggestion.
Yes,I want to evaluate pharos using ROC-RK3308-CC Quad-Core 64-Bit AIOT MainBoard
The following link has information about the MainBoard.
http://shop.t-firefly.com/goods.php?id=86
Thanks
zxw
Hi
No problem (not late at all).
Good to know :)
It is a nice board!
Just a question, if I may: I noticed that you can burn the firmware through a USB-C cable. Is it possible to flash (and debug) the board via the USB-C cable?
I ask this because if you have to program the board via the SD-card you are going to loose a lot of time doing this (or maybe you know some way that is better).
Thanks,
Pharos team