小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Davinci調(diào)試環(huán)境的搭建 2

 春華_秋實(shí) 2011-11-28

Davinci調(diào)試環(huán)境的搭建  

2011-06-17 13:48:05|  分類: TI備查 |  標(biāo)簽: |字號(hào) 訂閱

一、Davinci調(diào)試環(huán)境搭建所需軟件
    Davinci的程序分DSP程序及ARM程序,DSP程序我們?cè)贑CS中編輯和編譯,ARM程序在Source Insight中編輯,在Linux中的dvsdk1.3工具鏈下編譯。

 

以下是我們?cè)陂_(kāi)發(fā)過(guò)程中所使用的軟件:

Windows:

       CCS 3.3               DSP程序編譯環(huán)境

       TDS560USB          仿真器驅(qū)動(dòng)

       VMWare5.0           虛擬機(jī)軟件

       Source Insight 3.5 軟件工程編輯工具

       Tera Term             串口控制軟件

       DVFlasher             串口flash燒寫工具

       UltraEdit-32           文本編輯工具

 

Linux:

       dvsdk1.3               ARM交叉編譯工具鏈

       GCC3.2.2              編譯器

       VI                         文本編輯工具

 

同時(shí),在linux下需要啟動(dòng)如下服務(wù):

       samba    通過(guò)網(wǎng)絡(luò)提供與windows共享文件功能

      nfs          通過(guò)網(wǎng)絡(luò)給Davinci板卡提供根文件系統(tǒng)

      tftp         通過(guò)網(wǎng)絡(luò)下載文件至Davinci板卡

      dhcp              動(dòng)態(tài)分配IP

 

二、Davinci調(diào)試環(huán)境搭建及使用總體步驟
 

Davinci調(diào)試環(huán)境搭建及使用可以分成5大步:

1,  搭建linux環(huán)境

2,  安裝arm編譯環(huán)境

3,  搭建CCS環(huán)境

4,  編譯庫(kù),生成x64P,由ARM端可執(zhí)行程序調(diào)用運(yùn)行

5,  編譯uboot并燒寫進(jìn)flash,燒寫內(nèi)核及根文件系統(tǒng)

 

 

三、搭建linux環(huán)境
      安裝linux操作系統(tǒng),可以在物理硬盤上直接安裝,也可以采用在Windows的虛擬機(jī)上安裝,方法并不唯一,我們采用的是在Windows的虛擬機(jī)上安裝。同樣,本文提到的許多方法都不是唯一的實(shí)現(xiàn)方式,而只是我們所采用的那一種方法。

安裝虛擬機(jī)與linux時(shí)請(qǐng)參考文檔《虛擬機(jī)軟件Vmware Workstation 5.0使用指南.doc》,需要注意幾點(diǎn):

1,  分配硬盤空間時(shí),至少需要12G;

2,  物理內(nèi)存推薦256M以上,安裝linux時(shí),swap空間大小加上物理內(nèi)存大小必須超過(guò)600M;

3,  安裝linux時(shí),可以使用光盤安裝,也可以使用硬盤上的ISO映象文件進(jìn)行安裝;與不用虛擬機(jī)在物理硬盤上安裝的過(guò)程是一樣的;在安裝好linux后,需要安裝VMware Tools。

 


注意:由于后面需要與Windows之間進(jìn)行通訊,我們的虛擬機(jī)網(wǎng)絡(luò)采用網(wǎng)橋的方式,將虛擬機(jī)中l(wèi)inux的IP配置成與主機(jī)Windows同一網(wǎng)段,例如,Windows的IP為192.168.1.80,我們可以指定Linux的IP為192.168.1.81,在命令行輸入如下命令:

ifconfig eth0 192.168.1.81 netmask 255.255.255.0

      然后,Linux與Windows就可以互相ping通了。

 

 


 

四、安裝ARM程序的編譯環(huán)境
要執(zhí)行本步驟,系統(tǒng)需要滿足如下條件:

 

1. 安裝了RedHat Linux 9.0或其他較新linux版本,且安裝時(shí)應(yīng)選擇了下列組件:

a) Editors包中的vi

b) Network servers包中的dhcp

2. Redhat Linux 服務(wù)器的IP地址為192.168.1.81、子網(wǎng)掩碼為255.255.255.0

3. 知道root用戶的密碼。

 

安裝arm編譯環(huán)境需要以下的工具包:

mvl_4_0_1_demo_sys_setuplinux.bin

mvl_4_0_1_demo_target_setuplinux.bin

mvl_4_0_1_demo_lsp_setuplinux_#_#_#_#.bin

dvsdk_setuplinux_#_#_#_#.bin

xdc_setuplinux_#_#_#_#.bin

bios_setuplinux_#_#_#_#.bin

TI-C6x-CGT-v#.#.#.#.bin

其中的#代替數(shù)字,表示版本號(hào),我們當(dāng)前使用的版本具體如下:

mvl_4_0_1_demo_sys_setuplinux.bin

mvl_4_0_1_demo_target_setuplinux.bin

mvl_4_0_1_demo_lsp_setuplinux_01_20_00_014.bin

dvsdk_setuplinux_1_30_00_40.bin

bios_setuplinux_5_33_03.bin

TI-C6x-CGT-v6.0.15.1.bin

xdc_setuplinux_3_00_02_14.bin

 

下面詳細(xì)說(shuō)明以上這些文件如何安裝:

 

1、安裝ARM交叉編譯環(huán)境
啟動(dòng)RedHat Linux服務(wù)器,到出現(xiàn)登錄畫(huà)面時(shí),使用root用戶登錄,

 

(1)搭建MontaVista Linux開(kāi)發(fā)環(huán)境
直接運(yùn)行前3個(gè)文件,根據(jù)提示操作即可。命令如下:

host $ ./mvl_4_0_1_demo_sys_setuplinux.bin

