DAVINCI DM365-DM368開發攻略——開發環境搭建(DVSDK4.02)

第一節、 技術開發環境中的社會環境

     這篇文章遲遲沒有寫出來奉獻給一些愛好音頻視頻開發的網友,是有很多原因的,TI在短時間內,針對高清音視頻方案DM365/368,連續發佈DVSDK3.0,DVSDK4.00,DVSDK4.01和DVSDK4.02,這點讓我們很不適應。雖然我們的DM365/368核心板早已經出來,但是需要做開發板,並調試開發板,還有就是幫三個客戶批量生產DM6446產品和產品維護的原因,這是主要原因。但還有三個嚴重影響士氣的原因,讓本人管理公司倍感壓力,就是這個夏天不好過,全國處處都流行市區裏看海,嚴重影響公司員工的工作專注性,這是其一;全國各地人民近一年連續性和慣性地“喜迎物價上漲”,這個嚴重影響員工的積極性,更讓我們物料採購和生產壓力逐步加大,這是其二;其三就是我們血液流淌的民族良心、熱心和愛心被無情欺騙、玩弄、踐踏,而且這些事情還要繼續掩蓋和描黑下去,我想大家都知道的。壓力很大,再大也要堅持下去;再忙,也還得堅持把博客寫好。話說得好:從來沒有救世主,全靠我們自己。這句話一點也不言重,以後會明白的。
    針對技術開發環境,我們分六部分進行描述:
      
        DM365/368介紹;
       下載相關軟件包;
       Ubuntu 10.04 LTS環境搭建;
       Ubuntu網絡環境靜態IP的設置和SMABA的設置;
       交叉編譯環境搭建;
       DVSDK4_02_00_06軟件開發包的安裝;
    
第二節、 DM365/368介紹
 
      迴歸正題,我們先看看TI網站對DM365/368的介紹:http://focus.ti.com.cn/cn/paramsearch/docs/parametricsearch.tsp?family=dsp&sectionId=2&tabId=2114&familyId=1446&paramCriteria=no;這裏本人就不囉嗦了,DM365/368就是兩款高清720p/1080p的芯片方案,單核ARM926EJS+視頻子處理器,H264、MPEG4、MPEG2、MJPEG、JPEG,音頻的ACC、G711編碼解碼都是硬件實現的,無需軟件運算,編碼解碼速度極快。但DM36X裏邊沒有DSP,不能拿來做智能視頻算法和機器視覺算法,DM36X方案適合做IP-CAMERA、高清DVR、無線IP-CAMERA、智能家居低成本產品,等等。市場上還有一個非常流行更經濟的臺灣智源和華爲海思嵌入式高清IP-CAMERA、DVR方案(注,本人是中立嵌入式愛好者),但DM36X可擴展的功能比華爲海思嵌入式芯片Hi系列強,,壓縮率比海思和臺灣智源高,華爲海思嵌入式芯片Hi更專注DVR方面的產品設計。這些SoC都是面對低端市場,講究量的出貨,做不了高端產品,只有帶DSP的芯片才能做中高端產品。像本公司的DM6446、DM6437,和以後的DM8168等。
TI最開始發佈的DM36X開發包是dvsdk_dm365_setuplinux_2_10_01_18,這個版本還有很多公司在用,這個是基於linux-2.6.18內核上開發的,TI覺得Montavista做的linux驅動太爛,決定自己搞,所以發佈很多linux的版本,現在最新發布的版本是linux-2.6.37。上篇寫到《RHEL6.0的開發環境》,主要針對去年發佈的DVSDK3.0開發包的,DVSDK3.0裏邊包含DM36X和DM6467T三個高清方案芯片的開發包,內核基於linux-2.6.32,但是TI在今年連續發佈DVSDK4.00,DVSDK4.01和DVSDK4.02,內核均是linux-2.6.32,同時把DM365和DM368分開了,說明在軟件上DM365(720P)和DM368(1080P)區別還是比較大的,兩個芯片在硬件管腳完全兼容,就是主頻率(DM365最高297MHz,DM368爲432MHz)和視頻子處理系統不一樣,DM368還包含“智能成像應用的臉部識別”,所以我們決定開發DVSDK4.02。因爲全世界很多流行的軟件都基於linux-2.6.32,比如RHEL6.0,Ubuntu 10.04,衆多開發板公司,等穩定版本,加上現在比較流行的Android(安卓)系統,要求linux的版本最好是linux-2.6.32以上。
要開發DVSDK4.02或者(DVSDK4.00,DVSDK4.01),TI要求必須在Ubuntu 10.04 LTS 32-bit系統上開發,不能在RHEL6.0上開發,這個和DVSD3.0有區別的。
 
