2/12/2015

HI3521 기본 구조 및 특징

1. HI3521 기본구조


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