S32v234 access 4 channel OV10640 problem

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

S32v234 access 4 channel OV10640 problem

1,420 Views
435761040
Contributor II

I refer to the ISP tutorial to modify the ov10635 four-way camera tutorial
Mainly to replace OV10635 with OV10640

20180822151434.png

Added in main.cpp

20180822151649.png

After the compilation is finished, move the generated .elf to S32V234 and the result seems to crash. Show OAL initialization error?

root@s32v234sbc:~# ./bp_ov10640.elf
Press Ct 5886.877973] bp_ov10640.elf[1071]: unhandled level 2 translation fault (11) at 0x00000038, esr 0x92000006
[ 5886.887451] pgd = ffffffc078b56000
[ 5886.890810] [00000038] *pgd=00000000f8b54003, *pud=00000000f8b54003, *pmd=0000000000000000
[ 5886.899046]
[ 5886.900525] CPU: 1 PID: 1071 Comm: bp_ov10640.elf Not tainted 4.1.26-rt29-00003-g0df2715d1761 #3
[ 5886.909298] Hardware name: Freescale S32V234 (DT)
[ 5886.913961] task: ffffffc078a712c0 ti: ffffffc078cac000 task.ti: ffffffc078cac000
[ 5886.921442] PC is at 0x40b9c8
[ 5886.924363] LR is at 0x40b9ac
[ 5886.927328] pc : [<000000000040b9c8>] lr : [<000000000040b9ac>] pstate: 60000000
[ 5886.934680] sp : 0000007fefd44ec0
[ 5886.937987] x29: 0000007fefd44ec0 x28: 0000000000000000
[ 5886.943263] x27: 0000000000000000 x26: 0000000000000000
[ 5886.948553] x25: 0000000000000000 x24: 0000000000000000
[ 5886.953841] x23: 0000000000000000 x22: 0000000000000000
[ 5886.959130] x21: 000000000b0e8730 x20: 000000000b0e8620
[ 5886.964418] x19: 000000000b0e8628 x18: 0000000000000000
[ 5886.969707] x17: 0000007fae7ea720 x16: 0000007faeb190d0
[ 5886.974995] x15: 0000000000000195 x14: 0000007faee2bb20
[ 5886.980284] x13: 000000000000004f x12: 0000000000000006
[ 5886.985573] x11: 0000007fae8ba000 x10: 7361656c50202e64
[ 5886.990862] x9 : 0000000000000007 x8 : 0000007fae8bc588
[ 5886.996150] x7 : 0000000000000003 x6 : 525245203a4c414f
[ 5887.001439] x5 : 0000000000000004 x4 : 0000000000000000
[ 5887.006727] x3 : 00000000ffffffff x2 : 0000000000000000
[ 5887.012016] x1 : 000000000b0e8628 x0 : 0000000000000000
[ 5887.017305]
rl+C to terminate the demo.
Framebuffer mapped at 0x7fae3de000.
OAL: ERROR, Initialization failed. Please check the OAL kernel module.

Segmentation fault
root@s32v234sbc:~#
root@s32v234sbc:~#

Even if I commented out OAL_Initialize() in the main.cpp code, I reported the same error.

Have you encountered this kind of problem?

0 Kudos
4 Replies

842 Views
435761040
Contributor II

After executing this demo, HDMI will display green

0 Kudos

842 Views
435761040
Contributor II

I am following the main.cpp generated by the ISP tutorial settings.

/*
* main implementation: use this 'C' sample to create your own application
*
*/

#include "oal.h"

#include "isp_gen.h"
#include "isp_user_define.h"
#include "ov10635_surround_c.h"

int main(int, char **)
{

/* OAL initialization */
OAL_Initialize();
/**********************************************************************
The ISP_CALL is placeholder for calling the graph.
The definition of ISP_CALL is generated by graph tool to perform
all the manipulations with created process.
The user can change this code using other methods for process manipulation
generated by graph tool.
**********************************************************************/

ISP_CALL();

return 0;

}

/**********************************************************************
The io_config is placeholder for calling the initialization of Input/Output.
io_config is called from the code generated by graph tool.
The user should add the code to execute all steps to initialize
DDR buffers.
**********************************************************************/

void io_config(sdi_grabber *lpGrabber)
{
/* Insert the code to initialize DDR buffers */
sdi_FdmaIO *lpFdma = (sdi_FdmaIO*)lpGrabber->IoGet(SEQ_OTHRIX_FDMA);
SDI_ImageDescriptor lFrmDesc = SDI_ImageDescriptor(WIDTH_DDR, HEIGHT_DDR, RGB888);
lpFdma->DdrBufferDescSet(FDMA_IX_FDMA1, lFrmDesc);
lpFdma->DdrBuffersAlloc(FDMA_IX_FDMA1, DDR_OUT_BUFFER_CNT);


}

/**********************************************************************
The camera_config is placeholder for calling the initialization of camera.
camera_config is called from the code generated by graph tool.
The user should add the code to execute all steps to initialize
the camera installed in his board.
**********************************************************************/

void camera_config()
{
/* Insert the code to initialize the camera */
}

But it can't be used. Do you need to fill in the functions inside? Where can I find these fills? Configuration of ov10640.

0 Kudos

842 Views
jiri_kral
NXP Employee
NXP Employee

Hi, 

What is your target linux version? 

Jiri

0 Kudos

842 Views
435761040
Contributor II

Linux s32v234sbc 4.1.26-rt29-00003-g0df2715d1761 #3 SMP PREEMPT Mon Aug 13 10:18:19 CST 2018 aarch64 aarch64 aarch64 GNU/Linux

Auto Linux BSP 1.0 s32v234sbc

0 Kudos