1914|0

6593

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

DM368开发 --IPNC 设置过程 [复制链接]

本帖最后由 Jacktang 于 2018-8-27 10:29 编辑

第一步: IPNC 安装:
安装软件包,解压后包含以下组件:

1. IPNC_RDK_DM36x_Version3.1.0.tar.gz:
这是linux tar文件,需要解压在linux机器。这是主要tar文件IPNC RDK安装。这个包含在以下文件

预构建二进制文件Dm36x平台

配套文献

源代码构建IPNC的RDK所需

硬件包和BoM,图表和Gerber文件

        实用程序文件像凝胶,Nand-programmer等等

2. ImageTuningTool_DM36x_Version2.1.0.zip:
这是一个图像优化工具软件包用于优化IPNC图像质量。需要解压缩和用于Windows电脑。它包含以下

图像优化工具安装程序(imagetunningtool - 2.1安装程序

MCR安装程序(MCRInstaller.exe)。这个需要安装安装图像优化工具

3. GUI_VideoPlayer_SDK_Version2.0.30.zip:
这个SDK工具集,需要开发web GUI屏幕和ActiveX的播放器。这需要解压缩和用于Windows电脑。

GUI文件夹包含所有源代码、文档和公用事业构建web GUI屏幕

播放器文件夹包含所有源代码,文档和msys依从者/公用事业需要构建ActiveX视频播放器

业务Model-v3.1 GUI。pdf包含详细的业务TI和GoDB科技之间的模型

4. UserGuide_IPNC_RDK_DM36x.pdf:
业务Model-v3.1 GUI。pdf包含详细的业务TI和GoDB科技之间的模型

5. Release_Notes_IPNC_RDK_DM36x.pdf:
细节特征补充说,已知问题,版本细节,bug修复等

IPNC_RDK_DM36x_Version3.1.0.tar.gz的安装流程:

1. 拷贝IPNC_RDK_DM36x_Version3.1.0.tar.gz 到你的linux系统安装目录
2. 使用下面的命令将文件解压
tar  -zxvf IPNC_RDK_DM36x_Version3.1.0.tar.gz

成功将命令解压,文件将生成

Appro_IPNC_RDK_DM36x_v3.1.0.tar.gz

OpenSrc_IPNC_RDK_DM36x_v3.1.0.tar.gz

PrivateTI_IPNC_RDK_DM36x_v3.1.0-Linux-x86-Install.bin

3. 运行文件 “PrivateTI_IPNC_RDK_DM36x_v3.1.0-Linux-x86-Install.bin”
通过安装保护在一个特定的安装目录。

./PrivateTI_IPNC_RDK_DM36x_v3.1.0-Linux-x86-Install.bin

他将会安装 PrivateTI_IPNC_RDK_DM36x_v3.1.0.tar.gz 在选择的位置

用户需要接受许可成功安装

4. 提取/解压文件 “PrivateTI_IPNC_RDK_DM36x_v3.1.0.tar.gz” 在安装目录
tar  -zxvf PrivateTI_IPNC_RDK_DM36x_v3.1.0.tar.gz

5. 提取/解压文件 “OpenSrc_IPNC_RDK_DM36x_v3.1.0.tar.gz” 上面的步骤安装目录的上面
  tar  -zxvf OpenSrc_IPNC_RDK_DM36x_v3.1.0.tar.gz

6. 提取/解压文件 “Appro_IPNC_RDK_DM36x_v3.1.0.tar.gz” 上面的步骤安装目录的上面
  tar  -zxvf Appro_IPNC_RDK_DM36x_v3.1.0.tar.gz

需要这个将三个文件放到一起解压,如此才能合并. 到此安装完成。

第二步: 修改下面位置的 Rules.make
/Source/ipnc_rdk

如:/Release/Source/ipnc_rdk

参考下面的设置

#SYSTEM := EVM

SYSTEM := IPNC

#这是用于选择硬件平台



#IPNC_PLATFORM := DM365

IPNC_PLATFORM := DM368

#这是用于选择芯片ID



#FILESYS_MODE := NFS

FILESYS_MODE := NAND

#这是用于选择模式运行的文件系统



IMGS_ID := IMGS_MICRON_MT9P031_5MP

#这是选择使用的传感器类型



13)如果你的登录并不是root模式,然后使用以下命令登录在安装过程中避免错误

(我的是root模式登录的不需要修改了)