host $ ./mvl_4_0_1_demo_target_setuplinux.bin

host $ ./mvl_4_0_1_demo_lsp_setuplinux_#_#_#_#.bin

運(yùn)行時(shí)會(huì)詢問(wèn)存放目錄,推薦為 /opt/mv_pro_4.0.1 。

以上3個(gè)命令生成3個(gè)壓縮包,先確認(rèn)生成的3個(gè)壓縮包:

host $ cd /opt/mv_pro_4.0.1

host $ ls

有如下3個(gè)壓縮文件:

  mvltools4.0.1-no-target.tar.gz

  mvl4.0.1-target_path.tar.gz

  DaVinciLSP-#_#_#_#.tar.gz

分別解壓,使用下面命令:

host $ tar zxf mvltools4.0.1-no-target.tar.gz

host $ tar zxf mvl4.0.1-target_path.tar.gz

host $ tar zxf DaVinciLSP-#_#_#_#.tar.gz

這樣就創(chuàng)建了新目錄 /opt/mv_pro_4.0.1/montavista/ ,其中存放了內(nèi)核源碼、根文件系統(tǒng)、Arm-gcc編譯器等。

(2)安裝dvsdk工具鏈
運(yùn)行如下命令:

host $ ./dvsdk_setuplinux_#_#_#_#.bin

會(huì)生成一個(gè)目錄/opt/dvsdk_1_30_00_40,

host $ ./xdc_setuplinux_#_#_#_#.bin

host $ ./bios_setuplinux_5_#_#_#.bin

運(yùn)行時(shí)會(huì)詢問(wèn)存放目錄,指定為 /opt/dvsdk_1_30_00_40 。

在/opt/dvsdk_1_30_00_40下新建一個(gè)目錄,名為cg6x_6_0_15

執(zhí)行如下命令:

host $ ./TI-C6x-CGT-v#.#.#.#.bin

運(yùn)行時(shí)會(huì)詢問(wèn)存放目錄,指定為 /opt/dvsdk_1_30_00_40/ cg6x_6_0_15 。

到這一步,所需要的工具鏈就安裝完成。下一步是進(jìn)行適當(dāng)?shù)穆窂脚渲谩?nbsp;      

(3)dvsdk工具鏈的路徑配置
/opt/dvsdk_1_30_00_40路徑下有一個(gè)重要的配置文件:Rules.make,由于剛才另外在dvsdk目錄下安裝了三個(gè)工具,在Rules.make需要有相應(yīng)的更改。

對(duì)應(yīng)XDC_INSTALL_DIR宏及BIOS_INSTALL_DIR宏,需要改成如下值:

XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdc_3_00_02

BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_33_03

在需要使用到DSP程序編譯處,需要改動(dòng)相應(yīng)的CGTOOLS_C64X宏如下:

CGTOOLS_C64X = $(DVSDK_INSTALL_DIR)/cg6x_6_0_15

至此,就可以進(jìn)行ARM端程序的編譯了。

 

2、系統(tǒng)配置
      嵌入式系統(tǒng)由于對(duì)成本、體積、功耗等方面的要求,一般不能安裝發(fā)行版的Linux系統(tǒng)。所以Davinci系統(tǒng)也需要相應(yīng)的開(kāi)發(fā)環(huán)境,來(lái)進(jìn)行程序的開(kāi)發(fā)調(diào)試。

      在進(jìn)行程序開(kāi)發(fā)調(diào)試時(shí),我們采用NFS與tftp等網(wǎng)絡(luò)通信方式共享Linux服務(wù)器中的資源,用于嵌入式Linux進(jìn)行訪問(wèn)、改寫。

    本部分主要介紹包括NFS,DHCP服務(wù),samba服務(wù)以及DVEVM板部分參數(shù)的配置。

(1)設(shè)置NFS
[davinci@DavinciServer davinci]$ cd /root

[davinci@DavinciServer davinci]$ mkdir -p armfs

[davinci@DavinciServer davinci]$ cd /root/armfs/

[root@DavinciServer filesys]# cp -a 下面一行內(nèi)容緊跟在-a后,有一空格 /opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/target/* .

[root@DavinciServer filesys]# vi /etc/exports

在vi的界面下按i鍵進(jìn)入輸入狀態(tài),輸入如下內(nèi)容:

/root/armfs/ *(rw,sync,no_root_squash)

按Esc鍵退出輸入狀態(tài),按:鍵(即Shift+;)鍵,鍵入命令wq?,退回到命令行提示符下。

[root@DavinciServer filesys]# /usr/sbin/exportfs -a

[root@DavinciServer filesys]# /sbin/chkconfig --level 12345 nfs on

[root@DavinciServer filesys]# /sbin/service nfs restart

Shutting down NFS mountd: [FAILED]

Shutting down NFS daemon: [FAILED]

Shutting down NFS quotas: [FAILED]

Shutting down NFS services: [ OK ]

Starting NFS services: [ OK ]

Starting NFS quotas: [ OK ]

Starting NFS daemon: [ OK ]

Starting NFS mountd: [ OK ]

[root@DavinciServer filesys]# rpm -q tftp-server

package tftp-servere is not installed 如果顯示這樣的內(nèi)容則未安裝tftp-server;如顯示為tftp-server-#.##-#的格式則已經(jīng)安裝tftp-server,請(qǐng)不要執(zhí)行帶下劃線的內(nèi)容。

[root@DavinciServer filesys]# eject放入RedHat Linux 9.0 Disk 3

[root@DavinciServer filesys]# mount /dev/cdrom 

[root@DavinciServer filesys]# cd /mnt/cdrom/

[root@DavinciServer cdrom]# cd RedHat/RPMS/ 

[root@DavinciServer RPMS]# rpm -ivh tftp-server-0.32-4.i386.rpm

warning: tftp-server-0.32-4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing... ########################################### [100%]

1:tftp-server ########################################### [100%]

