So you have created a project in S32DS for Vision with target of S32V234 Cortex-A53 APEX2/ISP Linux . You have built the project and now want to execute it on the S32V234-EVB, which is running the Linux BSP from the VSDK on a SD card. There are many ways to do this, however, the simplest is to use the built-in support within S32DS to run and/or debug over an Ethernet connection to the Linux BSP OS running on the EVB. In order for S32DS to connect to the Linux BSP OS, the following steps should be followed:
1) First, we must complete the steps to Setup S32V234 EVB for debugging with Linux BSP.
2) With the Linux running on the EVB, start a terminal program (for ex. PuTTY) on your PC
3) Set Connection type to Serial
4) Set speed to 115200, Data bits 8, Stop bits 1, Parity None
5) Set Serial line to the COM port associated with the USB port setup in step 1 of this document. (for ex. COM3)
6) Click Open to start the terminal session
7) Press enter key to bring up login prompt
8) Log into Linux (login name is "root")
10) Get IP address, enter command:
ifconfig
Make note of the IP address
11) Launch S32DS for Vision. From the C/C++ Perspective, select Run->Debug Configurations...
12) From 'C/C++ Remote Application'. Select '<project_name>_Remote_Linux' debug configuration.
13) Select New to create new debug connection.
14) Select SSH
15) Enter the IP address noted earlier
16) Enter user ID as "root". The Linux BSP uses Password based authentication, but by default, no password is set. So the password can be left blank.
17) Select Finish
19) Select Apply, and then if you wish, Debug
After following this I am getting the error. "Problem Occurred"
The ticket contains screenshot: S32 Design studio: Failed to connect SFTP subsystem
Any input on resolving will be appreciable.
Hello krishnakumar.mayannavar@hs-kempten.de,
Have you tried the instructions detailed in the the following HOWTO? https://community.nxp.com/docs/DOC-335023
You might also find the following Quick Start Guide helpful. Though it contains information about the SBC-S32V234, there is much information which will be applicable to the S32V234-EVB as well.
To save you some time, you can log in to NXP.com and go to 'Software Licensing and Support'. From there, select 'Automotive SW - Linux'. Next select 'SW32XX-LINUXBSP01-RTM-V19.0' and then download the item 'Precompiled binaries with VSDK binaries_auto_linux_bsp19.0_vsdk.tgz' from the list. This is the BSP image you are looking for. Then you can use a program like 'Win32DiskImager' to write it to your SD card. Then you should be able to connect to the board from S32DS.
Hope it helps,
Mike
Dear Mike Doidge,
Thank you for your reply and details.
We are in the phase of evaluating the board and are using the default board image provided.
#1. From this conversation, I imply that out-of-box SD card images cannot be used for a video tutorial
(NXP\S32DS_Vision_v2.0\S32DS\help\resources\video) applications
Is that right?
#2. Please let us know the application(s) which can be tested with the SD card image provided.
Thanks and regards,
Krishnakumar Mayannavar.
Hello krishnakumar.mayannavar@hs-kempten.de,
You are correct. The BSP which is provided by the VSDK is the only version supported by S32DS for Vision and it is not the one which is supplied by default on the SD card which is included in the S32V234-EVB kit.
As to what applications are supported by the BSP which comes installed on the provided SD card, I am not sure. I can only say for sure that it is not supported by S32DS.
Best Regards,
Mike
Hello Mike,
Thank you for the quick reply,
I would like to confirm with you a question before informing our management.
"Unless we spend some man hours on setting up the environment and create a VSDK image (HOWTO: Prepare A SD Card For Linux Boot Of S32V234-EVB Using BSP From VSDK ), we cannot perform the actions as shown in video tutorials as in NXP\S32DS_Vision_v2.0\S32DS\help\resources\video." Is that right?
Best regards,
KK
Hello krishnakumar.mayannavar@hs-kempten.de,
If you use the 'Precompiled binaries with VSDK binaries_auto_linux_bsp19.0_vsdk.tgz' method I described, then you only need to download the file then write it to the SD card. This does not take much time at all. The method to create the image is more useful for the users who wish to customize the image.
Best Regards,
Mike
krishnakumar.mayannavar@hs-kempten.de, if you do not see the option for 'Automotive SW - Linux' after logging into NXP.com and following the Software Licensing and Support link, then try this link to get to the download: http://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=SW32XX-LINUXBSP01D
Hope it helps,
Mike
Hello Mike,
If any further challenges w.r.t to the precompiled images, we will come back with a new ticket.
I would like to close this ticket.
Thank you for the details, this is helpful.
Best regards,
KK
Dear Mike,
We have the following setup:
Board: SBC-S32V234.
Camera: OV10640
Serializer: MAX9286S32V234
You can also find the setup in the attached picture "SBC-S32V234_Camera_Setup.jpg" and "SBC-S32V234_MIPI_Voltage_setting.jpg"
Our team is testing with precompiled binaries "isp_ov10640_quad.elf" and observing I2C errors.
Snip of the log.
-----------------------
root@s32v234sbc:/vsdk/demos#
root@s32v234sbc:/vsdk/demos# ./isp_ov10640_quad.elf
**************************************************************
** Omnivision Ov10640 quad demo using Maxim Ser/Des HW setup
** Description: ** o Maxim 9286 deserializer board with 4xOmnivision Ov10640
** cameras each with 9271 serializer (on MipiCsi_0) expected as
** image input. ** o ISP does debayering and HDR processing.
** o Resulting image is displayed live using DCU.
** ** Usage: ** o no cmd line parameters available.
** o runtime control using nonblocking keyboard input.
** press 'h' for available commands listing.
** **************************************************************
Press Ctrl+C to terminate the demo.
[ 34.122541] Probing I2c client @ 0x6a on I2C bus #0.
[ 34.127386] Generic camera I2c driver added successfully.
[ 34.132594] Probing I2c client @ 0x40 on I2C bus #0.
[ 34.137654] Probing I2c client @ 0x30 on I2C bus #0.
[ 34.265918] Probing I2c client @ 0x41 on I2C bus #0.
[ 34.271091] Probing I2c client @ 0x31 on I2C bus #0.
[ 34.279722] Probing I2c client @ 0x42 on I2C bus #0.
[ 34.284889] Probing I2c client @ 0x32 on I2C bus #0.
[ 34.293505] Probing I2c client @ 0x43 on I2C bus #0.
[ 34.298669] Probing I2c client @ 0x33 on I2C bus #0.
[ 34.307290] Probing I2c client @ 0x44 on I2C bus #0.
[ 34.312449] Probing I2c client @ 0x34 on I2C bus #0.
[ 34.348974] /ssd/.jenkins_home/workspace/alb_package/vsdk_installation/s32v234_sdk/libs/isp/cam_generic/kernel/
build-v234ce-gnu-linux-d/../src/cam_func.c: 827/LinuxI2cRead :
[Error]: R err:device_address=0x31, i2c_bus_idx=0, data R failed:data=0x0|0|0|0, ret val:0 ../../../../../
libs/isp/cam_generic/user/src/cam_user.cpp: 347/CAM_ReadSingle :
[Error]: I2c read single failed ../src/sdi.cpp: 1428/IOsReserve :
[Error]: Failed to reserve IO object 4. ../src/sdi.cpp: 943/PreStart :
[Error]: Failed to reserve IO objects. Failed to prestart the grabber.
Demo failed in preparation phase.
root@s32v234sbc:/vsdk/demos#
-----------------------
Questions:
1. What could be the cause for I2C read single failed?
2. Is there a way to check if Max Serializer is connected okay?
Thank you for the support
Regards,
KK
Dear Kushal Shah,
I would like to update: Our setup has OV10635-S32V camera connected via Deserializer.
Executed prebuilt OV10635 demo program:
root@s32v234sbc:/vsdk/demos# ./isp_ov10635_viu_dcu.elf
**************************************************************
** Omniviion ov10635 viulite -> dcu demo
** Description:
** o Omniviion ov10635 (on VIULITE_0) expected as image input.
** o ISP only assembles full frames in DDR buffers using FDMA.
** o Resulting YUV422 1280x720 image is displayed live using DCU.
**
** Usage:
** o no cmd line parameters available.
**
**************************************************************
../.. 1588.870908] Probing I2c client @ 0x30 on I2C bus #1.
[ 1588.876260] /ssd/.jenkins_home/workspace/alb_package/vsdk_installation/s32v234_sdk/libs/isp/cam_generic/kernel/build-v234ce-gnu-linux-d/../src/cam_func.c: 810/LinuxI2cRead : [Error]: R err:device_address=0x30, i2c_bus_idx=1, address W failed:data=0x30|2a|0|0, ret val:0
/../ 1588.899974] /ssd/.jenkins_home/workspace/alb_package/vsdk_installation/s32v234_sdk/libs/isp/cam_generic/kernel/build-v234ce-gnu-linux-d/../src/cam_func.c: 810/LinuxI2cRead : [Error]: R err:device_address=0x30, i2c_bus_idx=1, address W failed:data=0x30|a|0|0, ret val:0
../. 1588.923874] /ssd/.jenkins_home/workspace/alb_package/vsdk_installation/s32v234_sdk/libs/isp/cam_generic/kernel/build-v234ce-gnu-linux-d/../src/cam_func.c: 810/LinuxI2cRead : [Error]: R err:device_address=0x30, i2c_bus_idx=1, address W failed:data=0x30|b|0|0, ret val:0
./li 1588.947801] /ssd/.jenkins_home/workspace/alb_package/vsdk_installation/s32v234_sdk/libs/isp/cam_generic/kernel/build-v234ce-gnu-linux-d/../src/cam_func.c: 810/LinuxI2cRead : [Error]: R err:device_address=0x30, i2c_bus_idx=1, address W failed:data=0x30|12|0|0, ret val:0
bs/isp/viu/user/src/viulite_user.cpp: 156/VIU_Open : [Error]: Can't open device file: /dev/viulite0
../../../../../libs/isp/cam_generic/user/src/cam_user.cpp: 347/CAM_ReadSingle : [Error]: I2c read single failed
../../../../../libs/isp/cam_generic/user/src/cam_user.cpp: 347/CAM_ReadSingle : [Error]: I2c read single failed
../../../../../libs/isp/cam_generic/user/src/cam_user.cpp: 347/CAM_ReadSingle : [Error]: I2c read single failed
../../../../../libs/isp/cam_generic/user/src/cam_user.cpp: 347/CAM_ReadSingle : [Error]: I2c read single failed
Ov10635 on VIU 0 model PID 0x0, model VER 0x0, model SUBVER 0x0, gate ctrl 0x0
../src/sdi.cpp: 1428/IOsReserve : [Error]: Failed to reserve IO object 6.
../src/sdi.cpp: 943/PreStart : [Error]: Failed to reserve IO objects.
Failed to prestart the grabber.
Demo failed in preparation phase.
root@s32v234sbc:/vsdk/demos#
root@s32v234sbc:/vsdk/demos#
questions:
1. Provides us more details about VIU interfacing setup, if possible, VIU setup picture.
2. Please share us prebuilt binary application for single/double OV10635 connected via deserializer
3. What could be the cause of the above error and the way to fix it.
Thank you for the support,
Best regards,
KK
Hi Krishnakumar,
First of all you trying to run VIU based demo with MIPI ser-des camera. You should use the VisionSDK_S32V2_RTM_1_3_0\s32v234_sdk\demos\isp\isp_ov10635_quad demo for MIPI ser-des based camera.
From the picture it seems that the deserializer board is connected to MIPI-B. To be able to run the demo, you need to connect it to MIPI-A.
Your PWA jumper settings looks OK for 12V power to deser board.
Moreover, on deserializer board set jumper JU4 to power it from SBC board.
Once you have done all these setup please make sure that orange light is lit on cameras.
If that looks good then you should try to run the app again and see the output.
1. Provides us more details about VIU interfacing setup, if possible, VIU setup picture.
- There is no VIU port available on SBC board. You should get EVB to evaluate VIU. EVB: https://www.nxp.com/support/developer-resources/evaluation-and-development-boards/ultra-reliable-dev...
2. Please share us prebuilt binary application for single/double OV10635 connected via deserializer
- You can modify the VisionSDK_S32V2_RTM_1_3_0\s32v234_sdk\demos\isp\isp_ov10635_quad demo to have single/dual OV10635 setup.
3. What could be the cause of the above error and the way to fix it.
- See above.
Regards,
Kushal
Dear Kushal,
The information provided was helpful in order to resolve the I2C errors.
As suggested,
1. we have connected to MIPI-A,
2. Place jumper JU4
3. Run ./isp_ov10635_quad.elf
The ELF file for SBC was obtained from:
Product Download, SW32V23-VSDK001-RTM-1.3.0:
+VisionSDK RTM 1.3.0 pre-built SD Card image based on Yocto rootfs.
The full log and device setup are provided below.
Currently, we observe "Unknown lldcmd command." and "Config cam power fail with type: 0, index: 8"
From Vision SDK User Guide PDF(Page No:57): We note that:
"All ISP related demos expect the s32v234 SoC security fuse to be disabled as described in s32V234-EVB_SetupGuide document. Otherwise the current mechanism for KRAM content setup will not work and execution of ISP demos will fail."
Questions:
1. Do we need to disable the security fuses for SBC board also? if yes, could you provide the instructions or it same as EVB?
2. Please suggest the next debugging / action steps to resolve the errors
Thank you for your support,
Regards,
KK
================================================================
Setup:
As mentioned, the cameras led are lit
Full log:
s32v234sbc login: root
root@s32v234sbc:~# lsmod
Module Size Used by
viulite 20480 0
jpegdcd 20480 0
h264dcd 24576 0
h264enc 28672 0
fdma 32768 0
seq 53248 1
cam 36864 0
csi 32768 1 cam
oal_cma 32768 1 fdma
apex 16384 0
root@s32v234sbc:~#
root@s32v234sbc:/vsdk# ./isp_ov10635_quad.elf
**************************************************************
** Omnivision Ov10635 quad demo using Maxim Ser/Des HW setup
** Description:
** o Maxim 9286 deserializer board with 4xOmnivision Ov10635
** cameras each with 9271 serializer (on MipiCsi_0) expected as
** image input.
** o ISP converts YUV422 10bit piexel data provided by the sensor
** to YUV422 8bit pixels and stores single camera images into
** separate DDR buffers.
** o Resulting YUV 1280x800 image are displayed live using DCU.
**
*********************************
** Usage:
** o ./isp_ov10635_quad.elf <camera channel> [<csi port>]
**
** Options:
** o camera channel 1-5. 5: switch each camera between 150 frames
** o [default: 5]
** o csi port 0|1 [default: use graph's setting]
**
*********************************
** Example:
** o Run camera #2, MAXIM pluged in CSI #1.
** ./isp_ov10635_quad.elf 2 1
** o Run all camera, use graph's setting for csi port.
** ./isp_ov10635_quad.elf
**
**************************************************************
[ 353.416617] Unknown lldcmd command.
. 353.419803] Probing I2c client @ 0x6a on I2C bus #0.
[ 353.424934] Generic camera I2c driver added successfully.
[ 353.430136] Probing I2c client @ 0x40 on I2C bus #0.
[ 353.435187] Probing I2c client @ 0x30 on I2C bus #0.
[ 353.445461] Unknown lldcmd command.
./../../../../libs/isp/cam_generic/user/src/cam_user.cpp: 947/CAM_PowerControl : [Error]: Config cam power fail with type: 0, index: 8
../../../../../libs/isp/cam_generic/user/src/maxim_user.cpp: 670/MAXIM_Open : [Error]: Power up csi #0 fail.
../../../../../libs/isp/cam_generic/user/src/cam_user.cpp: 947/CAM_PowerControl : [Error]: Config cam power fail with type: 0, index: 8
../../../../../libs/isp/cam_generic/user/src/maxim_user.cpp: 991/MAXIM_Close : [Error]: Power down viu #0 fail.
../src/sdi.cpp: 1517/IOsReserve : [Error]: Failed to reserve IO object 4.
../src/sdi.cpp: 979/PreStart : [Error]: Failed to reserve IO objects.
Failed to prestart the grabber.
Demo failed in preparation phase.
root@s32v234sbc:/vsdk#
Dear All,
The team is able to resolve the problem and run the sample ov10635_quad example.
In the interest of the people who are facing a similar problem, the steps followed was:
Hardware Setup:
1. On S32-SBC PWA jumper connected to 12V power to power deserializer board.
2. On S32-SBC the MAX deserializer board is connected to the MIPI-A.
3. On MAX deserializer board jumper JU4 is set to power the camera from SBC board
(After setting the jumper the yellow light of each camera are lit).
The full hardware setup image is given below:
Software setup:
1.BSP, rootfs and precompiled Vision SDK binary are of SDK_S32V2_RTM_1_3_0_img_yocto.tar.gz
Downloaded link for SDK_S32V2_RTM_1_3_0_img_yocto is:
2. Prepared SD Card with SDK_S32V2_RTM_1_3_0_img_yocto
Step-1: Do the boot and rootfs partition as in link:
https://community.nxp.com/docs/DOC-335023
Step-2: Burn the U-Boot image
$ sudo dd if=u-boot.s32 of=/dev/sdb bs=512 seek=8 conv=fsync
608+0 records in
608+0 records out
311296 bytes (311 kB, 304 KiB) copied, 0,151281 s, 2,1 MB/s
Step-3: Copy boot partitions files
$ cp Image /media/nxp/boot
$ cp s32v234sbc.dtb /media/nxp/boot
Step-4: Copy rootfs files to rootfs partition
/media/nxp/rootfs sudo tar -xvf /home/nxp/VSDK/rootfs.tar
/media/nxp/rootfs$ sync
Now the sd card is ready for the NXP board.
3. Run the application on the board.
Step-1: Insert the SD card.
Step-2: Power on the boot, login and change directory to the demo folder.
Step-3: Run the sample application.
root@s32v234sbc:~/vsdk# ./isp_ov10635_quad.elf
4. Display output: Camera captured images will be displayed on the HDMI connected display unit.
Camera images will be switched after 150 Frames.
root@s32v234sbc:~/vsdk# ./isp_ov10635_quad.elf 1
To get images from the Camera-1.
Thank you for the support,
Regards,
KK
Hi Krishnakumar,
We are glad that you were able to resolve the issue.
Please let us know if you have any further questions.
Regards,
Kushal
Hello Kushal,
Currently, we are looking into the VisionSDK documents in order to understand the links and chains between from the capture-process-display.
Although we are going through the help/docs, it would be helpful if you could direct us to the document/video/tutorial to:
1. Understand the data flow from the camera -> memory -> process (by specific core) -> memory -> display.
2. Inter-processor communication
2. OpenCV support in Vision SDK and its usage.
Best regards,
KK
Hi Krishnakumar,
The best place to start with these device is going through Quick Start Guide available at https://www.nxp.com/support/developer-resources/evaluation-and-development-boards/ultra-reliable-dev...
For more specific tutorials and training please reach to your local NXP sales/marketing contact. They can help you to reach to more resources.
If you have more questions on S32V please create a new ticket by going to nxp.com/support >> Support Requests.
For more questions on S32 Design Studio please go to community at https://community.nxp.com/community/s32/s32ds?tid=community
Regards,
Kushal
Hi Kushal,
I'm wondering is there a way that I can boot the board by itself as soon as the power is on and execute the program in SD card, like using rc.local? So that I don't have to connect the board with PC and Ethernet. Thanks in advance.
BR,
Yue
Hello fangyue@schaeffler.com,
Have you looked at https://community.nxp.com/docs/DOC-340293 ? It shows the steps to do this for the eMMC but you should be able to understand how to use SD card instead.
Hope it helps,
Mike