日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

TI Davinci DM6446开发攻略——开发环境搭建

發(fā)布時(shí)間:2024/4/11 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TI Davinci DM6446开发攻略——开发环境搭建 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

???????? TI DAVINCI DM6446的開(kāi)發(fā)環(huán)境搭建不像三星S3C2410,S3C2440,ATMEL的AT91SAM9260之類(lèi)的單核ARM那么簡(jiǎn)單,因?yàn)镈M6446還有DSP端的開(kāi)發(fā)環(huán)境,以及雙核之間的通信和程序編譯等問(wèn)題,所以開(kāi)發(fā)攻略第一步就是要搭好開(kāi)發(fā)環(huán)境。其實(shí)TI的EVM(TI 的開(kāi)發(fā)板)也提供相關(guān)的EVM start guide(sprue66f.pdf),適合參考。

DAVINCI開(kāi)發(fā)環(huán)境搭建基本上可分以下幾步: 1) 準(zhǔn)備好各種相關(guān)的windows,linux,DAVINCI 軟件開(kāi)發(fā)包安裝軟件; 2) linux環(huán)境搭建; 3) ARM編譯環(huán)境搭建; 4) DSP編譯環(huán)境搭建; 5) 編譯DSP算法LIB,生成x64P,ARM端可執(zhí)行程序調(diào)用運(yùn)行; ??? 第一步:相關(guān)軟件準(zhǔn)備 ??? LINUX下的軟件工具包如下: ??? 1)VMware-workstation; ????2)RedHat Enterprise Linux Server 5(server 4 也可以); ??? 3)mvl_5_0_0801921_demo_sys_setuplinux.bin; ??????(這是GCC交叉編譯工具,根文件系統(tǒng)target。注冊(cè)TI的賬號(hào),可以從TI的網(wǎng)站上下載) ??? 4)mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin; ?????? (最新montavista linux-2.6.18內(nèi)核等安裝包) ????5)dvsdk_setuplinux_2_00_00_22.bin;這個(gè)是TI 自己EVM的軟件開(kāi)發(fā)包) ??? 6)bios_setuplinux_5_33_06.bin; ??? 7)xdctools_setuplinux_3_10_03.bin; ??? 8)ti_cgt_c6000_6.0.23_setup_linux_x86.bin ????? (以上3個(gè)文件都是從TI上下載比較新的dvsdk的工具鏈) ????DSP開(kāi)發(fā)工具: ??? 1)CCS3.3; ????2)bios_setupwin32_5_33_06.exe; ??? (和LINUX里的版本bios_setuplinux_5_33_06配對(duì)) ??? 補(bǔ)充一下,本人這里基本上都是從TI上下載比較新的安裝包,很多公司和朋友目前還都停留在linux-2.6.10和mvl_4_0_1上開(kāi)發(fā); 第二步:linux環(huán)境搭建 ????有關(guān)如何搭建,本人已在之前發(fā)表一篇《RedHat Enterprise Linux Server 5 在VMware Workstation 6.5的安裝》里有詳細(xì)介紹,一定要選擇安裝圖形界面的,這里不重復(fù)。配置好samba后,把從TI上下載的安裝包COPY到一個(gè)temp的目錄里; 第三步:ARM編譯環(huán)境搭建 ??? 上一步搞定后,以ROOT身份進(jìn)入linux環(huán)境。 ??? 1) 搭建montavista linux環(huán)境 ????按以下命令安裝GCC(arm_v5t_le)交叉編譯工具,安裝過(guò)程按照提示操作,運(yùn)行時(shí)會(huì)提示安裝目錄的選擇,建議/opt/mv_pro_5.0.0 ????host $ ./mvl_5_0_0801921_demo_sys_setuplinux.bin ??? host $ ./mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin 執(zhí)行上面的命令后,會(huì)在/opt/mv_pro_5.0.0/目錄下生成mvltools5_0_#######.tar.gz和DaVinciLSP_#_#_#_#.tar.gz的文件,“#”表示版本。mvltools5_0_##包括GCC交叉編譯環(huán)境和根文件系統(tǒng)(target),DaVinciLSP_##里包含montavista linux-2.6.18的內(nèi)核源代碼。用以下命令把它們解壓到當(dāng)前目錄: ?????? host $ tar zxf mvltools5_0_#######.tar.gz
?????? host $ tar zxf DaVinciLSP_#_#_#_#.tar.gz
?????? ?????? 以上兩個(gè)開(kāi)發(fā)包是最基本的,至于下面要安裝的TI 自己的dvsdk,沒(méi)有它也可以照樣開(kāi)發(fā)DM6446,因?yàn)镈SP算法開(kāi)發(fā)也可以使用常用的方法生成*.bin文件,放到根文件系統(tǒng),當(dāng)做一個(gè)應(yīng)用文件boot起來(lái)也是可以的,那是后話(huà)。 ????補(bǔ)充提示:由于mvl_5_0_0801921_demo_sys_setuplinux.bin和mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin等文件比較占用虛擬機(jī)的空間,建議安裝完后,把它們刪除。如果有些*.bin運(yùn)行不了,請(qǐng)使用chmod +x *.bin改變文件屬性。 ????2)安裝TI DVSDK工具鏈 ?????dvsdk存放路徑/home/<useracct>/下,<useracct>就是你的linux系統(tǒng)普通用戶(hù)賬號(hào),不是root賬號(hào)。TI 建議用戶(hù)使用su <user>命令切換到用戶(hù)賬號(hào)的權(quán)限下安裝dvsdk,其在root下安裝也沒(méi)問(wèn)題。使用以下命令開(kāi)始安裝dvsdk; ???? host $ ./dvsdk_setuplinux_2_00_00_22.bin ???? 安裝完dvsdk后,使用以下命令,按照提示安裝xdctools和bios工具包到/home/<useracct>/dvsdk_2_00_00_22/目錄下, ???? host $ ./xdctools_setuplinux_3_10_03.bin ?????host $ ./bios_setuplinux_5_33_06.bin ???? 然后在/home/<useracct>/dvsdk_2_00_00_22/下先使用 ???? host $ mkdir cg6x_6_0_23 ???????? 產(chǎn)生cg6x_6_0_23/目錄,執(zhí)行以下命令安裝ti_cgt_c6000_6.0.23到/home/<useracct>/dvsdk_2_00_00_22/cg6x_6_0_23/ ?????host $ ./ti_cgt_c6000_6.0.23_setup_linux_x86.bin ?????設(shè)置環(huán)境變量 ???? csh: ???????? host $ setenv C6X_C_DIR /home/<useracct>/dvsdk_2_00_00_22/cg6x_6_0_23/include:
/home/<useracct>/dvsdk_2_00_00_22/cg6x_6_0_23/lib
??????? 或ksh or bash: host $ export C6X_C_DIR=/home/<useracct>/dvsdk_2_00_00_22/cg6x_6_0_23/include:
/home/<useracct>/dvsdk_2_00_00_22/cg6x_6_0_23/lib
????其實(shí)以上的環(huán)境變量的設(shè)計(jì)也可以在dvsdk_2_00_00_22/Rules.make里設(shè)置。對(duì)應(yīng)XDC_INSTALL_DIR宏及BIOS_INSTALL_DIR宏,需要改成如下值:? XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdctools_3_10_03 BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_33_06 在需要使用到DSP程序編譯處,需要改動(dòng)相應(yīng)的CODEGEN_INSTALL_DIR宏如下: CODEGEN_INSTALL_DIR = $(DVSDK_INSTALL_DIR)/cg6x_6_0_23 ???? 3)安裝Codec Servers ???? Codec Servers就是提供ARM端調(diào)用DSP端算法的一個(gè)服務(wù)機(jī)制,使用以下命令安裝DM6446的Codec Servers到/home/<useracct>/dvsdk_2_00_00_22下, ???? host $ ./dm6446_codecs_setuplinux_#_#_#_#.bin ???? 4) 最后,把臨時(shí)的*.bin都刪除掉,畢竟文件很大,保留在VM里占空間。到這里,ARM端的開(kāi)發(fā)環(huán)境已經(jīng)搭建完。 第四步:設(shè)置TFTP SERVER ??????? 有兩種方法可以實(shí)現(xiàn),一個(gè)在Redhat Linux 5里設(shè)置 TFTP SERVER,在根目錄/下產(chǎn)生tftpboot目錄,使用chmod -R 777 /tftpboot/改變權(quán)限屬性,然后配置linux 里的TFTP server。另一個(gè)是直接使用windows下的TFTP SERVER軟件,把在LINUX下生成的文件,比如U-BOOT,KERNEL,ROOTFS 通過(guò)samba機(jī)制COPY到windows下的TFTP SERVER的目錄。我們這里只介紹第1中方法。 ??? 使用tftp server 之前,首先確保你的linux 主機(jī)安裝有xinetd,然后使用以下命令,查看你linux主機(jī)是否安裝TFTP SERVER: host $ rpm -q tftp-server 如果出現(xiàn): tftp-server-0.xx-x.x字樣,表明安裝成功。沒(méi)有的話(huà),你需要從REDHAT LINUX5的鏡像光盤(pán)CD里SERVER目錄下,使用命令(rpm -ivh tftp-server-0.42-3.1.i386.rpm)安裝,或者直接把tftp-server-0.42-3.1.i386.rpm解壓出來(lái)放到臨時(shí)文件夾里同樣使用rpm -ivh tftp-server-0.42-3.1.i386.rpm安裝。 進(jìn)入根目錄/下,使用命令 host $ mkdir /tftpboot host $ chmod -R777 /tftpboot host $ /sbin/chkconfig tftp on host $ /sbin/chkconfig --list 這時(shí)linux主機(jī)會(huì)顯示 .............. xinetd based services:
??????? chargen-dgram:? off
??????? chargen-stream: off
??????? cvs:??????????? off
??????? daytime-dgram:? off
??????? daytime-stream: off
??????? discard-dgram:? off
??????? discard-stream: off
??????? echo-dgram:???? off
??????? echo-stream:??? off
??????? eklogin:??????? off
??????? ekrb5-telnet:?? off
??????? gssftp:???????? off
??????? klogin:???????? off
??????? krb5-telnet:??? off
??????? kshell:???????? off
??????? rsync:????????? off
??????? tcpmux-server:? off
??????? tftp:?????????? on
??????? time-dgram:???? off
??????? time-stream:??? off
on表示TFTP SERVER已經(jīng)運(yùn)行。這時(shí)你可以把ubl.bin uboot.bin kernel.bin之類(lèi)的bin文件COPY到/tftpboot目錄下,在板子上跑的UBOOT可以做很多update的工作了。 第五步:設(shè)置NFS ??? 開(kāi)發(fā)嵌入式LINUX一定少不了NFS,目的是提高應(yīng)用軟件的開(kāi)發(fā)效率。笨辦法就是頻繁燒寫(xiě)rootfs到板子上,那是不可取的。 ??? 1) 以普通用戶(hù)<useracct>進(jìn)入linux host,如果你在ROOT下,使用exit,然后換成普通用戶(hù)進(jìn)入。 ????2)使用命令進(jìn)入 /home/<useracct>下, ????host $ cd /home/<useracct> ????host $ mkdir -p dm6446/nfs_rootfs ??? host $ cd dm6446/nfs_rootfs ??? ?? 3)切換到root ??? host $ su root ??? host $ cp -a /opt/mv_pro_5.0.0/montavista/pro/devkit/arm/v5t_le/target/* .
??? host $ chown -R <useracct> opt
???cp -a 命令很耗時(shí)間,因?yàn)闁|西很多,就是把之前安裝的mvl_5_0_0801921_demo_sys_setuplinux.bin里的根文件系統(tǒng)target目錄下的東西全部COPY到當(dāng)前目錄下(注意那個(gè)"."),其實(shí)這個(gè)target就是TI EVM的根文件系統(tǒng),超級(jí)大!不過(guò)使用nfs不用管它的大小,等制作rootfs燒到板子上的時(shí)候,再裁減不遲。 ????4)編輯linux host /etc/exports文件, ??? ???? host $ vi /etc/exports ????內(nèi)容:/home/<useracct>/dm6446/nfs_rootfs *(rw,no_root_squash,no_all_squash,sync)輸入,注意"*"和"("之間不能有空格,它們是連在一起寫(xiě)的。使用wq保存exports文件退出。 ??? 5)還是在root賬號(hào)下,使用以下命令激活nfs, ??? host $ /usr/sbin/exportfs -av
??? host $ /sbin/service nfs restart
??? 6)檢驗(yàn)并關(guān)閉linux host的防火墻: ??? host $ /etc/init.d/iptables status ??? host $ /etc/init.d/iptables stop ??? 到這里linux host的nfs已經(jīng)搞定,我們以后可以使用下面的方法測(cè)試nfs。 ??? 使用以下命令得到linux host的IP,gatewayip,netmask等信息。 ??? host $ /sbin/ifconfig ??? 然后在板子上的U-BOOT命令下,輸入以下信息: ??? myboard # setenv ipaddr 192.168.1.188(本人板子u-boot ip) ????myboard # setenv serverip 192.168.1.251(本人linux host ip)
??? myboard # setenv netmask 255.255.255.0
??? myboard # setenv gatewayip 192.168.1.1
??? myboard # setenv nfshost 192.168.1.251
??? myboard # setenv rootpath /home/<useracct>/dm6446/nfs_rootfs
??? myboard # setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=192.168.1.188:192.168.1.251:192.168.1.1:255.255.255.0:::off root=/dev/nfs nfsroot=192.168.1.251:/home/<useracct>//dm6446/nfs_rootfs,nolock mem=120M
??? myboard # saveenv(保存) ??? myboard # printenv ?? (檢查剛才的輸入是否正確,否則NFS掛不上根文件系統(tǒng)) 第六步:設(shè)置GCC交叉編譯環(huán)境 ??? 以普通用戶(hù)login,vi 編輯~/.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"
保存退出,然后使用以下命令生效,或者退出系統(tǒng)再登陸也可以。 host $ source ~/.bashrc 其實(shí),使用root身份處理也行。 順便曬曬我們公司的開(kāi)發(fā)板,如果哪位朋友有需要可以聯(lián)系本人QQ-601712635,電話(huà);13560768971。公司主要開(kāi)發(fā)TI DM644X,DM6437產(chǎn)品,圖像處理,視頻分析,單目雙目圖像算法,機(jī)器視覺(jué)OPEN CV移植。 板子分核心板(CORE)和主板

?

?核心板硬件資源介紹

序號(hào)

核心板資源

描述

1

TMS320DM6446AZWT

可選(TMS320DM6441AZWT

ARM926EJS-300MHz,DSP(C64+)-600MHz

2

DDR667DDR800

256M-byte(可配置162MHz202.5MHz

3

NAND FLASH

1.8V128M-byte2K-page

4

復(fù)位芯片

提供穩(wěn)定復(fù)位功能

5

硬件加密芯片

支持MAX-DALLAS-DS28E01-100(可選)

6

全部的IO引出插座

電源,USB2.0VPFEVPBEPWMEMAC(帶MDIO),I2CASP(音頻接口),SPIUART0UART1JTAGBOOT MODEGPIOSD卡接口

核心板低功耗芯片合理布局,使其具有最佳的電氣性能和抗干擾性能。絕大部分的接口信號(hào)都引出到母座PIN上,完整的接口說(shuō)明和提供對(duì)應(yīng)的底板公座PCB封裝,電源設(shè)計(jì)電路,讓客戶(hù)隨心所欲的設(shè)計(jì)自己的底板,容易衍生系列產(chǎn)品,降低硬件設(shè)計(jì)風(fēng)險(xiǎn),更快推進(jìn)項(xiàng)目進(jìn)度。 主板卡硬件資源包括:

板載4模擬視頻輸入,支持PAL\NTSCCCD攝像頭輸入;

板載1CMOS影像傳感器連接,比如美光MT9M112模組(可選);

板載1CVBS視頻輸出接口;

板載110/100M自適應(yīng)以太網(wǎng)口;

板載USB2.0 HOST接口(可接國(guó)內(nèi)33G模塊);

板載SD卡座,支持2GSDHC 32G軟件可選);

板載1RS232(默認(rèn)UART2

板載1RS485默認(rèn)UART1,可選配置成GPRS+SIM卡接口);

板載 實(shí)時(shí)時(shí)鐘PCF8563

板載 I2C加密芯片(可選);

板載1路光耦輸出;

板載1路光耦輸入;

板載4個(gè)獨(dú)立GPIO引腳座子;

板載DSP-JTAG仿真器接口、BOOTMODE選擇跳線、UART0 DEBUG

板載2個(gè)可控LED

板載1個(gè)按鍵;

板載1路音頻輸入(2路輸入可選)

板載1路音頻輸出(2路輸出可選)

供電要求:DC 12V 供電。

主板功耗:<5W

尺寸:158mm * 129mm

工作溫度:商業(yè)級(jí)(0~70°)

相對(duì)濕度:5%95%,非凝結(jié)

軟件資源工具介紹

?

Davinci整套LINUX開(kāi)發(fā)開(kāi)發(fā)環(huán)境(含VM虛擬機(jī)文件,RedHat EL5GCC交叉編譯工具鏈和DVSDK_2_00_00_22,我們?nèi)繋涂蛻?hù)設(shè)置好);

源碼包TI ubl(經(jīng)過(guò)移植修改);

源碼包TI u-boot-2009.03(經(jīng)過(guò)移植修改,支持jffs2);

源碼包linux-2.6.18_pro5.0.0 (經(jīng)過(guò)移植修改):

* 串口uart1uart2驅(qū)動(dòng);

* 視頻tvp5158 單路D1采集驅(qū)動(dòng)(4路切換驅(qū)動(dòng),4CIF采集可選);

* 復(fù)合視頻輸出驅(qū)動(dòng);

* 文件系統(tǒng)jffs2squasfs3.4

* rtc8563驅(qū)動(dòng);

* 音頻tlv320aic3x驅(qū)動(dòng),支持MICLINE輸入;

* gpio驅(qū)動(dòng);

* SD卡驅(qū)動(dòng)(默認(rèn)2G,可選SDHC 32G);

* USB2.0 HOST驅(qū)動(dòng)(完全支持國(guó)內(nèi)33G模塊);

* CMOS設(shè)計(jì)美光MT9M112模組驅(qū)動(dòng)(可選);

* PHY網(wǎng)口驅(qū)動(dòng);

* I2C加密芯片驅(qū)動(dòng)(可選);

?

根文件系統(tǒng):TI target和本工作室裁減的rootfs

dvsdk_2_00_00_22 整個(gè)開(kāi)發(fā)環(huán)境(全部配置好,客戶(hù)可以方便設(shè)計(jì)CODEC);

Decodeh.264mpeg4g711(音視頻解碼)

Encodeh.264mpeg4g711(音視頻編碼)

Encodedecodeh.264mpeg4(視頻編解碼)

jpegenc(jpeg編碼)

jpegdec(jpeg解碼)

thttp-2.25bWEB網(wǎng)絡(luò)服務(wù));

V4L2視頻輸入輸出源碼;

Audio loopback源碼;

rtc8563 應(yīng)用程序源碼;

gpio應(yīng)用程序源碼;

UART1-rs485應(yīng)用程序源碼;

UART2-rs232應(yīng)用程序源碼;

TIDSP開(kāi)發(fā)環(huán)境CCS V3.3

生產(chǎn)燒寫(xiě)ubluboot工具;

(注:該工具可以直接方便燒寫(xiě)ubl和運(yùn)行uboot,根本不用昂貴的仿真器燒寫(xiě)ubl,并可以通過(guò)串口動(dòng)態(tài)下載uboot進(jìn)行軟件調(diào)試!)

VMware-workstation-6.5.2.exe

TI dvsdk_2_00_00_22相關(guān)軟件安裝包。

?

轉(zhuǎn)載于:https://blog.51cto.com/zjbintsystem/273687

總結(jié)

以上是生活随笔為你收集整理的TI Davinci DM6446开发攻略——开发环境搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。