[root@DavinciServer RPMS]# cd

[root@DavinciServer root]# eject放入TDS6446EVM配套光盤DaVinci Digital Video uation Kit Disk

[root@DavinciServer root]# mount /dev/cdrom 

[root@DavinciServer root]# ls /如果安裝了tftp-server接此運(yùn)行

bin dev home lib misc opt root tmp var

boot etc initrd lost+found mnt proc sbin usr

[root@DavinciServer root]# mkdir /tftpboot如果上面沒(méi)有目錄tftpboot則創(chuàng)建之

[root@DavinciServer root]# cd /tftpboot

[root@DavinciServer tftpboot]# mkdir DVEVM

[root@DavinciServer tftpboot]# cp /mnt/cdrom/uImage DVEVM

[root@DavinciServer tftpboot]# /sbin/chkconfig tftp on 

[root@DavinciServer tftpboot]# /sbin/chkconfig --list

xinetd based services:

chargen-udp: off

rsync: off

chargen: off

daytime-udp: off

daytime: off

echo-udp: off

echo: off

services: off

servers: off

time-udp: off

time: off

cups-lpd: off

sgi_fam: on

rexec: off

rlogin: on

rsh: on

telnet: on

tftp: on on表示tftp服務(wù)已經(jīng)成功啟動(dòng)

[root@RedHatServer root]# exit 

[davinci@RedHatServer filesys]# cd /home/davinci/workdir/filesys/opt

[davinci@RedHatServer opt]# tar zxf /mnt/cdrom/examples.tar.gz

(2)設(shè)置DHCP服務(wù)器
[root@DavinciServer opt]# vi /etc/dhcpd.conf 

在vi的界面下按i鍵進(jìn)入輸入狀態(tài),輸入如下內(nèi)容:

ddns-update-style interim;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.1.255;

subnet 192.168.1.0 netmask 255.255.255.0

{

range 192.168.1.100 192.168.1.253;

default-lease-time 1800;

max-lease-time 28800;

}

按Esc鍵退出輸入狀態(tài),按:鍵(即Shift+;)鍵,鍵入命令wq,退回到命令行提示符下。

[root@RedHatServer opt]# /sbin/service dhcpd restart 

Shutting down dhcpd: [FAILED]

Starting dhcpd: [ OK ]

[root@RedHatServer opt]# /sbin/chkconfig --level 12345 dhcpd on

 

(3)配置samba服務(wù)
1,查看機(jī)器上是否安裝了samba服務(wù),輸入下面命令:

rpm -q samba

如果安裝了,會(huì)顯示版本號(hào)。如果沒(méi)有安裝,插入Linux安裝光盤,輸入下面命令:

rpm -vih /mnt/cdrom/RedHat(Mandrake)/RPMS/samba*

2,samba配置

Samba是用來(lái)實(shí)現(xiàn)SMB(Server Messages Block)協(xié)議的一種軟件,是一套讓Unix/Linux系統(tǒng)能夠應(yīng)用Microsoft網(wǎng)絡(luò)通信協(xié)議的軟件,它可以和運(yùn)行Windows 98、Windows 2000等操作系統(tǒng)的計(jì)算機(jī)實(shí)現(xiàn)文件共享和打印機(jī)共享服務(wù)。

      通過(guò)配置Samba服務(wù)器,可以提供Windows客戶機(jī)來(lái)訪問(wèn)Linux系統(tǒng)上共享的資源,也能夠在Linux上通過(guò)SMB協(xié)議訪問(wèn)Windows系統(tǒng)上的共享資源。

 

一、訪問(wèn)Samba服務(wù)器配置工具

要訪問(wèn)Samba服務(wù)器配置工具,只須依次單擊“主菜單→系統(tǒng)設(shè)置→服務(wù)器設(shè)置→Samba服務(wù)器”,即可打開(kāi)Samba服務(wù)器配置窗口。

小提示:

  1.必須以root用戶身份才可以對(duì)Samba服務(wù)器進(jìn)行配置。
    2.也可以在終端窗口輸入redhat-config-samba命令打開(kāi)配置窗口。

二、進(jìn)行服務(wù)器設(shè)置

  這里首先要對(duì)Samba服務(wù)器的基本設(shè)置和安全選項(xiàng)進(jìn)行配置,單擊配置窗口上的“首選項(xiàng)→服務(wù)器設(shè)置”,即可打開(kāi)服務(wù)器設(shè)置對(duì)話框)。

1)基本設(shè)置
在對(duì)話框的“基本”標(biāo)簽頁(yè),我們可以指定Linux主機(jī)所在的工作組名稱,需要注意的是,此處的工作組名稱不一定非得與Windows主機(jī)所在的工作組名稱一致。


2)安全設(shè)置
現(xiàn)在就進(jìn)行Samba服務(wù)器安全設(shè)置,這里一共有四個(gè)選項(xiàng),分別介紹如下:

A. 驗(yàn)證模式:如果Windows主機(jī)不是位于NT域里,此處應(yīng)該選擇“共享”驗(yàn)證模式,這樣只有在連接Samba服務(wù)器上的指定共享時(shí)才要求輸入用戶名、密碼;
B. 驗(yàn)證服務(wù)器:對(duì)于“共享”驗(yàn)證模式,無(wú)須啟用此項(xiàng)設(shè)置;
C. 加密口令:應(yīng)該選擇“是”,這樣可以防止黑客用嗅探器截獲密碼明文;
D.來(lái)賓賬號(hào):當(dāng)來(lái)賓用戶要登錄入 Samba服務(wù)器時(shí),他們必須被映射到服務(wù)器上的某個(gè)有效用戶。選擇系統(tǒng)上的現(xiàn)存用戶名之一作為來(lái)賓Samba賬號(hào)。當(dāng)用戶使用來(lái)賓賬號(hào)登錄入Samba服務(wù)器,他們擁有和這個(gè)用戶相同的權(quán)限。

  三、添加共享目錄