第三節、 下載相關軟件包
 
1、下載Ubuntu 10.04 LTS 32-bit
下載得到ubuntu-10.04.2-desktop-i386.iso,而且版本一定是ubuntu-10.04,不要下載更高級的版本。和RHEL6.0不一樣,這個是完全免費和無版權糾纏問題的linux系統,而且這個和debian系統一樣,非常好用,非常方便更新軟件包,安裝後,文件總體大小也小多了。
2、下載ARM交叉編譯工具Code Sourcery ARM GCC Tool Chain
“Sourcery G++ Lite 2009q1-203 for ARM GNU/Linux”,比較流行和高效的ARM交叉編譯工具,選擇下載IA32 GNU/Linux Installer
3、下載DVSDK_4_02包:
TI在DVSDK_4_0上做得比較好,把所有的開發軟件全部打包好了(本人喜歡死了)包括UBL、U-BOOT-2010.12,LINUX-2.6.32.17,DRIVER,EXAMPLE,FILESYSTEM;
選擇“另存爲”,並加.bin後綴,否則你下載的是txt格式的文件;
選擇“另存爲”,並加.bin後綴;
下載完上面的開發包和文件後,先看看TMS320DM365_EVM_Quick_Start_Guide.pdf或者TMS320DM368_EVM_Quick_Start_Guide.pdf

 第四節、 Ubuntu 10.04 LTS環境搭建

和RHEL6.0的安裝一樣,我們選擇虛擬機軟件VM7.1,我們以按圖說話,一步一步安裝下去,熟悉這方面的朋友可以跳過本節的描述,當然給本人指出錯誤挑毛病更讓本人喜歡。不熟悉的朋友可以先先看看《DAVINCI DM36X開發攻略——RHEL6VM7.1的安裝》。
首先VM7.1已經安裝後,並且VM7.1和WINDOWS的網絡共享設置按照下圖:

    要在自己電腦上找到一個有至少有20G的空餘的空間,確保自己的PC有2G的內存以上,WINDOWS自己佔用1G,分配給虛擬機的內存是1G以上,這樣在Ubuntu裏編譯和開發就非常有效率。

VM-LINUX 圖-1

選擇Ubuntu,“Next”下去;

 

VM-LINUX 圖-2

 

VM-LINUX 圖-3

    在圖-3裏,也有人選擇使用“Use NAT”,但是我們用第一種的方式也可以在Ubuntu系統裏上網。
VM-LINUX 圖-4
選擇虛擬機I/O類型,

 

VM-LINUX 圖-5

由於第一次在你的PC安裝Ubuntu,我們選擇第一個選項,產生一個新虛擬硬盤,VM把整個linux host的系統保存到一個文件(新虛擬硬盤)裏,非常安全和容易備份保存,這也是本人喜歡VM的原因。

 

VM-LINUX 圖-6

VM-LINUX 圖-6裏,選擇虛擬硬盤的類型,我們建議使用IDE,有時選擇“SCSI”會使後面的安裝出問題,本人沒時間去研究這個問題,所以直接用IDE。

 

VM-LINUX 圖-7

    分配給Ubuntu host系統的虛擬硬盤空間是20G,夠用了,因爲後面安裝完交叉編譯工具、相關Ubuntu升級包、DVSDK4.02等軟件包後,才7.x 多G的文件,夠開發用了,這個虛擬硬盤會隨開發安裝更多的軟件包變得越來越大。

 

VM-LINUX 圖-8

 

VM-LINUX 圖-9

圖-8和圖-9就是通過鏡像方式安裝Ubuntu,在虛擬機的光驅裏,按圖-9的選項找到你下載的ubuntu-10.04.2-desktop-i386.iso,然後點擊確定後,在虛擬機的界面的左邊,啓動剛纔配置的虛擬機。這樣就開始Ubuntu安裝了。

U-install 圖-10
這裏選擇Ubuntu host系統的語言,一般是英語,也可以使用簡體中文。

U-install 圖-11
選擇Asia重慶的時區或上海的時區。

U-install 圖-12
Ubuntu系統採用美國鍵盤,你可以在空框裏測試你的鍵盤。繼續“Forward”,

