Changes

Jump to: navigation, search
no edit summary
|April 2018
|2.1.0
|Update for XELK '''amp-feat-2.01.0 release-amp''' branch
|}
The following configuration required to run Linux OS on first Cortex®-A9 core and FreeRTOS on second Cortex®-A9 core of the Freescale i.MX6 SOC.
* '''N.B.''' For the sake of simplicity, in this application note, we are going to utilize use two of the four core inside the iMX6q iMX6Q cpu. Other configuration are possible but are not relevant for this demo.
The latencystat demo is a RPMsg-based application that exploits sophisticated techniques to handle inter-processors communication and synchronization.
DAVE Embedded Systems provides all the customization required (in particular at bootloader and Linux kernel levels) to enable customers use the standard i.MX6 development tools for building all the firmware/software components that will run on the target system.
In order to be able to compile the software required in this demo, it is necessary to extrac : * extract the *.ova inside the SDcard * install the VM in Virtualbox. Boot * boot the new Virtual machine and run the following comand 
dvdk@dvdk:~$ sh sdk-mount.sh xelk
 
Please refer to the [[Axel_Embedded_Linux_Kit_(XELK)#Quick_start_guide | XELK Quick Start Guide]] for further details on XELK.
<pre>
U-Boot > setenv fdtaddr 0x1c000000
</pre> Moreover, it is possible to force the linux kernel to use only 2 CPUs adding the <code>maxcpus</code> parameter (i.e. on ''addmisc''):<pre>U-Boot > setenv addmisc 'setenv bootargs ${bootargs} vmalloc=400M ${mtdparts}\\;${mtdparts_spi} maxcpus=2'
</pre>
bootcmd=mmc dev 0;mmc rescan;if run loadbootscript; then run bootscript; else run mmcboot ; fi; run net_nfs
bootdelay=3
bootfile=xelk/axel-lite/linux-compileduImage
bootscript=echo Running bootscript from mmc ...; source
disable_giga=1
fdt_high=FFFFFFFF
fdtaddr=0x1c000000
fdtfile=xelk/axel-lite/compiledimx6q-xelk-l.dtb
hostname=xelk
ipaddr=192.168.0.154
<pre class="board-terminal">
root@axel-lite:~# ./latencystat -b
Linux FreeRTOS AMP Demo.
0: Command 0 ACKed 1: Command 1 ACKed
Waiting for samples...
2: Command 2 ACKed 3: Command 3 ACKed 4: Command 4 ACKed
-----------------------------------------------------------
Histogram Bucket Values:
Bucket 323 666 ns (36 44 ticks) had 38 135 frequency Bucket 341 681 ns (38 45 ticks) had 299 204 frequency Bucket 512 696 ns (57 46 ticks) had 335 frequency Bucket 712 ns (47 ticks) had 371 frequency Bucket 727 ns (48 ticks) had 66 frequency Bucket 742 ns (49 ticks) had 81 frequency Bucket 757 ns (50 ticks) had 1 frequency Bucket 746 2075 ns (83 137 ticks) had 1 frequency
-----------------------------------------------------------
Histogram Data:
min: 323 666 ns (36 44 ticks) avg: 332 696 ns (37 46 ticks) max: 746 2075 ns (83 137 ticks) out of range: 0 total samples: 3391194
-----------------------------------------------------------
root@axel-lite:~#
</pre>
This application is extremely useful for evaluating how CPU load on first core affects IRQ latency. In case latency does not satisfy real-time requirements, it may be necessary to adjust arbitration priorities of processor's interconnect subsystem.
8,157
edits

Navigation menu