接下來(lái)是添加共享目錄,單擊Samba配置窗口工具欄上的“增加”按鈕,即可打開(kāi)一個(gè)添加共享對(duì)話框。

1)在該對(duì)話框上的“基本”標(biāo)簽頁(yè)上,指定要共享的目錄為某個(gè)存在的目錄,例如可以指定/tmp,再指定該目錄的基本權(quán)限是只讀還是讀/寫。

2)在“訪問(wèn)”標(biāo)簽頁(yè)上,可以指定允許所有用戶訪問(wèn)、或者只允許某些用戶訪問(wèn)。

四、從Windows訪問(wèn)Samba服務(wù)器

  好了,現(xiàn)在萬(wàn)事俱備、只欠東風(fēng),只須啟動(dòng)Samba服務(wù)即可。打開(kāi)一個(gè)終端窗口,鍵入“/sbin/service smb start”命令,即可出現(xiàn)以下提示信息,表示Samba服務(wù)已經(jīng)啟動(dòng):

# /sbin/service smb start
啟動(dòng)SMB 服務(wù) [確定]
啟動(dòng)NMB 服務(wù) [確定]

接下來(lái)的事情就簡(jiǎn)單了,在Windows里打開(kāi)“網(wǎng)上鄰居”,就可以看到我們剛才設(shè)置的Samba服務(wù)器了。當(dāng)然,我們?cè)谖募A的地址欄里直接輸入  \\192.168.1.81 能更快的訪問(wèn)到剛才共享出來(lái)的內(nèi)容。

 

(4)設(shè)置DVEVM
此處的設(shè)置,我們假定正確的uboot已經(jīng)燒寫在Flash上,如果需要燒寫uboot,請(qǐng)參照第六部分的“燒寫uboot”內(nèi)容進(jìn)行操作。

我們使用串口軟件Tera Term與Davinci板連接,設(shè)置波特率為115200,無(wú)校驗(yàn),1個(gè)停止位,無(wú)流控。設(shè)置好串口軟件后,將Davinci板上電,出現(xiàn)如下信息:

U-Boot 1.1.3 (Jun 15 2006 - 17:43:55)

U-Boot code: 81080000 -> 81096A0C BSS: -> 8109F31C

RAM Configuration:

Bank #0: 80000000 256 MB  

ARM Clock :- 243MZ        

DDR Clock :- 162MZ

MY AMD Flash: 16 MB

In: serial

Out: serial

Err: serial

Hit any key to stop autoboot: 0

 

在3秒倒計(jì)時(shí)內(nèi)按任意鍵,進(jìn)入命令模式。下面輸入命令進(jìn)行配置,在uBoot下輸入出錯(cuò)只能用backspace刪除,而不能用左右鍵移動(dòng)光標(biāo)。

 

DaVinci EVM # setenv ethaddr 00:0e:99:02:51:46 

DaVinci EVM # setenv ipaddr dhcp 

DaVinci EVM # setenv nfshost 192.168.1.81 

DaVinci EVM # setenv bootfile uImage 

DaVinci EVM # setenv rootpath /root/armfs 

DaVinci EVM # setenv fileaddr 80700000 

DaVinci EVM # setenv gatewayip 192.168.1.81 

DaVinci EVM # setenv serverip 192.168.1.81 

DaVinci EVM # setenv bootcmd 'dhcp;bootm' 

DaVinci EVM # setenv netmask 255.255.255.0v 

DaVinci EVM # setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=120M與上同行

DaVinci EVM # printenv 看設(shè)置的內(nèi)容是否一致

……………………………… 省略了相關(guān)顯示

DaVinci EVM # saveenv

Saving Environment to Flash...

Un-Protected 1 sectors

Erasing Flash...

Erasing sector 4 ... done.

Erase Operation Completed.

Erased 1 sectors

Writing to Flash...-done

Protected 1 sectors

將系統(tǒng)斷電后,重新上電,等到出現(xiàn)

…………………… 省略內(nèi)容若干 ……………………

192.168.1.?? login:root

root@192.168.1.?? # cd /root/loop

root@192.168.1.?? # ./loadmodules.sh

……………………省略內(nèi)容若干

root@192.168.1.?? # ./videoloop

 

說(shuō)明:此配置設(shè)置波特率為115200,采用動(dòng)態(tài)分配IP,內(nèi)核從Linux服務(wù)器使用tftp協(xié)議下載uImage,根文件系統(tǒng)從Linux服務(wù)器使用NFS方式訪問(wèn)共享路徑/root/armfs,這樣的配置適合程序的調(diào)試運(yùn)行。這些部分的設(shè)置都是可以改動(dòng)的,具體參見(jiàn)《DVEVM Getting Started Guide.pdf》,關(guān)于uboot的命令使用,請(qǐng)參考《U-Boot命令 emLinuxARM.pdf》。

 

(5)編譯調(diào)試工具框圖
    下圖為常見(jiàn)調(diào)試框圖,在Windows端通過(guò)samba服務(wù)訪問(wèn)Linux中的源代碼,用Soure Insight進(jìn)行編輯,在Linux中的dvsdk1.3工具鏈中編譯,將生成應(yīng)用程序放在NFS所共享的目錄下,供Davinci板卡訪問(wèn)。我們通過(guò)串口控制軟件Tera Term來(lái)查看與改變Davinci板卡的運(yùn)行狀態(tài)。

 

五、安裝DSP程序的編譯環(huán)境
TI公司提供了高效的C編譯器和集成開(kāi)發(fā)環(huán)境Code Composer Studio ,可以方便的編譯調(diào)試DSP程序,同時(shí)CCS的幫助文檔也是十分全面。

1、安裝CCS3.3
這部分安裝比較簡(jiǎn)單,詳細(xì)指導(dǎo)參見(jiàn)TI公司的CCS安裝指南,可分成兩部分:

1,解壓并安裝Code_Composer_Studio_v3.3_Build_3.3.38.2.zip

一般使用默認(rèn)的配置即可,但是要注意在選擇仿真芯片類型時(shí),必須同時(shí)選上C6000、OMAP,以及TMS470系列,這是由于需要同時(shí)支持DSP與ARM的仿真運(yùn)行。

2,運(yùn)行CCS_v3.3_SR5_3.3.54.1.exe,采用默認(rèn)的配置即可。

 

2、安裝TDS560USB驅(qū)動(dòng)
安裝TDS560USB驅(qū)動(dòng)與ccs設(shè)置都需要仔細(xì)操作,一步操作錯(cuò)誤就會(huì)導(dǎo)致最后使用不起來(lái)。

 

(1)安裝TDS560USB驅(qū)動(dòng)時(shí)注意事項(xiàng)
請(qǐng)注意正確連接14針的JTAG電纜,該電纜接錯(cuò)可能會(huì)導(dǎo)致仿真器或目標(biāo)系統(tǒng)永久損壞;仿真器14孔插頭的第六孔已經(jīng)封閉,目標(biāo)系統(tǒng)JTAG 14針插針的第六針應(yīng)該拔掉。如果不能確定接插件的連接方向,請(qǐng)與您的經(jīng)銷商聯(lián)系或查詢我們的網(wǎng)站中的相關(guān)信息。

 

 

為發(fā)揮TDS560USB 仿真器的性能,主機(jī)應(yīng)具備USB2.0接口。如果沒(méi)有USB2.0的接口,最好使用PCI-USB2.0 or PCMCIA-USB2.0轉(zhuǎn)接卡。

 

請(qǐng)不要帶電拔插JTAG電纜。

 

在移動(dòng)和搬運(yùn)TDS560USB系統(tǒng)時(shí),請(qǐng)注意TDS560 POD上的線纜不能負(fù)重,否則內(nèi)部電纜容易損壞。

 

(2)USB設(shè)備驅(qū)動(dòng)程序安裝
將TDS560USB仿真器與目標(biāo)板連接、計(jì)算機(jī)相連。

 

然后將電源與TDS560USB仿真器相連,此時(shí)POWER燈亮,READY閃爍。

 

按照Windows 的“發(fā)現(xiàn)新硬件”提示指定 WintechDigital TDS560USB設(shè)備驅(qū)動(dòng)程序所在的目錄。在產(chǎn)品安裝光盤的drivers目錄下 (Win98/SE 是在 drivers\win98_me, Win2000/XP是drivers\win2k_xp )。

設(shè)備驅(qū)動(dòng)安裝完成后,Windows將在設(shè)備列表中列出TDS560USB Emulator for Windows 98 或TDS560USB Emulator for Windows 2000/XP/2003。

 

注:

 

如果找不到這個(gè)設(shè)備,請(qǐng)檢查硬件的連接是否正確。

 

如果誤把TDS560USB Emulator for Windows 98驅(qū)動(dòng)程序安裝到Windows 2000/XP/2003系統(tǒng)中,請(qǐng)?jiān)谠O(shè)備管理器中對(duì)該設(shè)備使用“更新驅(qū)動(dòng)程序”功能。

 

 

(3)安裝TDS560USB仿真器工具軟件
在安裝TDS560USB仿真器工具軟件之前,請(qǐng)確認(rèn)CCS已經(jīng)安裝,否則仿真器無(wú)法工作。運(yùn)行產(chǎn)品安裝光盤根目錄下的Setup.exe。根據(jù)您的需要選擇DSP類型,再選定相應(yīng)的CCS目錄。我們是選上了C6000,OMAP,Others DSPs。

 

軟件安裝完成后,可以在桌面上看到 “WintechDigital ” 快捷方式圖標(biāo),同時(shí)在CCS目錄下建立“TDS560USB”目錄。

如果需要更換CCS,請(qǐng)重新運(yùn)行Setup.exe卸載TDS560USB仿真器工具軟件,并再次運(yùn)行Setup.exe,選定新的DSP及新的CCS路徑。

3、進(jìn)行CCS setup
在DAVINCI 板卡上使用TDS560USB仿真器時(shí)進(jìn)行CCS Setup 設(shè)置的步驟如下:

首先要注意:

CCS的版本需要是3.2版本或更高版本;

設(shè)置前必須已經(jīng)運(yùn)行過(guò)TDS560USB 仿真器光盤所附帶的支持工具setup.exe 。

 

1.CCS Setup啟動(dòng)后,選擇”Create Board”,雙擊 WintechDigital TDS560USB Emulator.

2. 設(shè)置連接名稱:TDS560USB Davinci

3. 不用作任何改動(dòng),直接完成。

4.選擇TDS560USB Davinci ,并在中欄雙擊或拖ICEPICK_C到左欄中

5.在彈出窗口中設(shè)置CPU的個(gè)數(shù)為2

6.點(diǎn)擊next 跳過(guò)。

7.設(shè)置Subpath name 和端口號(hào),名字隨便取,但是端口號(hào)ARM必須為16,DSP為18。

8.以上步驟完成后,選擇左欄的ARM9

9.在中間欄拖ARM9 CPU到左欄中,掃描鏈中的ARM9處理器。

10.設(shè)置ARM9處理器的GEL 文件

此處需要選中隨板提供的 DaVinciEVM_arm.gel 文件

11.開(kāi)始設(shè)置DSPC64+,在左欄中選中\(zhòng)dSPC64,然后把中間欄的C6400PLUS拖到左欄的DSPC64中

12.設(shè)置C64PLUS處理器的GEL文件。

此處需要選中隨板提供的 DaVinciEVM_dsp.gel 文件

13.到此,設(shè)置工作完成,存儲(chǔ)并退出CCS Setup 。

 