U-install 圖-13

這一步開始對虛擬硬盤就行格式化(就是*.vmdk文件),這個不會影響的WINDOWS下的硬盤,所以說VM安裝LINUX HOST很安全。

U-install 圖-14
圖-14這一步就是要設置好Ubuntu的普通用戶賬號和密碼,還有虛擬計算機的名字,我們使用簡單的密碼,會提示“strength fair”,沒關係。

U-install 圖-15

 配置到圖-15這裏,我們就可以安裝Ubuntu了,這個安裝需要比較長一點的時,可以去忙其他事情。
U-install 圖-16
安裝結束後,提示重啓Ubuntu,先“Restart Now”,然後在進入重啓界面,這時系統會停留在顯示文本模式下,我們需要敲“回車鍵”,Ubuntu才能起來,這個有點奇怪。回車後,可以進入圖形界面,然後出現登陸界面。

 

U-install 圖-17
第一登陸請使用davinci普通賬號進入,Ubuntu默認是普通用戶進入,不建議使用超級用戶root登陸,root超級用戶是被禁用的。需要使用一些帶權限操作的指令,都需要在最前面加”sudo”,這個確實有點繁。爲了使用root登陸,從虛擬機”Applications”裏找到“Terminal”終端,並打開,我們以後基本是在“Terminal”裏操作和開發。使用:
$sudo passwd root
Password: <--- 輸入你當前用戶davinci的密碼
Enter new UNIX password: <--- 新的Root用戶密碼
Retype new UNIX password: <--- 重複新的Root用戶密碼
passwd:已成功更新密碼
這個解鎖root的方法在Ubuntu 10.04 LTS及以後的版本都比較簡單,就是上面的命令,然後重新啓動Ubuntu,就可好使用圖-17的“Other”登陸了,輸入root和剛纔設置的root密碼,就可以登陸root模式。
我們開始安裝和設置其他有用的工具。

 U-install 圖-18

這一步是安裝VM TOOL,這個工具非常有用,安裝了VM TOOL就可以使鼠標在兩個操作系統下自由切換,兩個操作系統下共享目錄,可以調整虛擬機的窗口大小,等等,所以我們建議安裝,見圖-18,直接點擊“Install Vmare Tools”,這時VM系統自動會mount 虛擬機VM 裏自帶的ISO文件到光驅裏,見下圖-19.

 

U-install 圖-19

 

U-install 圖-20

進入linux光驅可以看到裏邊的內容。但這個是壓縮軟件包,不能直接安裝。我們開始到命令模式下,通過指令操作。

U-install 圖-21
圖-21裏,我們使用“cd /media/Vmware\ Tools/”進入光驅裏,先把VmwareTools-xxxxx.tar.gz給解壓到 /tmp的目錄裏
如果在root模式,直接tar zxf VmwareTools-8.4.5-324285.tar.gz –C /tmp,如果在普通用戶的模式,使用sudo tar zxf VmwareTools-8.4.5-324285.tar.gz –C /tmp,解壓結束後,我們到/tmp/vmware-tools-distrib目錄下使用./vmware-install.pl,直接回車安裝,

U-install 圖-22

一直拍“回車”鍵安裝下去,直到安裝結束。

U-install 圖-23

安裝VM TOOL結束後,在虛擬機的菜單裏,開始設置和WINDOWS共享的文件夾,見圖-23,因爲GCC交叉安裝包和DVSDK4.02的安裝包很大,沒必要通過SAMBA方式 COPY到LINUX裏去,使虛擬機的空間越變越大。

U-install 圖-24

在Settings->”Options”裏,對“Shared Folders”進行“Always enabled”,同時在WINDOWS下的先生成一個共享的文件夾,比如本人的是G盤下,直接生產“Ubuntu10”的文件夾,並設置成共享模式,見圖-25。然後在圖-24的“Add”處添加剛纔的Ubuntu10的共享文件夾,見圖-26。

 

U-install 圖-25

U-install 圖-26

U-install 圖-27