chmod -R a+rwx < IPNC_INSTALL_DIR >

chown -R < IPNC_INSTALL_DIR >

where,

< useracct > 是你的宿主LINUX电脑上用户的登录ID。

< IPNC_INSTALL_DIR > 您设置的目录在 Rules.make.



14) 移动到Rules.make所在的安装目录

cd $(IPNC_INSTALL_DIR)/ipnc_rdk

例如: cd/Release/Source/ipnc_rdk



15) 使用下面的命令编译:

make sysall



他会拷贝到linux 内核 < TFTP_HOME > 目录下生成“uImage_ipnc_dm36x”.

此外,它使波形的的副本到 ti davinci/arch/arm/boot/ 目录下的文件 uImage.

同时,也会将所有IPNC文件可执行文件复制到文件系统,提到到输出目录位于(EXEC_DIR)设置

$(installDir)/Rules.make



说明:可以使用以下命令基于期望的功能:

IPNC增量构建的应用程序        --        “make”

清除IPNC应用程序构建        --        “make clean”

重建整个IPNC应用程序 --         “make all”

对于增量Linux构建         --        “make lsp”

清除Linux构建 --         “make lspclean”

重建整个Linux --         “make lspall”

对于增量DVSDK构建 --         “make dvsdk”

清除DVSDK构建        -- “make dvsdkclean”

重建整个DVSDK -- “make dvsdkall”

增量构建的系统 -- “make sys”

干净的系统构建 --         “make sysclean”

重建整个系统 --         “make sysall”



“make”命令将只包括构建IPNC应用程序。

“av_capture”和“ipnc_app”文件夹中。它还将复制所有IPNC文件可执行文件到文件系统

“sysall” ,”sysclean” and “sys” 构建选项将构建DVSDK,Linux和IPNC应用程序



17)可以使用以下命令生成的文件系统:

make squashfs

这将从< TFTP_HOME > 目录下复制的文件系统 “ipnc_dm36x_squashfs”

PS:        整个包是安装了ubuntu 10.04 LTS的构建和测试在主机电脑

我们建议用户检查之前,创建一个链接后安装Linux操作系统电脑方面避免编译时错误

执行make sysall 出现错误,显示交叉编译器没有安装

第三步:安装CCS交叉编译器 arm_v5t_le-


执行安装:(选择安装在 /opt/mv_pro_5.0.0目录下)

./mvl_5_0_demo_sys_setuplinux.bin

解压tar -xvf mvltools5_0_0801921_update.tar.gz

最后查看 ls  /opt/mv_pro_5.0.0/montavista/pro/devkit/arm/v5t_le/bin/arm_v5t_le-gcc  

第四步: 设置交叉编译器环境变量:
cd /root  

gedit .bashrc

在最后一行添加:

PATH="/opt/mv_pro_5.0.0/montavista/pro/devkit/arm/v5t_le/bin:

/opt/mv_pro_5.0.0/montavista/pro/bin:

/opt/mv_pro_5.0.0/montavista/common/bin:$PATH"

保存

source  .bashrc  //命令立即生效

第五步: 修改配置文件Rules.make
进入/home/zslf/dm368/dvsdk_dm368_4_02_00_06/psp/Release/Source/ipnc_rdk#

执行 gedit Rules.make

更改第75行,将

BUILD_TOOL_DIR            := /data/datalocal_videoapps01/ipnc_tools/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le

改为:BUILD_TOOL_DIR            := /opt/mv_pro_5.0.0/montavista/pro/devkit/arm/v5t_le

自动编译uboot

切换到【解压目录】/Release/Source/ipnc_rdk下使用下列命令编译安装:

make uboot clean

make uboot

编译完成后,会自动将uboot_xxxx.bin文件复制到【解压目录】

/Release/Source/ipnc_rdk/Rules.make文件中

TFTP_HOME所标示的tftp目录下。

手动编译 uboot

切换到【解压路径】/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/u-boot目录下

使用下列命令编译uboot:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- davinci_dm368_ipnc_config

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

手动内核编译

切换到【解压路径】/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci目录,使用命令:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- distclean

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- clean

清空源配置文件和原编译文件;

使用下列命令之一复制默认的配置文件:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- davinci_dm368_ipnc_defconfig

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- davinci_dm368_ipnc_defconfig_nand

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- davinci_dm368_ipnc_defconfig_nfs

使用下列命令修改配置:

make  ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig

使用下列命令进行内核编译:

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage

编译时,如果提示无规则生成csl.o/ drv.o / edmak.o / irqk.o / dm365mmap.o / cmemk.o,请将编译好的csl.o& drv.o & edmak.o & irqk.o & dm365mmap.o &cmemk.o文件复制到【解压路径】Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci/drivers/char/目录下,这些文件请到【解压路径】

/Release/Source/dvsdk_ipnctools/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/目录和【解压路径】/Release/Source/dvsdk_ipnctools/dm365mm-module_01_00_03/module/目录和【解压路径】/Release/Source/ipnc_rdk/av_capture/framework/目录去找。

编译完成后,内核文件uImage在【解压路径】

/Release/Source/dvsdk_ipnctools/ipnc_psp_03_21_00_04/ti-davinci/arch/arm/boot下。

/home/zslf/dm368/dvsdk_dm368_4_02_00_06/psp/IPNC/Source/ipnc_rdk# make sysall

然后编译的时候会出错

find . -name drv_audio.c

./av_capture/framework/drv/usermod/src/drv_audio.c

我将这个alsa/asoundlib.h 注释掉再试试

在ipnc_app/sys_server/src/av_server_ctrl.c

有两个参数pConfig -> nVideocodecmode 和pConfig -> nVideocodecres

其中,pConfig -> nVideocodecmode是设置编码方式的,

      pConfig -> nVideocodecres   是设置分辨率信息的

例如: ./av_server.out DM368 NTSC 1080P H264 4000000 VBR AUTO MENUOFE & InitAV_Server begin

应用程序编译完生成文件在  /opt/ipnc_rdk/target/filesys/opt/ipnc

执行脚本

#! /bin/sh

DVEVMDIR=/opt/ipnc

cd  $DVEVMDIR

./system_server &

$DVEVMDIR/beforeloadkmodule.sh

$DVEVMDIR/loadkmodules.sh

$DVEVMDIR/loadmodules_ipnc.sh

ifconfig lo 127.0.0.1

cd  $DVEVMDIR

./boot_proc 1

$DVEVMDIR/autorum.sh

mount devpts /dev/pts -t devpts



ifconfig lo 127.0.0.1

就是系统本身的IP。可在没联网情况下用于网络测试。

比如我的电脑做为网页服务器,但我没联网,没有内网和外网IP。就可以在浏览器中输入127.0.0.1测试。



1. 内核添加MT9P031  

make menuconfig   

Prompt: mt9p031 support      Location:                                                                                                        -> Kernel configuration                                                                                             -> Device Drivers                                                                                                   -> Multimedia support (MEDIA_SUPPORT [=y])                                                                          -> Video capture adapters (VIDEO_CAPTURE_DRIVERS [=y])



2. 在 /arch/arm/mach-davinci/board-dm368-leopard.c:下的 static struct vpfe_subdev_info vpfe_sub_devs

添加MT9P031

uboot启动信息

(11设置U.boot参数:

#setenv bootargs console=ttyS0.1 15200n8 rw mem254M vide02 davincifb:vidO=

OFF:vidl=OFF:osd0=720x576x 1

6,4050K dm365_imp.opermode=O davinci—

capture.device_type2l vpfe_capture.interfaee=l vpfe_capture.con_bufsize=6291456

root=/dev/nfsnfsroot=192.168.0.138:/root/targeffs ip=192.168.0.60:192. 168.0.1:

255.255.255.0

注意,这里需要设置oper mode为0,表示IPIPE Resizer的模式为Continuous Mode,

同时设置device 为1,表示采集设备为.type MT9P031



vpfe_capture.interface=2

for TVP7002 (default)

  vpfe_capture.interface=1

for Micron sensor - MT9T031

  vpfe_capture.interface=0

for TVP5146



davinci_capture.device_type=0表示使用TVP5146采集

davinci_capture.device_type=1表示使用MT9P031采集,

davinci_capture.device_type=2表示使用TVP7002采集



问题解决:

我是在内核中去除掉的,在board-dm368-ipnc.c文件中:

static struct davinci_nand_pdata davinci_nand_data = {

        .parts                  = davinci_nand_partitions,

        .nr_parts               = ARRAY_SIZE(davinci_nand_partitions),

        //.ecc_mode             = NAND_ECC_HW,

        .ecc_mode               = NAND_ECC_NONE,

        .options                = NAND_USE_FLASH_BBT,

        .ecc_bits               = 4,

};








点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表