4、運(yùn)行CCS
以上步驟完成后,先斷開(kāi)仿真器電源,將TDS560USB POD上的JTAG電纜與目標(biāo)板JTAG接口相連,然后打開(kāi)目標(biāo)板電源,接通仿真器電源,運(yùn)行CCS。觀察兩個(gè)指示燈,如果READY燈和BUSY燈輪流閃爍,表示TDS560USB正常工作,否則請(qǐng)斷開(kāi)TDS560USB仿真器的電源,拔下USB線纜,重新檢查前面的硬件連接和軟件安裝、設(shè)置是否正確。

 

CCS及驅(qū)動(dòng)都安裝完成之后,在CCS運(yùn)行前,最好先運(yùn)行一下 “桌面 \wintechdigital\ RESET TDS560USB”,如果復(fù)位正常,則運(yùn)行CCS進(jìn)行實(shí)時(shí)仿真,如果不能正常復(fù)位,請(qǐng)拔下仿真器電源和USB電纜,重新連接硬件,并檢查硬件連接和軟件安裝是否正確。

 

六、程序編譯
    Davinci的程序分DSP程序及ARM程序,DSP程序我們?cè)贑CS中編輯和編譯,ARM程序在Source Insight中編輯,在Linux中的dvsdk1.3工具鏈下編譯。

 

下面以視頻編解碼V1.2版本的編譯為例,來(lái)說(shuō)明調(diào)試程序操作步驟。

 

V1.2版本中有5部分,分別是:

 

解碼算法              :    VidDec_lib

編碼算法              :    VidEnc_lib

編譯x64P環(huán)境       :    video_copy

ARM運(yùn)行程序      :    videoloop

運(yùn)行目錄              :    loop

 

VidDec_lib 與VidEnc_lib目錄推薦放在CCS安裝路徑下的MyProjects目錄下,我的存放路徑為:C:\CCStudio_v3.3\MyProjects 。

video_copy、videoloop與loop目錄都存放在Linux服務(wù)器下,loop目錄必須存放在NFS所共享的、Davinci板卡可以訪問(wèn)的根文件系統(tǒng)內(nèi),而video_copy與videoloop目錄沒(méi)有存放路徑的限制,推薦將這兩個(gè)目錄存放在同一路徑下。

1、在Windows上編譯DSP端運(yùn)行庫(kù)
由于只是編譯,并不需要仿真器的參與,以下CCS編譯時(shí)仿真器都不是必須的。在調(diào)試的過(guò)程中,才會(huì)需要用到仿真器。

啟動(dòng)CCS,在CCS中分別編譯視頻解碼工程VidDec_lib及視頻編碼工程VidEnc_lib,得到所生成的庫(kù)文件VidDec_lib.lib及VidEnc_lib.lib。

2、在Linux中編譯DSP可執(zhí)行程序
將在CCS中編譯的VidDec_lib.lib改名復(fù)制為

video_copy\codecs\viddec_copy\lib\viddec_copy.a64P ,

將在CCS中編譯的VidEnc_lib.lib復(fù)制為

video_copy\codecs\videnc_copy\lib\videnc_copy.a64P。

也可以使用VidDec_lib.lib及VidEnc_lib.lib同目錄下的批處理文件copylib.bat來(lái)實(shí)現(xiàn)以上兩次改名復(fù)制。

 

在linux環(huán)境下的video_copy\servers\video_copy目錄下先執(zhí)行

       make clean

然后執(zhí)行

make

生成DSP端的可執(zhí)行文件video_copy.x64P;并且將video_copy.x64P拷貝至運(yùn)行目錄loop中。以上的video_copy.x64P生成并拷貝至運(yùn)行目錄可以使用同目錄下的mkall腳本執(zhí)行文件來(lái)實(shí)現(xiàn)。(腳本是為了簡(jiǎn)化調(diào)試步驟而使用的,大家自己寫出就是了)

 

3、在Linux中編譯ARM可執(zhí)行程序
在linux環(huán)境下進(jìn)入videoloop工程,運(yùn)行make,生成ARM端可執(zhí)行程序videoloop,將videoloop拷貝至運(yùn)行目錄loop中。

這一步的make及拷貝也可以使用同目錄下的mkall腳本文件來(lái)執(zhí)行。

4、啟動(dòng)板卡,執(zhí)行程序
啟動(dòng)板卡,使用root登錄,然后進(jìn)入運(yùn)行目錄loop中。首先運(yùn)行裝載模塊程序loadmodules.sh,然后運(yùn)行ARM端可執(zhí)行程序videoloop。在運(yùn)行過(guò)程中,videoloop會(huì)根據(jù)需要調(diào)用DSP端的視頻解碼算法程序及視頻編碼算法程序。

 

以上的2、3、4步使用mkall腳本文件需要注意:

       IP地址與路徑必須與實(shí)際情況匹配,特別是在程序版本升級(jí)及Linux服務(wù)器更換時(shí)。

編譯x64P時(shí),注意要先 make clean 。

七、脫機(jī)運(yùn)行
      一般在進(jìn)行程序調(diào)試時(shí),我們采用NFS與tftp等網(wǎng)絡(luò)通信方式共享Linux服務(wù)器中的資源,用于嵌入式Linux進(jìn)行訪問(wèn)、改寫。

      在程序調(diào)試成功,并且版本穩(wěn)定之后,我們需要嵌入式Linux脫離服務(wù)器的支持,單獨(dú)運(yùn)行起來(lái)。這時(shí),需要有完整的Linux操作系統(tǒng)各部分,包括 BootLoader,內(nèi)核,根文件系統(tǒng)這三部分。

Davinci板卡采用的BootLoader是uboot,內(nèi)核提供了源文件,編譯即可得到,根文件系統(tǒng)我們分別使用過(guò)ramdisk及yaffs2這兩種方式。

