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