Author:Fourier Email:samssmarm@gmail.com
AMP:(Asymmetric Multiple Processing)
Scenario:cpu core 0 run Linux, cpu core 1 run uC/OS-II RTOS. HDMI display panel link to Linux, LCD display panel link to uC/OS-II RTOS.
Platform:
Mars Board(freesclae i.mx6 dual Coretex-A9 core, 1GB 64bit DDR3)
Panda Board(TIOMAP4460 dual Cortex-A9 core, 1GB 32bit DDR3)
Altera SoC EVMBoard(dual Cortex-A9 core, (512MB+256MB ECC) DDR3 on HPS, 512MB on FPGA)
Video Demo On Mars Board:
Youtube: http://youtu.be/yb6KC6Cf8i4
Youku: http://v.youku.com/v_show/id_XNTMyNTAzNjky.html
AMP Port:
Linux SMP boot procedure is not mention here, For detail about the Linux SMP boot procedure please refer to the document here,http://www.linux-arm.org/LinuxBootLoader/SMPBoot.I just move the boot secondary procedure from Linux to U-boot as figure 1 in the AMP implementation, and figure2 describe the GIC relationship between two core and physical memory layout between Linux and uC/OS-II.
Figure 1
Figure 2
Display Subsystem Block on Mars Board and Panda Board:
Figure 3 imx6 display subsystem(Mars Board)
Figure 4 omap4460 display subsystem on panda board
hello,
thanks for illustration but how could i get the port for ucOS-II??
regards
can u list the source code for the porting layer or the illustration about it on cortex a9 thnx in advance
Hi,
I would thank you for this demonstration.
I am a beginner to IMX6 product and I want to use two different OS as you (one for HMI and the other one for computation/control).
Is there a memory latency due to each OS tries to access the memory at the same time?
If yes do you know the how long time are needed?
Thanks for your information
Hi,
Thanks a lot for your presentation.
i have the RTOS image in ELF format. May i know how to load and execute the same in secondary cores?
my entry point is 0x30000000.
1. i have used "fatload mmc 1:1 0x30000000 rtos.elf" to load the image in U-boot console.
2. "cpu 1 release 0x30000000" but nothing works
could you please help me to solve this issue?
Thanks in advance