Posts Tagged ‘NT98515’

NT98515 add Custom Project

17 八月, 2018

NT98515 的 toolchain 包含編譯核心, 應用應用程式, 以及打包核心, 檔案結構. 如果有一些額外的套件需要加入, 有一點需要考量. 如果直接附加在 NT98515 的 SDK 中,  當 SDK update 的時候, 這時就需要對整個 SDK 作比對, 才能確保檔案都搬移過去. 為了避免這種困擾, 這邊新增了一個目錄, 新增加的部分都放在這裡面. 目前新增的部分以 OpenSource 為主ˊ, 所以新增一個 OpenSource 目錄.

1. 修改 NA51023_BSP/build/envsetup.sh

SDK 在編譯子系統的時候, 會從環境變數抓取目錄, 這部分需要在 NA51023_BSP/build/envsetup.sh 預先指定.

export OPENSOURCE_DIR=${LINUX_BUILD_TOP}/OpenSource

show_env_by_name OPENSOURCE_DIR

unset OPENSOURCE_DIR

2. 修改 NA51023_BSP/Makefile

-在 all 目標相關列加入 OpenSource

all: uitron linux modules supplement uboot busybox library app sample chicony OpenSource rootfs pack

-在 PHONY 目標相關列加入 OpenSource

.PHONY: rootfs uboot linux modules tools app sample chicony OpenSource

-在 clean目標相關列加入 OpenSource

clean: rm_logs supplement_clean uboot_clean linux_clean busybox_clean rootfs_clean tools_clean library_clean app_clean uitron_clean sample_clean chicony_clean OpenSource_clean pack_clean

-新增 OpenSource 目標

OpenSource: checkenv
@echo “##### Build OpenSource software package #####"
@$(call log_remove)
@$(call log_stdout, make -C ${OPENSOURCE_DIR})
@$(call log_stdout, make -C ${OPENSOURCE_DIR} install)

-新增 OpenSource_clean 目標

OpenSource_clean: checkenv
@echo “##### Clean OpenSource software package #####"
@$(call log_remove)
@$(call log_stdout, make -C ${OPENSOURCE_DIR} clean)

-新增 make OpenSource 選項

@echo “make OpenSource       -> build OpenSource software"

-新增 make OpenSource_clean 選項

@echo “make OpenSource_clean -> clean OpenSource software"

3. 試編譯 (記得要先執行 source ./build/envsetup.sh 設定環境變數)

make 已經進入 OpenSource 目錄試著要編譯這個專案, 不過這裡面沒有 Makefile, 所以回報失敗

NTK-Add-OpenSource

4. 複製 Makefile

從 NA51023_BPS/sample 複製 Makefile 過來. 這個 Makefile 的作用是導引到下層目錄的 Makefile, 並沒有甚麼專案相關的資訊, 所以複製就可以了

$ cp ./sample/Makefile ./OpenSource/

5. 加入要編譯的專案,  就可以在 NA51023_BSP/ 這邊去編譯加入的套件

 

 

 

 

 

 

 

 

NT98515 enable USB Host controller

17 八月, 2018

NT98515 有 USB 的 connector, 但是 USB host driver 預設是沒有安裝, 所以需要自行 make linux kernel.

1. 設定環境變數

$ cd NA51023

$ source ./build/envsetup.sh

2. linux config

$ make linux_config

2-1 首先進入 Device Drivers 選單

NTK-Config-USB-0

2-2 USB support 預設是關閉的

NTK-Config-USB-1

2-3 這時候進入子選單, 會甚麼都看不到

NTK-Config-USB-2

2-4 先打開 USB support

NTK-Config-USB-3

2-5 再度進入子選單, 就可以看到 USB support 的項目.

  • 我們需要的是 USB host, 所以打開 Support for Host-side USB 選項
  • Enable USB persist by default
  • 支援 USB 2.0 EHCI HCD (USB  2.0) support
  • 預設會用 NVTIM EHCI driver

NTK-Config-USB-4

2-6 打開 USB Wireless Device Management support

NTK-Config-USB-5

2-7 確定後離開

NTK-Config-USB-6

3. make

其實是可以不用 make all, 但是 build 完, 需要打包成一個檔案, 為避免麻煩, 還是用 make all

$ make all

結束後, 在 NA51023_BSP/Output/packed 下面會產生 FW98515A.bin 這個檔案我們會用來更新系統.

4. 複製 USB driver

這個只是作為開發階段用, 所以沒有放到 image ( NA98515A.bin), 需要另外複製. 需要以下幾個檔案

NA51023_BSP/linux-kernel/OUTPUT/drivers/usb/host/ehci-hcd.ko

NA51023_BSP/linux-kernel/OUTPUT/drivers/usb/common/usb-common.ko

