TI의 DM8148과 구조가 유사하지만, 거의 DVR과 NVR용으로 나온 칩이다.
더 자세한 내용을 Datasheet를 참고하자.
http://www.hkvstar.com/pdf/Hi3521.pdf
2. HI3521 SDK 구조
The structure of the Hi3521_SDK_Vx.x.x.x folder is as follows: |-- sdk.cleanup #Cleanup scripts of the SDK. |-- sdk.unpack #Expansion scripts of the SDK. |-- osdrv #OS and related drivers | |-- busybox # Source code of busybox | |-- drv # Source code of drivers | |-- kernel # Source code of the Linux kernel | |-- pub # compiled images/tools/drivers | |-- rootfs_scripts # Root file system | |-- toolchain # cross compiler | |-- tools # Source code of the Linux tools | |-- uboot # Universal boot loader (U-boot) source code | `-- Makefile # osdrv Makefile |-- package #Compressed packages of the SDK | |-- osdrv.tgz #Compressed package of the linux and driver | |-- mpp.tgz #Compressed package of the media processing platform | `-- image_glibc #Images that can be burnt to the flash memory |-- scripts #Shell scripts |-- mpp #MPP |-- component #Component source code |-- extdrv #Source code of the drivers of board-level peripherals |-- include #External header files |-- ko #Kernel driver |-- lib #Audio library and the library of the release version |-- tools #Tools used for media processing `-- sample #Source code samples
Description of the Installation and Upgrade of the Hi3521 SDK.txt
이문서를 읽으면 기본설치 및 구성을 이해할수가 있다.
위 문서 구성대로
기본이되는 toolchain과 uboot,kernel,filesystem은 에 osdrv에 구성되며
mpp에는 hisilicon 에서 제공하는 mpp와 관련된 driver와 sample 및 외부 driver 제공
drv 에는 기타 driver를 제공
3. osdrv
3.1 Build
osdrv에는 uboot , kernel, filesystem을 구성을 할 수 있으며, 이에 관련된 Makefile이
존재한다.
그리고, Build는 전체 빌드와 개별빌드로 진행된다.
osdrv/Makefile 에서 진행되지만 수정이 필요.
(매번 압축을 새로풀고 소스를 지우고, 빌드를 진행)
Makefile을 전체를 할 경우 아래 순서대로 진행
- prepare : 각 배포할 장소의 directory를 만듦
- hiboot : uboot build
- hikernel : kernel build
- hirootfs_prepare : default file system 구성 (rootfs_scripts/rootfs.tgz)
- hibusybox : busybox copy
- hiboardtools : board 관련 tools (himm ,udev, parted)
- hipctools : pctools (처음 한번만 실행하면 됨)
- hirootfs_build : pctools로 filesystem image를 생성, NAND 사이즈에 따라 수정요구.
진행 후, 아래에 생성된 이미지 확인
osdrv/pub/
3.2 uboot
Uboot는 HI3521은 아래 설정
arch/arm/configs/godarm_defconfig
Uboot는 HI3531은 아래 설정
arch/arm/configs/godnet_defconfig
logo 를 사용할 경우 아래의 명령을 사용하는데,
uboot에서 startvo,stopvo:
startgx:stopgx:
위 command를 사용했을 경우, stop해줘야지 올바르게 kernel에 동작을 한다.
stopvo와 stopgx의 값 himm을 이용하여 kernel에서 멈추게 할수도 있다.
4. DEBUG
telnet을 하나 이용하여 아래의 상태를 확인
# cat /dev/logmpp
# ls /proc/umap/
adec aenc ai ao chnl dsu grp h264e hdmi ive jpege logmpp rc rgn sys vb vda vdec venc vi vo vpss