Davinci板卡采用的存儲(chǔ)介質(zhì)是Flash,根據(jù)功能差異分為Nor Flash與Nand Flash兩種。

脫機(jī)運(yùn)行前需要將uboot、內(nèi)核及根文件系統(tǒng)燒寫到Flash中,然后在uboot中進(jìn)行相應(yīng)的配置。

 

Davinci的一般啟動(dòng)過(guò)程如下:

       Rbl->[ubl->] uboot->uImage->rootfs->用戶程序

在Nor flash上的啟動(dòng)過(guò)程:

首先運(yùn)行芯片中的Rbl,然后啟動(dòng)flash上的uboot,加載uImage,使用rootfs,運(yùn)行用戶可執(zhí)行程序。

在Nand flash上的啟動(dòng)過(guò)程:

首先運(yùn)行芯片中的Rbl,然后ubl,再啟動(dòng)uboot,加載uImage,使用rootfs,運(yùn)行用戶可執(zhí)行程序。

 

下面以運(yùn)行在Nor flash上的ramdisk文件系統(tǒng)為例說(shuō)明。下面提到的Flash,如果沒(méi)有指定為Nand Flash,則Flash就指的是Nor Flash。

 

1,燒寫uboot
(1)編譯uboot
目前我們使用uboot1.1.4 ,在Linux下,進(jìn)入uboot1.1.4目錄,

依次輸入如下命令:

make clobber

make davinci_config

make ARCH=arm

就生成了可執(zhí)行文件 u-boot.bin 。

(2)燒寫uboot
將uboot燒寫進(jìn)Flash,有兩種方法:一是使用JTAG頭連接仿真器,使用仿真器燒寫;二是使用串口進(jìn)行燒寫。

注意:

在連接仿真器及串口線,撥動(dòng)S3開(kāi)關(guān),切換J4跳線時(shí),必須要在斷電情況下操作。

 

仿真器燒寫:

將Davinci板卡斷電,

將DM6446開(kāi)發(fā)板上的S3開(kāi)關(guān)撥到全部為ON,在J4跳線處選上Nor Flash,連接仿真器;

將Davinci板卡上電,

打開(kāi)CCS(需要設(shè)置CCS為仿真模式),在菜單中選擇 File-- Load Program ,找到Flash的燒寫程序flashwrite.out ,然后運(yùn)行,根據(jù)提示分別輸入uboot文件名u-boot.bin,及偏移地址0,等燒寫完畢即可;

將Davinci板卡斷電,

將S3切換到Nor Flash啟動(dòng),即撥為1011111111,運(yùn)行串口控制軟件Tera Term ,選擇COM1口,設(shè)置波特率為115200;

將Davinci板卡上電,

在Tera Term窗口會(huì)有uboot的啟動(dòng)信息顯示。

 

串口燒寫:

       由于dvflasher運(yùn)行需要 .net FrameWork 2.0,所以先安裝這個(gè)程序。

將Davinci板卡斷電,

將DM6446開(kāi)發(fā)板上的S3開(kāi)關(guān)撥到全部為ON,在J4跳線處選上Nor Flash,用串口線連接PC主機(jī)與Davinci板卡;

將Davinci板卡上電,

在主機(jī)上運(yùn)行命令行,在命令行輸入命令:dvflasher -r u-boot.bin,等燒寫完畢;

將Davinci板卡斷電,

將S3切換到Nor Flash啟動(dòng),即撥為1011111111,運(yùn)行串口控制軟件Tera Term ,選擇COM1口,設(shè)置波特率為115200;

將Davinci板卡上電,

在Tera Term窗口會(huì)有uboot的啟動(dòng)信息顯示。

 

串口燒寫nand flash:

將Davinci板卡斷電,

將DM6446開(kāi)發(fā)板上的S3開(kāi)關(guān)撥到:1101111111,在J4跳線處選上Nand Flash CS2,用串口線連接PC主機(jī)與Davinci板卡;

將Davinci板卡上電,

在主機(jī)上運(yùn)行命令行,在命令行輸入命令:dvflasher -fnandbin u-boot_nand.bin,等燒寫完畢;

將Davinci板卡斷電,

將S3切換為Nand Flash啟動(dòng),即撥為全部為OFF,運(yùn)行串口控制軟件Tera Term ,選擇COM1口,設(shè)置波特率為115200;

將Davinci板卡上電,

在Tera Term窗口會(huì)有uboot的啟動(dòng)信息顯示。

2,燒寫Linux內(nèi)核
內(nèi)核指的是一個(gè)提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個(gè)內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng)。

  在Linux 內(nèi)核中,包括了:進(jìn)程管理、定時(shí)器、中斷管理、內(nèi)存管理、模塊管理、虛擬文件系統(tǒng)接口、文件系統(tǒng)管理、設(shè)備驅(qū)動(dòng)程序、進(jìn)程間通信、網(wǎng)絡(luò)管理、系統(tǒng)啟動(dòng)等操作系統(tǒng)功能的實(shí)現(xiàn)。

(1)編譯Linux內(nèi)核
當(dāng)板卡硬件有改動(dòng),或需要增加某些底層功能時(shí),需要改動(dòng)內(nèi)核模塊,可以使用如下命令來(lái)更改內(nèi)核模塊的配置:

make menuconfig

生成的配置文件保存在

mv_pro_4.0\montavista\pro\devkit\lsp\ti-davinci\arch\arm\defconfig

然后在:

mv_pro_4.0\montavista\pro\devkit\lsp\ti-davinci


目錄下輸入如下命令:

make ARCH=arm CROSS_COMPILE=arm_v5t_le- davinci_dm644x_defconfig

      make ARCH=arm CROSS_COMPILE=arm_v5t_le- checksetconfig

      make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage

      cp arch/arm/boot/uImage /tftpboot/uImage

chmod a+r /tftpboot/uImage


 


 

就可以編譯出新的內(nèi)核。

