iMX6sx pingpong example on Sabre SD

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6sx pingpong example on Sabre SD

Jump to solution
2,199 Views
evgenyerlihman
Contributor IV

Hello,

I trying to run the pingpong example on the Sabre SD board with iMX6Solox. I have been able to build and boot core-image-minimal and core-image-base using the 3.10.53 BSP. The problem is that both of them do not have the pingpong example capabilities.

I used the following:

1. MACHINE=imx6sxsabresd source fsl-setup-release.sh -b build

2. bitbake core-image-base

So i tried with 3.14.52 and 4.1.15, they both have the pingpong code in them but do not boot for me on the same board. Not booting is usually looping on "Starting Kernel....".

I followed the instruction to the letter and i guess i am missing something. If i want to build the "base" image with no graphical backend, which DISTRO should i use and how exactly do i need to configure the build?

This is what i see on the terminal when it loops:

U-Boot 2015.04-imx_v2015.04_3.14.52_1.1.0_ga+g6cf684a (Aug 08 2016 - 23:27:21)

CPU:   Freescale i.MX6SX rev1.2 at 792 MHz

CPU:   Temperature 34 C

Reset cause: POR

Board: MX6SX SABRE SDB

I2C:   ready

DRAM:  1 GiB

PMIC:  PFUZE100 ID=0x11

MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

*** Warning - bad CRC, using default environment

Display: Hannstar-XGA (1024x768)

Video: 1024x768x18

gis input --- No input

In:    serial

Out:   serial

Err:   serial

switch to partitions #0, OK

mmc2 is current device

Net:   FEC [PRIME]

Normal Boot

Hit any key to stop autoboot:  0

switch to partitions #0, OK

mmc2 is current device

switch to partitions #0, OK

mmc2 is current device

reading boot.scr

** Unable to read file boot.scr **

reading zImage

6037600 bytes read in 377 ms (15.3 MiB/s)

Booting from mmc ...

reading imx6sx-sdb.dtb

47342 bytes read in 18 ms (2.5 MiB/s)

Kernel image @ 0x80800000 [ 0x000000 - 0x5c2060 ]

## Flattened Device Tree blob at 83000000

   Booting using the fdt blob at 0x83000000

   Using Device Tree in place at 83000000, end 8300e8ed

switch to ldo_bypass mode!

Starting kernel ...

U-Boot 2015.04-imx_v2015.04_3.14.52_1.1.0_ga+g6cf684a (Aug 08 2016 - 23:27:21)

CPU:   Freescale i.MX6SX rev1.2 at 792 MHz

CPU:   Temperature 38 C

Reset cause: POR

Board: MX6SX SABRE SDB

I2C:   ready

DRAM:  1 GiB

PMIC:  PFUZE100 ID=0x11

MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

*** Warning - bad CRC, using default environment

Display: Hannstar-XGA (1024x768)

Video: 1024x768x18

gis input --- No input

In:    serial

Out:   serial

Err:   serial

switch to partitions #0, OK

mmc2 is current device

Net:   FEC [PRIME]

Normal Boot

Hit any key to stop autoboot:  0

switch to partitions #0, OK

mmc2 is current device

switch to partitions #0, OK

mmc2 is current device

reading boot.scr

** Unable to read file boot.scr **

reading zImage

6037600 bytes read in 377 ms (15.3 MiB/s)

Booting from mmc ...

reading imx6sx-sdb.dtb

47342 bytes read in 18 ms (2.5 MiB/s)

Kernel image @ 0x80800000 [ 0x000000 - 0x5c2060 ]

## Flattened Device Tree blob at 83000000

   Booting using the fdt blob at 0x83000000

   Using Device Tree in place at 83000000, end 8300e8ed

switch to ldo_bypass mode!

Starting kernel ...

U-Boot 2015.04-imx_v2015.04_3.14.52_1.1.0_ga+g6cf684a (Aug 08 2016 - 23:27:21)

CPU:   Freescale i.MX6SX rev1.2 at 792 MHz

CPU:   Temperature 39 C

Reset cause: POR

Board: MX6SX SABRE SDB