NA51023_BSP/linux-kernel/OUTPUT/drivers/usb/core/usbcore.ko

5. 載入 USB driver

$ insmod usb-common.ko

$ insmod usbcore.ko

$ insmod ehci-hcd.ko

6. 檢視 USB device

$ lsusb

Bus 001 Device 001:    ID 1d6b:0002

設備已經偵測到

 

 

 

 

 

 

 

 

Build openssl on NT98515

4 八月, 2018

紀錄在 NT98515 建置 openssl 的過程

為了方便管理, 編譯結果輸出到 NA51023_BSP/OpenSource/build/openssl

<Comment :: NT98515 OpenSource Folder >

1. 下載 openssl

https://www.openssl.org/source/openssl-1.0.2o.tar.gz

https://www.openssl.org/source/openssl-1.0.2o.tar.gz.sha1

檔案校驗

$ sha1sum openssl-1.0.2o.tar.gz

a47faaca57b47a0d9d5fb085545857cc92062691

$ cat openssl-1.0.2o.tar.gz.sha1

a47faaca57b47a0d9d5fb085545857cc92062691

解壓縮來源程式包

$ tar -xvzf openssl-1.0.2o.tar.gz

2. Configure

先設定環境

$ source build/envsetup.sh

$ cd OpenSource/openssl-1.0.2o/

$ ./Configure linux-mips32 shared –prefix=/home/novatek/NA51023_BSP/OpenSource/build/openssl –openssldir=/home/novatek/NA51023_BSP/OpenSource/build/openssl –cross-compile-prefix=mipsel-24kec-linux-gnu- no-asm

修改 Makefile

CROSS_COMPILE= mipsel-24kec-linux-gnu-
CC= $(CROSS_COMPILE)gcc

CFLAG= -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -mabi=32 -O3 -Wall -DBN_DIV3W

DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_SSL2 -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST -DOPENSSL_NO_WEAK_SSL_CIPHERS

EX_LIBS= -ldl

$make

編譯結果輸出到 NA51023_BSP/OpenSource/build/openssl

執行前, 加入 library path

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/

 

NT98515 basic spec

20 七月, 2018

NT 98515 基本的規格

Processor: MIPS32 24KEc dual core @640 MHz

  • CPU1 : 16K I/D Cache
  • CPU2 : 32K I/D Cache
  • MMU embedded

Memory: Built-in 1G bits, 16 bit DDR3L SDRAM

Video Input Interface x2

  • Maximum inout resolution 8M pixels
  • BT.601/BT.656/BT.1120
  • 4-lane MIPI/HiSPI/sub-LVDS
  • 8/10/12bit parallel Bayer RGB

Audio Input

  • AAC, G.711, G.726, ADPCM
  • Echo cancelling

Video encoding

  • H.264/AVC Codec BP/MP/HP, level 5.1
  • H.265/HEVC codec MP,level 5.0
  • Multi-Stream H264/H265 encoding
    • 5M 30 fps main stream + 720 30fps + WVGA

Encryption Engine

  • AES,DES,3DES
  • SHA1,SHA256,HMAC-SHA1,HMAC-SHA256
  • RSA upto 4096-bit key

NT98515 Toolchain Setup note

20 七月, 2018

Follow “NT98510 SDK ToolChain Setup.pdf" 安裝 tool chain 之後, 無法正常 build, 後來從 NTK 要來一個 Ubuntu 16.04 的image, 在這個 image 上安裝 Toolchain/SDK 就可以正常 build. 不知道安裝 Ubuntu 的過程哪裡有差異. 這個檔案放在 IOT/virtualbox_image/ubuntu 16.04_vid.zip. 這個要來的映象檔, 需要自己安裝 Tool Chain/SDK,  以下是安裝的流程.

1. 變更 Shell. shell 需要變更為 bash:

$sudo rm /bin/sh && sudo ln -s /bin/bash /bin/sh

2. 安裝 samba server (供 Windows Host PC 連接到 Linux server), (這部分省略)

3. disable auto update

4. 設定分享目錄

5. 安裝 uItron Cross compiler

$ sudo tar -jxvf mipsel-sde-elf-4.4.3.tar.bz2 -C /opt

6. 安裝 Linux Cross compiler

$mkdir /opt/ivot

$sudo tar -jxvf mipsel-24kec-linux-glibc-4.9-2017.08.tar.bz2 -C /opt/ivot

7. 安裝 NT98515 SDK

$ tar -jxvf NA51023_BSP_20180223_IPCAM_V1.0.01.tar.bz2 -C $PWD

$ cd NVT_NA51023_BSP

$ sh sdk.unpack

8. make

$ cd ~/work/NTK/NVT_NA51023_BSP/NA51023_BSP

$ source build/envsetup.sh

$ lunch 1,1,1

$ make all