Hi3519A 디버그 기록
23311 단어 Hi3519A
문서 목록
1. SDK 크로스오버 컴파일 설치
tar zxf Hi3519AV100_SDK_V2.0.1.0.tgz
cd Hi3519AV100_SDK_V2.0.1.0/
./sdk.unpack
tar zxf arm-himix200-linux.tgz
cd arm-himix200-linux/
chmod 777 arm-himix200-linux.install
sudo ./arm-himix200-linux.install
source /etc/profile
2. uboot 컴파일
cp configs/hi3519av100_nand_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux-
cp ../../../tools/pc/uboot_tools/reg_info.bin .reg
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin
사용 가능한 u-boot-hi3519av100이 생성됩니다.bin 미러 파일
질문 1: HiTool에서 uboot을 쓸 수 없습니다. "데이터 프레임을 보내는 데 실패했습니다. 직렬 연결선이 정상적인지 확인하십시오."라고 알려 주십시오. 그러나 직렬 읽기와 쓰기는 모두 정상적입니까?'데모 단판 사용 안내서'에서 BOOTROM 직렬 통신 모드 0: 시작 미디어에서 직접 시작하기;1: 직렬 쓰기 Flash 모드를 시작합니다.대응하는 하드웨어 BOOTSEL2 위로 당기기, 테스트 정상.
3. kernel 컴파일
cp arch/arm/configs/hi3519av100_smp_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage
문제2: 크로스워드 uboot가 성공하면, uboot가 인터페이스를 통해kernel을 쓸 수 없습니까?문제는 데모판이 사용하는 RTL 8211 천메가, rgmii 모드,phy 주소 1입니다. 제 바닥판은 RTL 8201 백메가, phy 주소 0을 사용합니다. uboot을 수정하고hi3519av100을 수정해야 합니다.h:
#define CONFIG_HIGMAC_PHY0_ADDR 0
#define CONFIG_HIGMAC_PHY0_INTERFACE_MODE 1 /* rgmii 2, rmii 1*/
레지스터 설정 수정xml: IOCFGREG110 레지스터 주소 0x47e0050 매개 변수를 0x71에서 0x72, RMIICLK, 생성 reginfo.bin, uboot을 만드는 데 사용되며, uboot를 다시 굽은 후, 네트를 통해kernel을 굽을 수 있습니다
문제3: 핵을 메가바이트 카드로 수정합니까?수정hi3519av100.dts:
&mdio {
ethphy: ethernet-phy@1 {
reg = <0>;
};
};
&higmac {
phy-handle = ;
phy-mode = "rmii";
};
기록이 완료되면 커널은 "ETH: rmii, phy addr=0"을 인쇄합니다.
질문 4: 직렬 장치 추가?hi3519av100.dtsi 파일 aliases 항목은 다음과 같이 추가됩니다.
serial1 = &uart1;
serial2 = &uart2;
serial3 = &uart3;
hi3519av100.dts 추가:
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
경고: uart3 디텍터 DSI를 사용하지 마십시오.D3N 및 DSID3P, LCD 권장 하드웨어DATA0 및 LCDDATA1
문제5: 내부 핵에 그룹 방송 지원을 추가합니까?menuconfig 구성
[*] Networking support --->
Networking options --->
[*]IP: multicasting
[*]IP: multicast routing
[*]IP: PIM-SM version 1 support
[*]IP: PIM-SM version 2 support
저장 후.config는 다음과 같은 수정 사항을 추가합니다.
CONFIG_IP_MULTICAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
참고: 일부 라우터에 IGMP snooping 추가, 응용 프로그램에서 IP 필요ADD_MEMBERSHIP이 그룹 방송 그룹에 가입하지 않으면 공유기가 전송을 하지 않습니다.
4. 파일 시스템 제작
SDK에서 제공하는 루트fs를 기반으로 SDK의 ko 디렉터리를 루트 디렉터리로 복사하고 start를 추가합니다.sh 스크립트는 다음과 같습니다.
#!/bin/sh
cd ko/ && ./load3519av100 -i -sensor0 bt1120 -sensor1 imx290 -offline
왜 이렇게 써요?load3519av100 스크립트 분석, insmod sysconfig.ko에 대응하는sensor 매개 변수,SDK의sys 를 볼 수 있습니다config.c, 내 하드웨어 원리도와 결합, mipi0 버트 I2C1SCL 및 I2C1SDA, BT1120 접cmos0, start.sh 이렇게 쓰면 상응하는 레지스터 설정을 충족시킬 수 있습니다.
또한 다음과 같이 eth0 네트 구성을 추가하여 nfs 테스트를 쉽게 구축할 수 있습니다.
ifconfig eth0 192.168.1.100 up
route add default gw 192.168.1.1
telnetd &
mount -t nfs -o nolock 192.168.1.246:/home/jerry/work /tmp
# ubuntu
명령을 실행하여 미러 생성
./mkyaffs2image100 ./rootfs rootfs_test 1 4
매개 변수는 uboot 직렬 인쇄와 mkyaffs2 이미지 100의 사용법을 볼 수 있습니다
5. Sample 코드 수정
Makefile.param 수정은 다음과 같습니다.
SENSOR0_TYPE ?= SONY_BT1120
SENSOR1_TYPE ?= SONY_IMX290_MIPI_2M
sample_comm_vi.c는 다음과 같이 수정되었습니다.
combo_dev_attr_t MIPI_BT1120_ATTR =
{
.devno = 0,
.input_mode = INPUT_MODE_BT1120,
.data_rate = MIPI_DATA_RATE_X1,
.img_rect = {0, 0, 1920, 1080},
{
}
};
combo_dev_attr_t MIPI_IMX290_ATTR =
{
.devno = 0,
.input_mode = INPUT_MODE_MIPI,
.data_rate = MIPI_DATA_RATE_X1,
.img_rect = {0, 0, 1920, 1080},
{
.mipi_attr =
{
DATA_TYPE_RAW_10BIT,
HI_MIPI_WDR_MODE_NONE,
{0, 1, 2, 3, -1, -1, -1, -1}
}
}
};
VI_DEV_ATTR_S DEV_ATTR_SONY_BT1120 =
{
VI_MODE_BT1120_STANDARD,
VI_WORK_MODE_1Multiplex,
{0xFF000000, 0xFF0000},
VI_SCAN_PROGRESSIVE,
{-1, -1, -1, -1},
VI_DATA_SEQ_UVUV,
{
/*port_vsync port_vsync_neg port_hsync port_hsync_neg */
VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL, VI_HSYNC_NEG_HIGH, VI_VSYNC_VALID_SINGAL, VI_VSYNC_VALID_NEG_HIGH,
/*hsync_hfb hsync_act hsync_hhb*/
{0, 1920, 0,
/*vsync0_vhb vsync0_act vsync0_hhb*/
0, 1080, 0,
/*vsync1_vhb vsync1_act vsync1_hhb*/
0, 0, 0}
},
VI_DATA_TYPE_YUV,
HI_FALSE,
{1920, 1080},
{
{
{1920 , 1080},
},
{
VI_REPHASE_MODE_NONE,
VI_REPHASE_MODE_NONE
}
},
{
WDR_MODE_NONE,
1080
},
DATA_RATE_X1
};
VI_DEV_ATTR_S DEV_ATTR_IMX290_2M =
{
VI_MODE_MIPI,
VI_WORK_MODE_1Multiplex,
{0xFFF00000, 0x0},
VI_SCAN_PROGRESSIVE,
{-1, -1, -1, -1},
VI_DATA_SEQ_YUYV,
{
/*port_vsync port_vsync_neg port_hsync port_hsync_neg */
VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL,VI_HSYNC_NEG_HIGH,VI_VSYNC_VALID_SINGAL,VI_VSYNC_VALID_NEG_HIGH,
/*hsync_hfb hsync_act hsync_hhb*/
{0, 1280, 0,
/*vsync0_vhb vsync0_act vsync0_hhb*/
0, 720, 0,
/*vsync1_vhb vsync1_act vsync1_hhb*/
0, 0, 0}
},
VI_DATA_TYPE_RGB,
HI_FALSE,
{1920, 1080},
{
{
{1920 , 1080},
},
{
VI_REPHASE_MODE_NONE,
VI_REPHASE_MODE_NONE
}
},
{
WDR_MODE_NONE,
1080
},
DATA_RATE_X1
};
VI_PIPE_ATTR_S PIPE_ATTR_SONY_BT1120 =
{
VI_PIPE_BYPASS_NONE, HI_TRUE, HI_TRUE,
1920, 1080,
PIXEL_FORMAT_YVU_SEMIPLANAR_420,
COMPRESS_MODE_NONE,
DATA_BITWIDTH_8,
HI_FALSE,
{
PIXEL_FORMAT_YVU_SEMIPLANAR_420,
DATA_BITWIDTH_8,
VI_NR_REF_FROM_RFR,
COMPRESS_MODE_NONE
},
HI_FALSE,
{-1, -1}
};
VI_PIPE_ATTR_S PIPE_ATTR_IMX290_2M =
{
VI_PIPE_BYPASS_NONE, HI_FALSE,HI_FALSE,
1920, 1080,
PIXEL_FORMAT_RGB_BAYER_10BPP,
COMPRESS_MODE_NONE,
DATA_BITWIDTH_10,
HI_TRUE,
{
PIXEL_FORMAT_YVU_SEMIPLANAR_420,
DATA_BITWIDTH_8,
VI_NR_REF_FROM_RFR,
COMPRESS_MODE_NONE
},
HI_FALSE,
{-1, -1}
};
s32Ret = SAMPLE_COMM_VI_SetMipiHsMode(LANE_DIVIDE_MODE_3);
주의 1: SAMPLECOMM_VI_StartIsp에서 SONYBT1120은 ISP 처리를 건너뛰어야 합니다.주의 2: SAMPLECOMM_VI_GetSensorInfo에서 pstViConfig->astViInfo[0]를 주석해야 합니다.stSnsInfo.s32BusId = 1. 주의 3: BT1120의 devno는 0이고 cmos0에 대응하고 MIPI의 devno는 0이며 mipi0에 대응한다.주의 4: 다른 부분의 코드도 수정이 필요합니다. 매크로 참조에 따라 비교적 가까운 수정을 해야 합니다.
실행을 첨부합니다./sample_venc0 이후 proc 정보:
~ # cat /proc/umap/mipi_rx
Module: [MIPI_RX], Build Time[Nov 15 2018, 09:14:11]
-----MIPI LANE DIVIDE MODE---------------------------------------------------------------------------------------------
MODE LANE DIVIDE
3 4+8
-----MIPI DEV ATTR-----------------------------------------------------------------------------------------------------
Devno WorkMode DataRate DataType WDRMode ImgX ImgY ImgW ImgH
0 MIPI X1 RAW10 None 0 0 1920 1080
-----MIPI LANE INFO-----------------------------------------------------------------------------------------------------
Devno LaneID
0 0, 1, 2, 3, -1, -1, -1, -1
-----MIPI PHY DATA INFO------------------------------------------------------
PhyId LaneId PhyData MipiData LvdsData
0 0, 1, 2, 3 0x1a,0x10,0x8f,0x42 0x90,0x2f,0x2e,0x2e 0xcd,0x69,0xd1,0x06
1 4, 5, 6, 7 0x00,0x00,0x00,0x00 0x00,0x00,0x00,0x00 0x00,0x00,0x00,0x00
2 8, 9,10,11 0x00,0x00,0x00,0x00 0x00,0x00,0x00,0x00 0x00,0x00,0x00,0x00
-----MIPI DETECT INFO----------------------------------------------------
Devno VC width height
0 0 1920 1080
0 1 0 0
0 2 0 0
0 3 0 0
-----PHY CIL ERR INT INFO---------------------------------------------
PhyId Clk2TmOut ClkTmOut Lane0TmOut Lane1TmOut Lane2TmOut Lane3TmOut Clk2Esc ClkEsc Lane0Esc Lane1Esc Lane2Esc Lane3Esc
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0
-----MIPI ERROR INT INFO 1-----------------------------------------------------------
Devno Ecc2 Vc0CRC Vc1CRC Vc2CRC Vc3CRC Vc0EccCorrct Vc1EccCorrct Vc2EccCorrct Vc3EccCorrct
0 0 0 0 0 0 0 0 0 0
-----MIPI ERROR INT INFO 2-----------------------------------------------------------
Devno Vc0Dt Vc1Dt Vc2Dt Vc3Dt Vc0FrmCrc Vc1FrmCrc Vc2FrmCrc Vc3FrmCrc
0 0 0 0 0 0 0 0 0
-----MIPI ERROR INT INFO 3-----------------------------------------------------------
Devno Vc0FrmSeq Vc1FrmSeq Vc2FrmSeq Vc3FrmSeq Vc0BndryMt Vc1BndryMt Vc2BndryMt Vc3BndryMt
0 0 0 0 0 0 0 0 0
-----MIPI ERROR INT INFO 4-----------------------------------------------------------
Devno DataFifoRdErr CmdFifoRdErr Vsync CmdFifoWrErr DataFifoWrErr
0 0 0 0 0 0
-----ALIGN ERROR INT INFO--------------------------------------
Devno FIFO_FullErr Lane0Err Lane1Err Lane2Err Lane3Err Lane4Err Lane5Err Lane6Err Lane7Err Lane8Err Lane9Err Lane10Err Lane11Err
0 0 0 0 0 0 0 0 0 0 0 0 0 0
~ # cat /proc/umap/vi
[VI] Version: [Hi3519AV100_MPP_V2.0.1.0 B0B0 Release], Build Time[Nov 15 2018, 09:08:39]
-------------------------------MODULE PARAM ---------------------------------------------------------------------------
DetectErrFrame DropErrFrame
0 0
-------------------------------VI MODE --------------------------------------------------------------------------------
Pipe0Mode Pipe1Mode Pipe2Mode Pipe3Mode Pipe4Mode Pipe5Mode
offline offline offline offline offline offline
-------------------------------VPSS MODE ------------------------------------------------------------------------------
Pipe0Mode Pipe1Mode Pipe2Mode Pipe3Mode Pipe4Mode Pipe5Mode
offline offline offline offline offline offline
-------------------------------VI STITCH GRP ATTR----------------------------------------------------------------------
StitchGrp bStitch Mode PipeNum PipeId
-------------------------------VI DEV ATTR1----------------------------------------------------------------------------
DevID DevEn BindPipe Width Height IntfM WkM ComMsk0 ComMsk1 ScanM
0 Y Y 1920 1080 MIPI 1Mux fff00000 0 P
3 Y Y 1920 1080 BT1120S 1Mux ff000000 ff0000 P
-------------------------------VI DEV ATTR2----------------------------------------------------------------------------
DevID AD0 AD1 AD2 AD3 Seq DataType DataRev BasW BasH HReph VReph WDRMode CacheLine DataRate
0 -1 -1 -1 -1 N/A RGB N 1920 1080 NONE NONE None 1080 X1
3 -1 -1 -1 -1 UVUV YUV N 1920 1080 NONE NONE None 1080 X1
-------------------------------VI BIND ATTR----------------------------------------------------------------------------
DevID PipeNum PipeId
0 1 0
3 1 3
-------------------------------VI DEV TIMING ATTR----------------------------------------------------------------------
DevID DevTimingEn DevFrmRate DevWidth DevHeight
-------------------------------VI PIPE ATTR1---------------------------------------------------------------------------
PipeID BypassMode YuvSkip IspBypass Width Height PixFmt BitWidth NrEn SharpenEn CompressMode
0 BypassNone N N 1920 1080 RAW10 10 Y N None
3 BypassNone Y Y 1920 1080 SP420 8 N N None
-------------------------------VI PIPE ATTR2---------------------------------------------------------------------------
DiscProPic SrcFRate DstFRate FrameSource RepeatMode VCNum
N -1 -1 DEV NONE 0
N -1 -1 DEV NONE 0
-------------------------------VI PIPE CROP ATTR-----------------------------------------------------------------------
PipeID CropEn CoorX CoorY Width Height
-------------------------------VI PIPE NR ATTR-------------------------------------------------------------------------
PipeID BitWidth CompressMode PixFmt RefSrc Intf Version OptMode
0 8 None SP420 RFR - - MANUAL
-------------------------------VI PIPE USER PIC ATTR-------------------------------------------------------------------
PipeID Enable ChnID Mode BgColor PicID Width Height Stride PixFmt PoolID PhyAddr
-------------------------------VI PIPE DUMP ATTR-----------------------------------------------------------------------
PipeID Enable Depth
-------------------------------VI PIPE BNR DUMP ATTR-------------------------------------------------------------------
PipeID Enable Depth
-------------------------------VI CHN ATTR1----------------------------------------------------------------------------
PipeID ChnID Width Height Mirror Flip SrcFRate DstFRate PixFmt VideoFmt DynamicRange
0 0 1920 1080 N N -1 -1 SP420 LINEAR SDR8
3 0 1920 1080 N N -1 -1 SP420 LINEAR SDR8
-------------------------------VI CHN ATTR2----------------------------------------------------------------------------
CompressMode Depth Align
None 0 0
None 0 0
-------------------------------VI EXTCHN ATTR1-------------------------------------------------------------------------
PipeID ChnID Source SrcChn Width Height SrcFRate DstFRate PixFmt DynamicRange CompressMode Depth
-------------------------------VI EXTCHN ATTR2-------------------------------------------------------------------------
Align
-------------------------------VI CHN EARLY INTERRUPT INFO-------------------------------------------------------------
PipeID ChnID Enable LineCnt
0 0 N 0
3 0 N 0
-------------------------------VI CHN LOW DELAY ATTR-------------------------------------------------------------------
PipeID ChnID Enable LineCnt Effect
0 0 N 0 N
3 0 N 0 N
-------------------------------VI CHN CROP INFO------------------------------------------------------------------------
PipeID ChnID CropEn CoorType CoorX CoorY Width Height TrimX TrimY TrimWid TrimHgt
0 0 N RIT 0 0 0 0 0 0 1920 1080
3 0 N RIT 0 0 0 0 0 0 1920 1080
-------------------------------VI CHN ROTATION INFO--------------------------------------------------------------------
PipeID ChnID Rotation
0 0 0
3 0 0
-------------------------------VI CHN LDC INFO-------------------------------------------------------------------------
PipeID ChnID Enable Aspect XRatio YRatio XYRatio XOffset YOffset DistortionRatio
0 0 N N 0 0 0 0 0 0
3 0 N N 0 0 0 0 0 0
-------------------------------VI CHN ROTATIO_EX INFO------------------------------------------------------------------
PipeID ChnID Enable ViewType Angle XOffset YOffset Width Height
0 0 N ALL 0 0 0 0 0
3 0 N ALL 0 0 0 0 0
-------------------------------VI CHN SPREAD INFO----------------------------------------------------------------------
PipeID ChnID Enable OutW OutH Coef
0 0 N 0 0 0
3 0 N 0 0 0
-------------------------------VI EXTCHN FISHEYE ATTR------------------------------------------------------------------
PipeID ChnID Enable MntMode RgnNum BgEnable BgColor LMF HOffset VOffset TCoef FStrength
-------------------------------VI EXTCHN FISHEYE REGION ATTR-----------------------------------------------------------
PipeID ChnID RgnIndex ViewMode InRadius OutRadius Pan Tilt HorZoom VerZoom OutX OutY OutW OutH
-------------------------------VI DIS CONFIG INFO1---------------------------------------------------------------------
PipeID ChnID Mode Motion PdtType BufNum CropRatio FrmRate GyroRange GyroBitWidth CamSteady Scale
-------------------------------VI DIS ATTR INFO------------------------------------------------------------------------
PipeID ChnID DisChn Enable GdcBypass MovSub Roef Timelag ViewAngle bStillCrop HorLimit VerLimit
-------------------------------VI SNAP ATTR INFO-----------------------------------------------------------------------
PipeID Type bLoadCCM FrameCnt rptTimes bZSL FrmDepth RollbaskMs Interval
-------------------------------VI SNAP STATUS INFO---------------------------------------------------------------------
Status bDoublePipe VideoPipe SnapPipe VcNum ProDelayInt
-------------------------------VI CHN OUTPUT RESOLUTION----------------------------------------------------------------
PipeID ChnID Enable Mirror Flip Width Height PixFmt VideoFmt DynamicRange CompressMode FrameRate
0 0 Y N N 1920 1080 SP420 LINEAR SDR8 None 25
3 0 Y N N 1920 1080 SP420 LINEAR SDR8 None 25
-------------------------------VI PIPE STATUS--------------------------------------------------------------------------
PipeID Enable IntCnt FrameRate LostFrame VbFail Width Height
0 Y 1051 25 0 0 1920 1080
3 Y 1052 25 1 0 1920 1080
-------------------------------VI CHN STATUS---------------------------------------------------------------------------
PipeID ChnID Enable FrameRate LostFrame VbFail Width Height
0 0 Y 25 0 0 1920 1080
3 0 Y 25 0 0 1920 1080
-------------------------------VI PIPE Statistic-----------------------------------------------------------------------
PipeID RecvPic LostCnt BufCnt CurSoftTm MaxSoftTm CurTaskTm MaxTaskTm LowBandWidth BeBufNum
0 1049 0 0 90 99 4533 4615 0 0
3 1049 0 0 53 87 5255 6589 1 0
-------------------------------VI HW STATISTIC-------------------------------------------------------------------------
ProcIdx HWCostTm MaxHWCostTm CycleCnt MaxCycleCnt
0 3529 5705 2076107 2283357
-------------------------------VI PROC OFFLINE IRQ STATISTIC----------------------------------------------------------
ProcIdx SubmitCnt IntCnt ListCnt TmOutCnt BusErrCnt DcmpErrCnt StartErrCnt NodeIdErrCnt
0 2098 2098 2098 0 0 0 0 0
-------------------------------VI PROC ONLINE IRQ STATISTIC-----------------------------------------------------------
ProcIdx IntCnt FrmStartCnt FrmErrCnt FrmFlowCnt BusErrCnt DcmpErrCnt CfgLossCnt
0 0 0 0 0 0 0 0
-------------------------------VI PROC COST TIME STATISTIC-----------------------------------------------------------
ProcIdx IntCntPerSec MaxIntCntPerSec CurIntCostTm MaxIntCostTm TotalIntCostTm IntTmPerSec MaxIntTmPerSec
0 50 50 236 281 473410 11856 11856
-------------------------------VI DEV DETECT INFO----------------------------------------------------------------------
DevID ValidWidth ValidHeight TotalWidth
0 1920 1080 17777
3 1920 1080 2640
-------------------------------VI BAS DETECT INFO----------------------------------------------------------------------
DevID ValidWidth ValidHeight TotalWidth
0 1920 1080 17776
-------------------------------VI ISP DETECT INFO----------------------------------------------------------------------
ISPID ValidWidth ValidHeight TotalWidth
0 1920 1080 17776
3 1920 1080 10666
~ #
이상, 정상적인 플롯, 후속으로 3519A 관련 코드를 제 프로젝트에 이식하면 됩니다. 끝.