I2C:   ready

DRAM:  1 GiB

PMIC:  PFUZE100 ID=0x11

MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

*** Warning - bad CRC, using default environment

Display: Hannstar-XGA (1024x768)

Video: 1024x768x18

gis input --- No input

In:    serial

Out:   serial

Err:   serial

switch to partitions #0, OK

mmc2 is current device

Net:   FEC [PRIME]

Normal Boot

Hit any key to stop autoboot:  0

switch to partitions #0, OK

mmc2 is current device

switch to partitions #0, OK

mmc2 is current device

reading boot.scr

** Unable to read file boot.scr **

reading zImage

6037600 bytes read in 378 ms (15.2 MiB/s)

Booting from mmc ...

reading imx6sx-sdb.dtb

47342 bytes read in 18 ms (2.5 MiB/s)

Kernel image @ 0x80800000 [ 0x000000 - 0x5c2060 ]

## Flattened Device Tree blob at 83000000

   Booting using the fdt blob at 0x83000000

   Using Device Tree in place at 83000000, end 8300e8ed

switch to ldo_bypass mode!

Starting kernel ...

Thanks,

Evgeny

Labels (3)
1 Solution
1,211 Views
jan_spurek
NXP Employee
NXP Employee

Seems that the driver is not included in 3.10.53 then. I tried to build the image with 3.14.52 for i.MX6SX sabresd board, added the driver manually, as I described in my first post and it works fine (core-image-minimal).

Could you please try the same source as I did?

repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.14.52-1.1.0_ga

View solution in original post

9 Replies
1,211 Views
igorpadykov
NXP Employee
NXP Employee

Hi Evgeny

reason may be that processor can not find rootfs, as wrong device

was given in kernel boot parameters. One can check Table 30. Linux uSDHC relationships

Linux Guide or run Demo images using MFG Tools from

i.MX 6 Series Software and Development Tool|NXP

If demos run well, then check uboot environment variables and

compare with own uboot settings.

PingPong demo is described on

Communication between asymmetric cores on i.MX6... | NXP Community

and sect.52.5 Running i.MX RPMsg Test Programs Linux Manual

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

1,211 Views
evgenyerlihman
Contributor IV

Hi Igor,

I just downloaded the L4.1.15_1.2.0_ga-mfg-tools.tar package and used the mfgtool2-yocto-mx-sabresd-sdcard-sd3 script to load the precompiled image.

I tried with two different SD cards on two different boards, this is the output (still looping on boot):

U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Jun 30 2016 - 10:23:19)

CPU:   Freescale i.MX6SX rev1.2 at 792 MHz

CPU:   Temperature 46 C

Reset cause: WDOG

Board: MX6SX SABRE SDB

I2C:   ready

DRAM:  1 GiB

PMIC:  PFUZE100 ID=0x11

MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

Display: Hannstar-XGA (1024x768)

Video: 1024x768x18

gis input --- No input

In:    serial

Out:   serial

Err:   serial

switch to partitions #0, OK

mmc2 is current device

Net:   FEC [PRIME]

Normal Boot

Hit any key to stop autoboot:  0

switch to partitions #0, OK

mmc2 is current device

switch to partitions #0, OK

mmc2 is current device

reading boot.scr

** Unable to read file boot.scr **

reading zImage

6620376 bytes read in 316 ms (20 MiB/s)

Booting from mmc ...

reading imx6sx-sdb.dtb

48333 bytes read in 19 ms (2.4 MiB/s)

Kernel image @ 0x80800000 [ 0x000000 - 0x6504d8 ]

## Flattened Device Tree blob at 83000000

   Booting using the fdt blob at 0x83000000

   Using Device Tree in place at 83000000, end 8300eccc

switch to ldo_bypass mode!

Starting kernel ...

U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Jun 30 2016 - 10:23:19)

CPU:   Freescale i.MX6SX rev1.2 at 792 MHz

CPU:   Temperature 44 C

Reset cause: POR

Board: MX6SX SABRE SDB

I2C:   ready

DRAM:  1 GiB

PMIC:  PFUZE100 ID=0x11

MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

Display: Hannstar-XGA (1024x768)

Video: 1024x768x18

gis input --- No input

In:    serial

Out:   serial

Err:   serial

switch to partitions #0, OK

mmc2 is current device

Net:   FEC [PRIME]

Normal Boot

Hit any key to stop autoboot:  0

switch to partitions #0, OK

mmc2 is current device

switch to partitions #0, OK

mmc2 is current device

reading boot.scr

** Unable to read file boot.scr **

reading zImage

6620376 bytes read in 315 ms (20 MiB/s)

Booting from mmc ...

reading imx6sx-sdb.dtb

48333 bytes read in 18 ms (2.6 MiB/s)

Kernel image @ 0x80800000 [ 0x000000 - 0x6504d8 ]

## Flattened Device Tree blob at 83000000

   Booting using the fdt blob at 0x83000000

   Using Device Tree in place at 83000000, end 8300eccc

switch to ldo_bypass mode!

Starting kernel ...

0 Kudos
1,211 Views
evgenyerlihman
Contributor IV

Igor,

Thank you for the quick reply, i followed the instructions in the link you have provided. Wen i build the minimal image, it does not generate the source code for the pingpong driver, and of-course the driver is not there when i boot the image on the board. Same thing for base image. Should it even work with 3.10.53? do i need to do some additional setup during compilation for the pingpong to work?

Thanks,

Evgeny

0 Kudos
1,211 Views
jan_spurek
NXP Employee
NXP Employee

Hi Evgeny,

try to add the driver manually. After executing

MACHINE=imx6sxsabresd source fsl-setup-release.sh -b build

run:

$ bitbake -c menuconfig linux-imx

Device drivers -> Rpmsg drivers and select IMX RPMSG pingpong driver for ping pong example.

$ bitbake linux-imx

$ bitbake core-image-minimal

1,211 Views
evgenyerlihman
Contributor IV

I did what you proposed to do, but

Device drivers -> Rpmsg drivers-> Empty

The Rpmsg is empty, and does not have the option to be included in the build.....

For both minimal and base builds

0 Kudos
1,212 Views
jan_spurek
NXP Employee
NXP Employee

Seems that the driver is not included in 3.10.53 then. I tried to build the image with 3.14.52 for i.MX6SX sabresd board, added the driver manually, as I described in my first post and it works fine (core-image-minimal).

Could you please try the same source as I did?

repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.14.52-1.1.0_ga

1,211 Views
evgenyerlihman
Contributor IV

Just to follow up, i think what confused me was the switch from MCC (3.10) to RPMSG (3.14) for A9<->M4 communication. I can confirm that the pingpong example is working perfectly out of the box for latest code from 4.1.15 branch.

MACHINE=imx6sxsabresd source fsl-setup-release.sh -b build

bitbake core-image-base

0 Kudos
1,211 Views
igorpadykov
NXP Employee
NXP Employee

Hi Evgeny

one can check sect.53.5.3 Running the pingpong Demo/Test

L3.10.53 Linux Manual

Best regards

igor

1,211 Views
evgenyerlihman
Contributor IV

Igor,

Here:

Communication between asymmetric cores on i.MX6SoloX

The instructions talk about the minimal image for the pingpong example.

Here:

I cant get the linux side of yocto rpmsg example for imx6sx

You propose using "more full images" after the guy tried working with minimal image for the pingpong example.

I am a bit confused....

All i am trying to do is to follow the build instruction step by step in-order to build "minimal" Linux image without any graphical backend using imx6sx evaluation board, nothing fancy, no additions, no custom boards.  I double checked in the precompiled image that i got on a SD card with the board, there is no rpmsg directory in the /lib/modules/3.10.53-1.1.0_ga+g496fbe0/kernel/drivers/.

Maybe i am not explaining myself properly. I want to build a headless (no graphical backend) "minimal size" image with rpmsg and ethernet capabilities. I think 4.1 kernel with the core-image-base is what i am looking for, but i can not find anywhere how to build it this way. It is only explained how to build it for graphical backends.

Thanks,

Evgeny

0 Kudos