Hi,
I'm trying to test freescale's rpmsg demo file "str_echo_freertos" but having some issues.
I'm using an evaluation board from Embedded Artist (iMX6 SoloX Developer's Kit) with the imx6 solo x.
I've a linux kernel (3.14.52) and the app I want to test comes with the FreeRTOS BSP 1.0.1.
I've already compiled applications which worked (like a test of the uart from a FreeRTOS app on TCM) but can't make rpmsg working. (By the way, I've made the modifications on the pin_mux.c file to fix the UART2 settings).
What I've done:
I've replaced the former dtb with the imx6sxea-com-kit-m4.dtb with the command '=> setenv fdt_file imx6sxea-com-kit-m4.dtb '
I've put my image with the command '=> setenv m4image myImage.bin'
Then I've run the following instructions :
=> fatload mmc 1 0x00910000 myImage.bin
=>dcache flush
=>cp.b 0x00910000 0x7f8000 0x8000
=>dcache flush
=>bootaux 0x7f8000
On the m4 hyperterminal I can see then :
RPMSG String Echo FreeRTOS RTOS API Demo
RPMSG Init as Remote
Finally, I boot the A9 core from the u-boot menu with 'boot' and i load the rpmsg module with 'insmod imx_rpmsg_tty.ko' and I get :
imx_rpmsg_tty rpmsg0: new channel: 0x400 -> 0x0!
Install rpmsg tty driver!
BUT :
Nothing happens on the M4 side, even when I test a 'echo hello > /dev/ttyRPMSG'
What am I missing ?
I add my boot log in attachment
QD
Original Attachment has been moved to: log_boot_imx6.txt.zip
解決済! 解決策の投稿を見る。
Hi Quentin,
I did a comparison and the files look somewhat different, but I can recognize simmilar sections...
At the end of the file, I can find some strings and for your file, there is version 1.0.0, whereas for the NXP binary, there is version 1.0.1. There might be some update/bugfix maybe?
Can you verify the version if your BSP? Can you access the version 1.0.1?
Sorry for just a little contribution,
Marek
Hi Quentin
one can test with nxp linux bsp on sabre sd board using
Chapter 9 RPMsg PingPong Bare Metal Demo FreeRTOS attached
Demo Guide and Chapter 52 Remote Processor Messaging (RPMsg) Linux Manual.
Demo Image
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Do you have another suggestion ?
this is not nxp board and may be posted on vendor support
Best regards
igor
OK, but I'm wondering of the origin of my problem. Maybe it's a software issue.
Could it be caused by autorization missing for the A9 to write on the M4 TCM, or a setting on the size of shared memory ?
I've redone a test with a precompiled app given by NXP, pingpong_qspi.bin
It's working on the board, so I tried to compile myself pingpong_freertos.bin with the qspi linker, but this time I don't have the M4 handshake whench I launch the module (imx_rpmsg_pingpong.ko).
Hello Quentin,
Can you send me here please your binary and the binary provided by NXP?
Or you can even try to compare them yourself - sometimes, there must be some metadata added to the binary, which is flashed to the QSPI storage. Maybe, you are missing it... I don't have experience specifically with your board.
Regards,
Marek
Hi Quentin,
I did a comparison and the files look somewhat different, but I can recognize simmilar sections...
At the end of the file, I can find some strings and for your file, there is version 1.0.0, whereas for the NXP binary, there is version 1.0.1. There might be some update/bugfix maybe?
Can you verify the version if your BSP? Can you access the version 1.0.1?
Sorry for just a little contribution,
Marek
Hi,
there was maybe an error of version. Moreover, it seems Eclipse configuration had a little trouble, that's why one has to be very conscientious with that.
My mistake was to think the error came from the board or the code, instead it came from this tiny error in the configuration of linker/compiler in Eclipse.
Hi Quentin,
I have the same issue on i.MX7 SABRE board. Maybe you can share what you tiny error in Eclipse was. I am using Eclipse, too. So maybe I did the same mistake.
Thanks for your help in advance
Hi Quentin, maybe you can find some inspiration here: GitHub - EmbeddedRPC/erpc-imx-demos: eRPC demos for i.MX devices
It is ePRC (embedded remote procedure call) example which is using RPSMG as a transport layer on iMX board. Maybe you can ignore eRPC steps and look only on RPMSG part of the example.
Thanks Dusan, I will glance at it and I'll tell you if it helps me !
Thanks Igor for answering, but I'm not working on a sabre board. I need to make rpmsg working on my configuration (imx6 solo x on the Embedded Artist iMX6 SoloX Developer's Kit.
Like I said, I already compile binaries which worked (like one using uart and returning a keystroke on the M4 hyperterminal), but I fail with RPMsg.