最後選擇圖-27的“Enable this share”,點擊finish,這樣Ubuntu和windows就可以共享文件夾了,這樣系統會自動mount這個共享文件夾到/mnt/hgfs/的目錄下。COPY你下載的arm-2009q1-203-arm-none-linux-gnueabi.bin和dvsdk_dm365-evm_4_02_00_06_setuplinux.bin或者dvsdk_dm368-evm_4_02_00_06_setuplinux.bin到這個WINDOWS下的Ubuntu10文件夾裏,然後在linux裏邊,使用以下命令,看看在LINUX裏是否看到你COPY過來的文件:
#cd /mnt/hgfs/Ubuntu10/
#ls
這時應該可以看到剛纔COPY的兩個大文件。
到這裏Ubuntu的環境基本搭建好,還有NFS, TFTP, SAMBA等,NFS和TFTP在後面安裝好DVSDK4.02後,再告訴大家如何設置。
 
第五節、 Ubuntu網絡環境靜態IP的設置和SMABA的設置
 
由於Ubuntu的默認安裝狀態的IP是DHCP,而我們TFTP SERVER, NFS SERVER, SAMBA SERVER這些網絡環境都要求是固定的靜態IP模式,所以我們先設置靜態IP,編輯/etc/network/interfaces的文件,
#gedit /etc/network/interfaces
在auto lo
iface lo inet loopback
的後面加上:
auto eth0
iface eth0 inet static
address 192.168.1.252
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.1.255
然後保存退出,重啓networking:
#/etc/init.d/networking restart
而有些網友指出改成靜態IP上不了網,這時就需要設置DNS,這個就不提示了,網上有很多介紹,本人沒發覺apt-get install xxxx過不去,所以本人的靜態IP還是可以連上網的。本人還發覺有個BUG,每天打開Ubuntu如果不做/etc/init.d/networking restart的話,發覺還是使用DHCP,做了/etc/init.d/networking restart後,就變成靜態IP,這個BUG一直沒查到什麼原因,這個和RHEL6.0的不一樣,不知是否有Ubuntu高手指點一下。本人還有個小建議:爲了上網方便,建議DHCP,調試開發的時候,直接使用:
ifconfig eth0 192.168.1.252,臨時去指定IP就可以做相應的開發。
 
搞定靜態IP和DNS,可以設置SAMBA了,使用以下命令:
#apt-get install samba
#apt-get install smbfs
#apt-get install samba-cmmon-bin
#apt-get install system-config-samba
系統自動從 Ubuntu的官方鏡像網站下載穩定的最新的軟件包版本,大家可以通過#gedit /etc/apt/sources.list命令看看這些鏈接的地址。
安裝samba結束後,先使用
#touch /etc/samba/smbpasswd
#smbpasswd -a davinci (davinci普通用戶)
輸入samba訪問密碼兩次。
然後編輯gedit /etc/samba/smb.conf的配置文件,在smb.conf最後增加下面一段內容:
[smb_share]
;comment = Shared Folder with username and password
path = /home/davinci
public = yes
writable = yes
valid users = davinci
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
保存退出。
重啓samba,/etc/init.d/smbd restart
這個和以前的(/etc/init.d/samba restart)不一樣了。
使samba生效。
最後使用:
# ufw disable
把防火牆給關閉掉,這樣在WINDOWS下就可以使用\\192.168.1.252 登錄samba共享目錄了。
 
第六節、 交叉編譯環境搭建
 
    Ubuntu網絡環境搞定,我們可以着手安裝GCC交叉編譯環境,先使用:
#ln -sf /bin/bash /bin/sh
否則無法運行./arm-2009q1-203-arm-none-linux-gnueabi.bin的操作。網友指出是dash搞的鬼。
進到我們的VM TOOL共享目錄:
#cd /mnt/hgfs/Ubuntu10
#chmod +x ./arm-2009q1-203-arm-none-linux-gnueabi.bin
#./arm-2009q1-203-arm-none-linux-gnueabi.bin
這時,會出現Sourcery G++的安裝界面,

U-install 圖-28

“Next”下去,

U-install 圖-29

開始安裝人家的東西,

U-install 圖-30
這裏建議使用Typical,

U-install 圖-31
圖-31開始選擇安裝目錄,這個比較講究,不要亂安裝,因爲後面安裝DVSDK4.02會涉及這個目錄。

U-install 圖-32
 
在/opt的目錄下,生產arm-2009q1-203的文件夾,見圖-32,把Sourcery G++ Lite for ARM安裝在這裏,

U-install 圖-33

繼續下去,

U-install 圖-34

圖-34把剛纔設置的路徑生效,

U-install 圖-35

圖-35開始安裝LINK環境(Sourcery G++的鏈接環境等)的路徑,