更多的細(xì)節(jié)請(qǐng)參考《Building a Small Embedded Linux Kernel Example  spraah2.pdf》。

(2)燒寫Linux內(nèi)核
從Linux服務(wù)器下載內(nèi)核映象文件并燒寫進(jìn)Davinci板卡的Nor Flash中,我們使用板卡上的uboot,通過(guò)tftp協(xié)議,從Linux服務(wù)器上下載編譯好的內(nèi)核,過(guò)程如下:

a,將內(nèi)核文件uImage復(fù)制到Linux服務(wù)器的 /tftpboot/ 目錄下,

b,連接PC與Davinci板卡,需要連接串口線及網(wǎng)線,在連接串口線時(shí)需要將Davinci板卡斷電。

c,啟動(dòng)運(yùn)行串口控制軟件Tera Term

d,將Davinci板卡上電,在Tera Term窗口中按下任意鍵,進(jìn)入輸入命令狀態(tài)

e,依次輸入如下命令:

             tftpboot 0x80080000 uImage                    //從tftp服務(wù)器拷貝至內(nèi)存中

             erase 0x2100000 22fffff                            //擦除2M的空間

             cp.b 0x80080000 0x2100000 0x200000     //從內(nèi)存拷貝至Flash中

              等待命令執(zhí)行完畢,就成功燒寫內(nèi)核文件進(jìn)Nor Flash中了。

最后,在正式啟動(dòng)板卡時(shí)要讀取flash上的內(nèi)核文件,還需要設(shè)置環(huán)境變量為從flash啟動(dòng),使用如下命令設(shè)置即可:

setenv bootcmd ‘bootm 0x2100000’

3,燒寫根文件系統(tǒng)
Linux引導(dǎo)啟動(dòng)時(shí),默認(rèn)使用的文件系統(tǒng)是根文件系統(tǒng)。其中一般都包括這樣一些子目錄:
etc, dev, usr, usr/bin, bin, var等。
etc目錄主要含有一些系統(tǒng)配置文件;dev含有設(shè)備特殊文件,用于使用文件操作語(yǔ)句操作設(shè)備;usr存放庫(kù)函數(shù)、手冊(cè)和其它一些文件。bin存放執(zhí)行程序;var用于存放系統(tǒng)運(yùn)行時(shí)可變的數(shù)據(jù)或者是日志等信息。

根文件系統(tǒng)有多種格式,例如romfs、ramfs、jffs2、yaffs2等,我們以ramfs為例說(shuō)明編譯及燒寫過(guò)程。

(1)制作ramdisk
在Linux服務(wù)器中制作ramdisk過(guò)程如下:

a,開(kāi)辟一塊硬盤空間,這里定為14M,名字為ramrootfs,并格式化為ext2文件系統(tǒng):

 dd if=/dev/zero of=ramrootfs bs=1k count=14336

  mke2fs -F -m 0 -i 2000 ramrootfs

b,把虛擬盤掛載到目錄ramfs:

  mount -o loop -t ext2 ramrootfs ramfs

c,復(fù)制所需根文件系統(tǒng)內(nèi)容至ramfs中

d,使用nfs方式調(diào)試,確認(rèn)文件系統(tǒng)可用。

e,跳到ramfs目錄外,卸載ramfs,并壓縮文件系統(tǒng)映象:

 umount ramfs

 cat ramrootfs | gzip -9 > ramdisk.gz

(2)燒寫ramdisk
從Linux服務(wù)器下載ramdisk.gz文件并燒寫進(jìn)Davinci板卡的Nor Flash中,     我們使用板卡上的uboot,通過(guò)tftp協(xié)議,從Linux服務(wù)器上下載壓縮好的ramdisk.gz,過(guò)程如下:

a,將ramdisk.gz復(fù)制到Linux服務(wù)器的 /tftpboot/ 目錄下;

b,連接PC與Davinci板卡,需要連接串口線及網(wǎng)線,在連接串口線時(shí)需要將Davinci板卡斷電;

c,啟動(dòng)運(yùn)行串口控制軟件Tera Term;

d,將Davinci板卡上電,在Tera Term窗口中按下任意鍵,進(jìn)入輸入命令狀態(tài);

e,依次輸入如下命令:

             tftpboot 0x80080000 ramdisk.gz                 //從tftp服務(wù)器拷貝至內(nèi)存中

             erase 0x2300000  0x28fffff                         //擦除6M的空間

             cp.b 0x80080000 0x2300000 0x600000       //從內(nèi)存拷貝至Flash中

              等待命令執(zhí)行完畢,就成功燒寫ramdisk根文件系統(tǒng)進(jìn)Nor Flash中了。

最后,在正式啟動(dòng)板卡時(shí)要讀取flash上的根文件系統(tǒng),還需要設(shè)置環(huán)境變量為從flash讀取,使用如下兩個(gè)命令設(shè)置即可:

setenv bootcmd 'cp.b 0x2300000 0x85000000 0x600000; bootm 0x2100000'

setenv bootargs console=ttyS0,57600n8 video=dm64xxfb:interface=composite:mode=pal ip=192.168.1.82::192.168.1.1 root=/dev/ram0 rw initrd=0x85000000,14M mem=112M

第一個(gè)命令中主要相關(guān)部分是cp.b 0x2300000 0x85000000 0x600000 ,作用是在Davinci板卡啟動(dòng)時(shí)拷貝根文件系統(tǒng)至內(nèi)存中;

第一個(gè)命令中主要相關(guān)部分是root=/dev/ram0 rw initrd=0x85000000,14M ,作用是設(shè)置Davinci板卡啟動(dòng)時(shí)采用ramdisk根文件系統(tǒng)。

轉(zhuǎn)自新浪博客,如有侵權(quán),請(qǐng)告知,會(huì)在第一時(shí)間刪除。

 

本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/ufo995/archive/2009/12/12/4993672.aspx

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多