U-install 圖-36
我們保存到/opt/arm-2009q1-203/CodeSourcery下,

U-install 圖-37
點擊圖-37的install按鍵,開始安裝交叉編譯工具,這個也需要一點時間。

U-install 圖-38

U-install 圖-39
 
安裝包結束後,事情還沒結束,開始設置root超級用戶的交叉編譯環境變量,

U-install 圖-40
使用以下命令,編輯/root下的.bashrc文件,注意前面有個小“.”:
#cd /root
#gedit .bashrc

U-install 圖-41
最後面加上:export PATH=$PATH:/opt/arm-2009q1-203/bin:,或者PATH=”/opt/arm-2009q1-203/bin:$PATH”,建議選擇前者,並保存退出。
使用#source .bashrc生效,或重新退出Ubuntu的root,然後再登錄root。
這樣整個Sourcery G++ Lite for ARM全部搞定,這個交叉編譯環境適合DM365/DM368,DM6446,DM6467,S3C2410,S3C2440,6410等ARM芯片,使用非常廣泛,非常好用。
 
第七節、 DVSDK4_02_00_06軟件開發包的安裝
 
     安裝dvsdk_dm365-evm_4_02_00_06_setuplinux.bin或者dvsdk_dm368-evm_4_02_00_06_setuplinux.bin之前,一定要做:
#apt-get install fakeroot

dvsdk 圖-42
 
否則會出現圖=43的BUG。

 

dvsdk 圖-43
 
安裝fakeroot結束後,
#chmod a+x dvsdk_dm365-evm_4_02_00_06_setuplinux.bin
#./dvsdk_dm365-evm_4_02_00_06_setuplinux.bin

 

dvsdk 圖-44
出現圖-44的安裝界面,點擊“Next”,

 

dvsdk 圖-45
提示你定位你的GCC交叉編譯工具的路徑,我們按圖-45選擇“/opt/arm-2009q1-203/bin”,

dvsdk 圖-45
 
如果你的GCC交叉編譯工具安裝成功,安裝過程會提示你的交叉編譯工具是正確的,

 

dvsdk 圖-46
然後開始選擇安裝DVSDK軟件包的路徑,我們建議(縮小當前安裝過程,再打開另一個新的Terminal)在/home/davinci/目錄下,生成:
#mkdir –p dm365/dvsdk_dm365_4_02_00_06
#mkdir -p dm368/dvsdk_dm368_4_02_00_06

 

dvsdk 圖-47
 
或者按圖-47直接在安裝過程中生成文件夾的方式都可以。
把dvsdk_dm365-evm_4_02_00_06_setuplinux.bin裝到dvsdk_dm365_4_02_00_06,或者把dvsdk_dm368-evm_4_02_00_06_setuplinux.bin裝到dvsdk_dm368_4_02_00_06裏,看你開發的是DM365還是DM368,其實這個dvsdk_dm365_4_02_00_06文件夾可以命名再短點,沒有規定。

 

dvsdk 圖-48
“Next”下去,
 
dvsdk 圖-49
這裏圖-49提示整個DVSDK的安裝需要大概2.67G的虛擬機空間,我們繼續“Next”,直到安裝結束。

dvsdk 圖-50
安裝結束後,直接ls命令看看DVSDK4.02的面貌,這裏的先不描述,我們先把環境繼續搭建好,因爲NFS,TFTP 兩個SERVER還沒動手呢。
注意DVSDK4.02裏的setup.sh,見圖-50,TI已經把怎樣搭建NFS和TFTP server做成腳本自動升級和配置方式,可以給大家省去很多麻煩。由於裏邊有我們不適合使用的串口調試工具,我們決定只配置NFS和TFTP就OK了,其他可以選擇安裝。所以我們先編輯setup.sh文件:

dvsdk 圖-51
把setup-minicom.sh和setup-uboot-evn.sh給屏蔽掉。我們的串口調試工具使用SecureCRT,這個挺好用的。還有我們不是買TI的EVM開發板,是自己設計產品,板子都沒開始調試,所以我們先屏蔽setup-uboot-evn.sh,保存退出。在DVSDK的目錄下,
#./setup.sh
這樣就會自動升級NFS包和TFTP的包,並自動配置,TI在這個版本做得比較好,開始安裝:

dvsdk 圖-52
安裝的過程中,提示你輸入NFS的路徑,本人的是:/home/davinci/dm365/dvsdk_dm365_4_02_00_06/filesystem/dm365rootfs。輸入後,直接回車。因爲在此之前,本人在安裝完DVSDK後,自己先在/home/davinci/dm365/dvsdk_dm365_4_02_00_06/filesystem/目錄下生產一個空的dm365rootfs文件夾,所以會出現U-install 圖-53的提示,系統會問你這個/home/davinci/dm365/dvsdk_dm365_4_02_00_06/filesystem/路徑下已經存在dm365rootfs的文件夾,

dvsdk 圖-53
是否需要:
輸入“r”表示重新命名,輸入”o”表示覆蓋dm365rootfs裏邊的內容,輸入”s”表示跳過文件系統的文件解壓,因爲安裝過程會把/home/davinci/dm365/dvsdk_dm365_4_02_00_06/filesystem下的dvsdk-dm365-evm-rootfs.tar.gz文件系統文件解壓到dm365rootfs裏。本人直接輸入”o”。如果之前沒有使用#mkdir dm365rootfs,那就不會有這樣的提示,按照圖-52輸入完路徑,直接回車就自動安裝下去。

dvsdk 圖-54
然後安裝過程繼續提示你是否生產/tftpboot的目錄,如果沒有,這裏會自動幫你生產/tftpboot目錄,這個就是TFTP SERVER的目錄,專門存放 UBL, U-BOOT,KERNEL等的燒寫BIN文件的地方。這一步結束後,NFS和TFTP SERVER都自動搭建好了。

dvsdk 圖-55
最後,到/home/davinci/dm365/dvsdk_dm365_4_02_00_06/psp的目錄下看看,這裏有UBL(在flash-utils裏),u-boot-2010.12-psp-xxxxxxx,linux-2.6.32.17-psp-xxxxxxx和linux-driver-examples的源碼,這個U-BOOT和內核的源碼文件夾太長,我們使用mv命令改爲:u-boot-2010.12和linux-2.6.32.17。然後按圖-55在/home/davinci/dm365/dvsdk_dm365_4_02_00_06目錄下#gedit Rules.make文件,修改內核linux-2.6.32.17的路徑,不要使用默認長長的文件夾路徑;同時檢查交叉編譯工具的路徑是否和你前面的安裝路徑對應。
CSTOOL_DIR=/opt/arm-2009q1-203
CSTOOL_PREFIX=$(CSTOOL_DIR)/bin/arm-none-linux-gnueabi-
保存退出後,編譯DVSDK裏邊的元素之前,在/home/davinci/dm365/dvsdk_dm365_4_02_00_06的目錄下,必須做如下命令,就是使交叉編譯環境生效:
#source linux-devkit/environment-setup
基本大功告成。
檢驗交叉編譯工具GCC是否好用:
在/home/davinci/dm365/dvsdk_dm365_4_02_00_06目錄下:
#make u-boot_clean
#make-u-boot
看看u-boot是否可以編譯過去。
如果按照上面的安裝,基本沒什麼問題。
至於如何編譯內核和u-boot等,請gedit /home/davinci/dm365/dvsdk_dm365_4_02_00_06目錄下的Makefile文件看看。
 
第八節、 總結介紹
 
   花了很長的時間調試本公司做的開發板,然後驗證OK後,纔敢寫這篇文章,我們寫技術博客都是很實在的,沒必要假大空,也不是Ctrl+C和Ctrl+V搞出來的論文。
順便曬曬我們做的核心板和開發板,目前硬件測試完畢,軟件還沒完善,有些驅動需要添加和改動。由於DM365/368採用0.65mm的BGA工藝,使PCB布板難度更大,風險更高,我們做核心板的任務就是儘量幫客戶解決這些硬件和系統驅動的問題,讓客戶在短時間出產品搶市場,搶時間,降低開發風險和投資風險。核心板5片纔開始賣,單獨1~4片買來玩玩的朋友我們這種單子不敢接,建議先買開發板玩玩熟悉再說。因爲賣了就得對客戶負責,而我們沒有這麼龐大的技術支持隊伍,所以我們一般和那些有誠意批量採購的客戶合作,或者直接飛過來當面簽訂項目合同的客戶合作。
詳細的介紹見博客http://zjbintsystem.blog.51cto.com/964211/326108DM6446-DM6437-DM365核心板(最小系統板)》,還有我們深圳市桐燁科技的公司網站:http://www.tongyetech.com/
 

 

DM365核心板
 
 

DM365開發板
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章