天天看點

圖像識别DM8127開發攻略——開發環境搭建

經過兩年的多爆炸性出貨(針對我們這種小公司),目前稍微停頓了一下,現在難得有點時間繼續寫自己的部落格,其實自己一直想靜下心來做點東西,可惜做TI DAVINCI(ARM+DSP)這方面的人不太好招,本人這兩年都一直在給大客戶打雜,大批量生産,事情超級多,在《圖像識别DM8127開發攻略——序》裡面也提到這一點。對于這個ARM+DSP 的DM8127,我們還是從開發環境搭建開始寫。

在寫開發環境搭建之前,如果想知道我們為什麼還要堅持做ARM+DSP方案,建議先看看本人寫的《圖像識别DM8127開發攻略——序》,在這裡我們提到ARM+DSP(TI 通用型) 和ARM+FPGA,其實是從軟體開發難度和使用角度去考慮選擇的,畢竟大多數圖像識别算法用C/C++都可以實作,移植到通用型DSP相對容易。以前在定點DSP C64+優化是一個大難題,現在DM8127提供浮點DSP,很多浮點運算就不要去轉換成定點去運作了,DM8127的浮點運算能力達到4500M FLOPS,而且做産品的時候那些H264編解碼JPEG編解碼這些都不占用DSP的資源,有2個獨立的HDVICP2處理。還有在實作同樣複雜度的算法和應用,ARM+DSP成本相對ARM+FPGA還是有很大優勢的。針對圖像識别,國務院2017年7月8日釋出《新一代人工智能發展規劃》是其中一小部分,想在圖像識别領域有創新的産品,開發平台如果一開始就搞得很複雜,沒一定的人力技術資本和雄厚的money,是堅持不下去的。幾年前網上很多人說ARM+FPGA會全面淘汰ARM+DSP,結果市場回報的結果,ARM+DSP生命力還是相當強大,特别是TI近兩年推出浮點C66X DSP後,ARM+浮點C66XDSP性能更加強悍,很多業内人士都提到以後會是ARM+FPGA+DSP模式,是一個互補的模式,而不是對立的模式。

上面稍微啰嗦了DM8127的一些相關背景,現在進入我們的主題。關于DM8127的軟體包設計,TI 委托台灣APPRO公司去開發,APPRO設計了IPNC(IP網絡錄影機),這一點和TI 自己開發的DM8168/DM8148 EVM開發包有比較大差別,TI DM8168/DM8148EVM偏重多路D1 DVR這種産品模式去設計軟體包,當然裡面使用的ti tools大緻是一樣的。我們這裡隻介紹APPRO 設計的IPNC_RDK軟體開發包,2013年從艾睿合衆達買到APPRO IPNC套件後,中間軟體版本從V3.0.0更新到V3.8.0版本,到今天為止,最新的是CSK V3.9.1不過這個CSK V3.9.1偏重DM385這個不帶DSP的平台,這裡提到一下,APPRO IPNC_RDK支援DM8127,DM385,DM388,根據軟體包裡面一個總的Rules.make宏定義來編譯不同的平台。因為購買APPRO IPNC的時候,簽訂有協定,是以我們公司在APPRO V3.8.0在上面開發自己的ARM+DSP産品,沒有在CSK V3.9.1上面開發。

一、    使用VMware Workstation虛拟機安裝ubuntu16.04開發環境

開發IPNC_RDK軟體包,首先需要搭建linux  HOST端的開發環境,比如交叉編譯環境啊等等都在LINUX HOST裡面去完成。由于工作性質原因,本人方方面面都去做,是以比較喜歡使用WIN7+ LINUX雙作業系統的工作環境,使用虛拟機VMware Workstation搭建LINUX HOST開發環境,整個LINUX HOST可以當作一個檔案包打包備份,即使LINUX崩潰了也不影響WIN7的工作,崩潰了大不了從備份解壓出來直接用就是了。其實以前寫的DM6446,DM368,DM3730也是這種方式,隻不過現在在開發新的平台,而且使用比較高版本的UBUNTU16.04,之前的UBUNTU10.04的就把它給淘汰了,是以這裡還是有必要寫一下UBUNTU16.04開發環境的搭建,并不是啰嗦累贅。APPRO IPNC_RDK安裝手冊提到你的電腦組態最低要求見下圖:

<a href="https://s1.51cto.com/wyfs02/M00/A2/99/wKioL1mjdASB3A-mAAJoLzPr3eE013.jpg-wh_500x0-wm_3-wmp_4-s_1516333154.jpg" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M01/03/E9/wKiom1mjdQmiupt9AAHbzGlAFyw496.jpg-wh_500x0-wm_3-wmp_4-s_2500264546.jpg" target="_blank"></a>

然後去網上下載下傳破解VMware-workstation-full-12.5.7或者更進階的版本,首先安裝VMware-workstation虛拟機,使用破解碼去注冊,見下圖

輸入破解碼完成VMware-workstation-full-12.5.7後,先不要急馬上去安裝ubuntu16.04,我們需要先在WIN7下面網絡屬性進入屬性配置界面。見下圖,“共享”的地方選擇VMwareNetwork Adapter VMnet1,這樣後面建立ubuntu16.04虛拟機的時候,使用橋接網口模式可以讓虛拟機可以通路WIN7的共享檔案夾等等。

<a href="https://s3.51cto.com/wyfs02/M02/A2/9A/wKioL1mjdf3hG5j4AAH-TiY4H78907.jpg-wh_500x0-wm_3-wmp_4-s_4098335889.jpg" target="_blank"></a>

下面我們開始安裝desktop-i386 平台的ubuntu16.04,本人直接用截圖的方式去描述安裝步驟。首先運作安裝好的VM虛拟機,按下圖建立虛拟機,

<a href="https://s3.51cto.com/wyfs02/M02/03/E9/wKiom1mjdjaBSRx8AACv1Bj2Upo067.jpg-wh_500x0-wm_3-wmp_4-s_3080143675.jpg" target="_blank"></a>

我們選擇“自定義(進階)”去安裝,因為有些地方需要更改,不要使用典型。

<a href="https://s1.51cto.com/wyfs02/M00/03/E9/wKiom1mjdkfR7MvPAADr9cRtnrU219.jpg-wh_500x0-wm_3-wmp_4-s_1233619886.jpg" target="_blank"></a>

點選 “下一步”,往下安裝,

<a href="https://s2.51cto.com/wyfs02/M01/A2/9A/wKioL1mjdm2zRZFgAADTn09FWbM155.jpg-wh_500x0-wm_3-wmp_4-s_742938688.jpg" target="_blank"></a>

上圖先不要去添加ubuntu-16.04.3-desktop-i386.iso進去,應該選擇稍後安裝。

上圖我們這裡選擇linux 和 Ubuntu,

<a href="https://s1.51cto.com/wyfs02/M01/03/E9/wKiom1mjdsWBbkRHAACwPeItYlc364.jpg-wh_500x0-wm_3-wmp_4-s_4175535310.jpg" target="_blank"></a>

這一步我們給建立的新虛拟機命名,友善和本人電腦其他DAVINCI晶片平台的低版本虛拟機進行區分,同時儲存虛拟機到一個比較大空間的磁盤,比如我H盤配置設定了200G,我就把這個虛拟機放到這個剩餘空間比較大的盤上儲存。

<a href="https://s5.51cto.com/wyfs02/M00/A2/9A/wKioL1mjdt7x7yzPAACtynnfMcE498.jpg-wh_500x0-wm_3-wmp_4-s_739049353.jpg" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M02/03/E9/wKiom1mjdv6gCsCoAADsdqMdxVA442.jpg-wh_500x0-wm_3-wmp_4-s_4077850776.jpg" target="_blank"></a>

這一步如果你的電腦是4G記憶體,建議這裡配置設定1024MB,如果是6G或8G記憶體,這裡建議你們配置設定2048MB給虛拟機用。

<a href="https://s1.51cto.com/wyfs02/M02/A2/9A/wKioL1mjdwugnDXMAADzNMIM-zc194.jpg-wh_500x0-wm_3-wmp_4-s_4127812494.jpg" target="_blank"></a>

這裡網絡我們選擇“橋接”方式,公司網絡比較簡單,使用電信的光釺和裝置,進來就是一個路由器,路由器再接多路SWITCH。橋接網絡模式在安裝ubuntu16的時候,ubuntu16會使用DHCP方式和外網連接配接。

<a href="https://s1.51cto.com/wyfs02/M01/03/E9/wKiom1mjdzHy4IKzAACpmpkzT_k778.jpg-wh_500x0-wm_3-wmp_4-s_1863200034.jpg" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/03/E9/wKiom1mjdz3CzDh8AACMUSym-7k746.jpg-wh_500x0-wm_3-wmp_4-s_633609562.jpg" target="_blank"></a>

以上是選擇虛拟機硬碟類型

<a href="https://s5.51cto.com/wyfs02/M01/A2/9A/wKioL1mjd0-yPdpIAAD0fHxjF2w010.jpg-wh_500x0-wm_3-wmp_4-s_4176604361.jpg" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M01/A2/9A/wKioL1mjd12Bvq3vAAEdw12khRI043.jpg-wh_500x0-wm_3-wmp_4-s_830659742.jpg" target="_blank"></a>

這裡建立虛拟機硬碟的時候,我們建議設定至少35G給虛拟機使用,因為IPNC_RDK軟體包太大了,本人這裡設定50G,是因為以後要給不同客戶定制軟體,需要空間備份。這裡第2個紅圈是把整個虛拟機當成一個WIN7下面一個檔案儲存,友善虛拟機備份。

<a href="https://s3.51cto.com/wyfs02/M02/03/E9/wKiom1mjd46xs9JbAACwQQdCSIA731.jpg-wh_500x0-wm_3-wmp_4-s_579669307.jpg" target="_blank"></a>

上圖就是整個ubuntu16.04儲存在WIN7的檔案名字。

上圖先點選“自定義硬體”按下圖配置完後才點選“完成”。

<a href="https://s5.51cto.com/wyfs02/M01/A2/9A/wKioL1mjd66TZ5uAAAE3YMpaug4041.jpg-wh_500x0-wm_3-wmp_4-s_3137253693.jpg" target="_blank"></a>

我們這裡要選擇CD光牒安裝下載下傳好的ubuntu-16.04.3-desktop-i386.iso檔案。

點選“完成”後,我們開始安裝ubuntu-16.04,

<a href="https://s1.51cto.com/wyfs02/M02/A2/9A/wKioL1mjd-qiXZ3oAACXGnOO9Zg486.jpg-wh_500x0-wm_3-wmp_4-s_267557202.jpg" target="_blank"></a>

開始運作虛拟機的時候,如果蹦出上面的圖,直接“确定”就好了,

<a href="https://s3.51cto.com/wyfs02/M01/A2/9A/wKioL1mjeAXSj6l8AAF3CaFLzO0892.jpg-wh_500x0-wm_3-wmp_4-s_666063382.jpg" target="_blank"></a>

我們選擇English安裝,點選“install Ubuntu”,如果不習慣英文,可以使用中文,就選選中China;

<a href="https://s2.51cto.com/wyfs02/M02/03/E9/wKiom1mjeCWzGiahAADln0Tca2g353.jpg-wh_500x0-wm_3-wmp_4-s_3687178295.jpg" target="_blank"></a>

上圖這裡提示你是否在安裝的時候,需要線上更新一些安裝包,還有就是安裝第3方有關圖形和WIFI驅動等軟體。我們直接選中,反正要不了多少時間和空間。

<a href="https://s1.51cto.com/wyfs02/M01/03/E9/wKiom1mjeFGDerc2AAEmLbjEyPw070.jpg-wh_500x0-wm_3-wmp_4-s_965073846.jpg" target="_blank"></a>

這裡在虛拟機裡配置設定好的磁盤進行格式化後才安裝,當然這個不是要格式化對應的WIN7磁盤,比如上面提到本人安裝UBUNTU16在H盤,而H盤儲存有其他WIN7的檔案檔案夾等等很多東西,這裡虛拟機格式化根本不影響本人電腦WIN7下H盤的其他東西。

<a href="https://s1.51cto.com/wyfs02/M02/03/E9/wKiom1mjeHTi1ndkAAC15gmht_I484.jpg-wh_500x0-wm_3-wmp_4-s_3208616036.jpg" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M01/A2/9A/wKioL1mjeH-jIeEeAAFA3df8LIQ957.jpg-wh_500x0-wm_3-wmp_4-s_1762346485.jpg" target="_blank"></a>

時區選擇上海,我們屬于東8區,

<a href="https://s4.51cto.com/wyfs02/M00/03/E9/wKiom1mjeKCzyTg-AAFC1zND7h8679.jpg-wh_500x0-wm_3-wmp_4-s_2818589030.jpg" target="_blank"></a>

Ubuntu16.04選擇支援美式鍵盤,這是如果看不到“continue”按鈕,是因為虛拟機分辨率沒設定好,我們通過下面的方法去移動解決。

<a href="https://s3.51cto.com/wyfs02/M02/A2/9A/wKioL1mjeLPzJcL1AAFdODlfX_E750.jpg-wh_500x0-wm_3-wmp_4-s_188099733.jpg" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/03/EA/wKiom1mjeNiSIX5vAAETYhXhdb4873.jpg-wh_500x0-wm_3-wmp_4-s_3755366939.jpg" target="_blank"></a>

在安裝界面的上面,右鍵直到出現下拉菜單,點選“Move”去移動安裝界面。這樣就可以看到“continue”按鈕了。

<a href="https://s4.51cto.com/wyfs02/M01/A2/9A/wKioL1mjeQTgUNLqAADS--VDJWw188.jpg-wh_500x0-wm_3-wmp_4-s_2338943474.jpg" target="_blank"></a>

上圖開始要我們輸入使用者資訊,我們先看一下後面安裝好的指令行終端顯示:

davinci@davinci:/home/davinci/dm8127

前面第一個davinci是對應上面的“Pick a username”,第2個“@davinci”對應的是“your computer’s name”。給使用者davinci輸入登入密碼,本人這裡設定了簡單的1234567密碼,哈哈俺不怕,是以會出現“Fair password”這個提示,不管它。

<a href="https://s1.51cto.com/wyfs02/M01/03/EA/wKiom1mjeT_A0S0VAAD_7Ujlhgc972.jpg-wh_500x0-wm_3-wmp_4-s_2602394631.jpg" target="_blank"></a>

上圖開始長時間安裝unbuntu16.04了。

安裝結束後,出現下圖:

<a href="https://s2.51cto.com/wyfs02/M00/03/EA/wKiom1mjeVSBz8OKAABZWYyciNQ870.jpg-wh_500x0-wm_3-wmp_4-s_1190542638.jpg" target="_blank"></a>

這裡先不要急點選“Restart Now”,先按照下圖去做最後再去點選“Restart Now”重新開機虛拟機。在虛拟機右下角

<a href="https://s2.51cto.com/wyfs02/M01/A2/9A/wKioL1mjeV6CBlVdAAA3-p2O56E676.jpg-wh_500x0-wm_3-wmp_4-s_346205171.jpg" target="_blank"></a>

CD光牒的标志(這裡被51CTO技術部落格水印覆寫了),點選它,選擇“斷開連接配接”,或者進去“設定”,把ubuntu-16.04.3-desktop-i386.iso斷開,否則重新開機虛拟機的時候又會進入重新安裝界面或者長時間停留在啟動界面,斷開ubuntu-16.04.3-desktop-i386.iso後,才點選“RestartNow”重新開機虛拟機。

二、    對ubuntu16.04進行設定建構良好開發環境

安裝好ubuntu16.04後,第一次登入是以普通使用者davinci和密碼1234567進去的。

<a href="https://s1.51cto.com/wyfs02/M00/03/EA/wKiom1mjecyCdFoFAAGmHceyr_M266.jpg-wh_500x0-wm_3-wmp_4-s_1454035431.jpg" target="_blank"></a>

剛開始進入這個全新的界面的時候,開始有點不适應,因為太長時間的開發都在ubuntu10.04這種簡單界面開發。不過玩了2天後,本人就愛上這種風格,特别是桌面可以四分屏工作,總之這個左側ubuntu Unity有點意思。在ubuntu桌面右鍵點選選擇”Open Terminal”,就看到我們熟悉的指令行操作界面,不操作的時候會縮小到左側的圖示。我們先去調整“Displays”,調整分辨率,工作界面放大一點,這個和WIN7的操作是一樣的。

<a href="https://s4.51cto.com/wyfs02/M01/03/EA/wKiom1mjegegQ27oAAEpOeboH0c120.jpg-wh_500x0-wm_3-wmp_4-s_1364878588.jpg" target="_blank"></a>

在設定界面點選“Network”,unbuntu16.04預設使用DHCP模式從公司路由器拿到新的IP和DNS,這個到後面設定靜态IP的時候會涉及到上網的問題。

   下一步使用apt-get install安裝一些有用的軟體包。剛開始我們第一次在登入界面登入ubuntu的時候,是使用使用者davinci 登入的,而不是root登入,是以linux指令操作的時候,都有加sudo 進行操作,而且很多腳本無法修改儲存,太煩,我們喜歡使用root登入,但是ubuntu在安裝好的時候是不支援root登入的,我們隻好按下面的步驟去操作。

第一步:設定root登入

首先在davinci登入的情況下,使用#sudo su,然後輸入普通使用者davinci的密碼1234567,臨時切換到root權限下操作,見下圖。

<a href="https://s5.51cto.com/wyfs02/M01/A2/9A/wKioL1mjekOAK7UHAAKfr9MtkRI557.jpg-wh_500x0-wm_3-wmp_4-s_431217946.jpg" target="_blank"></a>

然後使用:

#apt-get install vim

#apt-get install vpnc git

先把vim工具給裝上,友善編輯腳本檔案

#vim  /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

(vim編輯指令百度一下,就知道如何編輯了)

增加”greeter-show-manual-login=true”

注意以上指令都是在進入root權限下去執行的,如果在davinci普通使用者下需要前面加”sudo”

<a href="https://s3.51cto.com/wyfs02/M00/A2/9A/wKioL1mjemGyKd2SAADZNvhWG1Q422.jpg-wh_500x0-wm_3-wmp_4-s_1964153288.jpg" target="_blank"></a>

然後繼續做下面的指令:

<a href="https://s1.51cto.com/wyfs02/M02/03/EA/wKiom1mjeoPDSxO_AAC6VCqLlQ4959.jpg-wh_500x0-wm_3-wmp_4-s_1832287421.jpg" target="_blank"></a>

使用

#passwd root

設定root登入密碼2次,比如1234567;

使用#vim /root/.profile編輯

<a href="https://s3.51cto.com/wyfs02/M00/03/EA/wKiom1mjep7jgq_VAADoc9Xi1XY699.jpg-wh_500x0-wm_3-wmp_4-s_1829475049.jpg" target="_blank"></a>

先屏蔽mesg n || true,然後再輸入tty –s &amp;&amp; mesg n|| true

儲存退出,最後reboot ubuntu16.04。

登入界面選擇root,并輸入剛才設定的root密碼

<a href="https://s4.51cto.com/wyfs02/M02/03/EA/wKiom1mjer7zR8aUAABjltfubtM331.jpg-wh_500x0-wm_3-wmp_4-s_351630852.jpg" target="_blank"></a>

 現在以root最高權限登入主界面,進入System settings

<a href="https://s2.51cto.com/wyfs02/M02/A2/9A/wKioL1mjeujjAOx8AAD9WXLlGcw017.jpg-wh_500x0-wm_3-wmp_4-s_1534511185.jpg" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M00/03/EA/wKiom1mjewvQghylAACHRT1aC5U143.jpg-wh_500x0-wm_3-wmp_4-s_1319414639.jpg" target="_blank"></a>

把讨厭的屏保功能關閉。

<a href="https://s3.51cto.com/wyfs02/M00/A2/9A/wKioL1mje0KiWHVmAAEvJrURmkE539.jpg-wh_500x0-wm_3-wmp_4-s_3625682460.jpg" target="_blank"></a>

繼續在settings界面對Appearance設定,選中Always displayed,這樣gedit文本編輯腳本、.C、.H源檔案的時候,就會現實操作菜單,否則你會發現gedit界面的菜單沒了,很不好用。

第二步:設定靜态IP網絡

後面進行開發闆調試的時候,UBUNTU LINUX HOST需要一個固定的SERVER IP,我們在UBUNTU 桌面右上角點選有線網絡标志:

<a href="https://s5.51cto.com/wyfs02/M01/03/EA/wKiom1mje33QruuSAABd5wEP2u0772.jpg-wh_500x0-wm_3-wmp_4-s_3685110939.jpg" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/03/EA/wKiom1mje5aCA0BnAAFOFn7ztS8911.jpg-wh_500x0-wm_3-wmp_4-s_1750313097.jpg" target="_blank"></a>

按上圖設定靜态IP,因為本人配置公司路由器的時候,公司工作電腦的IP都在192.168.1.100以下,把用不上的192.168.1.252做為linux host 的ip,相對于開發闆(target)來說,這個ubuntu靜态IP就是SERVER IP或HOST IP,即TFTPSERVER IP和NFS SERVER IP。這裡的DNS很重要,如果不設定,ubuntu16.04靜态IP是上不了網的。在DM3730的時候本人剛開始沒有意識到這個問題,apt-get install那時都是在安裝好ubuntu10.04 的時候使用預設DHCP模式去上網下載下傳的,後來改成靜态IP的就不成功登入外網。

第三步:安裝VMware Tool

<a href="https://s5.51cto.com/wyfs02/M00/A2/9B/wKioL1mje66gQzpRAAEaXIAlSus328.jpg-wh_500x0-wm_3-wmp_4-s_840758877.jpg" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M01/A2/9B/wKioL1mje7qCcPWmAACPXkCHVTY014.jpg-wh_500x0-wm_3-wmp_4-s_3069278812.jpg" target="_blank"></a>

這個VMware Tool很有用,在以前的DM368-DM3730開發攻略都介紹過,這裡無需累贅。

<a href="https://s4.51cto.com/wyfs02/M01/03/EA/wKiom1mje-3AkGjJAAE-uZt7S8Q978.jpg-wh_500x0-wm_3-wmp_4-s_2103335610.jpg" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M00/A2/9B/wKioL1mje-bwORVnAAEfHbtp-Js610.jpg-wh_500x0-wm_3-wmp_4-s_1741393642.jpg" target="_blank"></a>

把“VMwareTools-10.1.6-5214329.tar.gz”解壓到/home/Downloads或者其他臨時儲存檔案的路徑。解壓出來後,去執行腳本:./vmware-install.pl

<a href="https://s5.51cto.com/wyfs02/M00/A2/9B/wKioL1mjfBnSH6bqAAFkXDZEqI8161.jpg-wh_500x0-wm_3-wmp_4-s_2309026445.jpg" target="_blank"></a>

上圖注意不是其他網友說的一直敲回車下去安裝就OK,一開始提示的時候就得選擇Y再回車,否則直接退出安裝。後面的其他提示才是全部拍“Enter鍵”往下安裝,直到安裝結束。

<a href="https://s2.51cto.com/wyfs02/M01/03/EA/wKiom1mjfEzA5hA3AAEPtawCSrI547.jpg-wh_500x0-wm_3-wmp_4-s_2140239417.jpg" target="_blank"></a>

上圖是VMware Tool安裝結束後,我們進行檔案夾共享設定,即WIN7(XP)和虛拟機裡面的linux unbuntu16.04進行檔案夾共享。

<a href="https://s3.51cto.com/wyfs02/M00/A2/9B/wKioL1mjfHuRZRMWAACQGEe9jjo251.jpg-wh_500x0-wm_3-wmp_4-s_1981080056.jpg" target="_blank"></a>

參照上面三個圖去設定共享檔案夾就OK了,設定結束,在ubuntu16 裡面的指令行終端使用

#cd /mnt/hgfs/ubuntu16_s/

#ls –l

就可以看到WIN7(XP)共享的那個檔案夾的東西了,這個非常有用。

第四步:安裝SAMBA SERVER

先使用#ufw disable,關閉ubuntu16.04的防火牆

 #apt-get install samba

#gedit/etc/samba/smb.conf

<a href="https://s5.51cto.com/wyfs02/M02/03/EA/wKiom1mjfNjT5DvHAAEINOZ_3S4756.jpg-wh_500x0-wm_3-wmp_4-s_575625152.jpg" target="_blank"></a>

然後在上圖smb.conf最後面添加

[dm8127share]

    comment = Shared Folder requirepassword

    path = /home/davinci/dm8127

    public = yes

    writable = yes

    valid users = davinci

    create mask = 0777

    directory mask = 0777

    available = yes

    browseable = yes

    read only = yes

儲存退出。

#smbpasswd –a davinci   (這個davinci是現有的普通使用者)

<a href="https://s2.51cto.com/wyfs02/M02/03/EA/wKiom1mjfYuzPNDJAACEYN6t-1w907.jpg-wh_500x0-wm_3-wmp_4-s_2378426072.jpg" target="_blank"></a>

然後設定samba使用者密碼,我這裡也是1234567。

#smbpasswd -e davinci

#systemctl restart smbd.service nmbd.service

這時就可以看到

<a href="https://s4.51cto.com/wyfs02/M00/03/EA/wKiom1mjfbrRddkmAACfkXJdJew718.jpg-wh_500x0-wm_3-wmp_4-s_1496958218.jpg" target="_blank"></a>

輕按兩下這個共享檔案夾,如果WIN7(XP)提示你輸入使用者名和密碼,這把剛才的samba 使用者名davinci 和 1234567密碼輸入就可以進去了。

既然有了前面提到的VMware Tool共享檔案,我們這裡為什麼還要安裝samba呢?這個samba是通過網絡共享方式和WIN7(XP)或者其他電腦共享檔案夾和檔案的,和VMware Tool有點不一樣,也就是在同一個公司,其他同僚可以通過網絡通路你虛拟機unbuntu裡面共享的檔案夾和檔案,這就是samba的共享功能。VMware Tool共享檔案隻能是本人的電腦通路自己的虛拟機unbuntu裡面共享的檔案夾。安裝了samba和VMware Tool, reboot虛拟機再次進入桌面的時候,使用gedit或者vim編輯腳本時,你會發現在WIN7(XP) COPY一竄指令或代碼,也可以直接粘貼到虛拟機linux裡gedit或者vim打開的檔案上面編輯,很好用。

三、安裝TFTP SERVER

tftpd-hpa是一個功能增強的TFTP伺服器,

#apt install xinetd

# apt-get install tftpd-hpa

(注意:不要安裝tftp-hpa用戶端,否則闆子無法TFTP下載下傳BIN檔案)

#mkdir /tftpboot

#chmod –R 777/tftpboot

#gedit /etc/default/tftpd-hpa

<a href="https://s5.51cto.com/wyfs02/M02/A2/9B/wKioL1mjfezhfaN8AACSXF7Hs04491.jpg-wh_500x0-wm_3-wmp_4-s_3924604405.jpg" target="_blank"></a>

按上圖添加到tftpd-hpa檔案去,儲存退出, reboot虛拟機。

四、安裝IPNC_RDK_V3.8.0-Linux-x86-Install.bin(含交叉編譯環境)

#把APPRO 的IPNC_RDK_V3.8.0-Linux-x86-Install.binCOPY到我們那個VMware Tool設定的共享檔案夾ubuntu16_s下,然後在ubuntu16的指令行終端輸入:

#cd /home/davinci/dm8127

#mkdir v3.8.0   (先在/home/davinci/dm8127目錄下建立v3.8.0目錄)

#chmod –R 777 v3.8.0

#chmod +x IPNC_RDK_V3.8.0-Linux-x86-Install.bin

#./IPNC_RDK_V3.8.0-Linux-x86-Install.bin

按提示安裝到/home/davinci/dm8127/v3.8.0/目錄下,得到IPNC_RDK_V3.8.0.tar.gz

然後

#tar zxf IPNC_RDK_V3.8.0.tar.gz

那麼就得到這些東西

<a href="https://s4.51cto.com/wyfs02/M01/A2/9B/wKioL1mjfiLSBOasAAAi8unrJA8121.jpg-wh_500x0-wm_3-wmp_4-s_3793527927.jpg" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/A2/9B/wKioL1mjfjSxskbZAAEQvDkudGQ496.jpg-wh_500x0-wm_3-wmp_4-s_3772531541.jpg" target="_blank"></a>

編譯ARM 闆子的交叉編譯工具就放在上圖的linux-devkit裡面,如何編譯,到後面會重點介紹/home/davinci/dm8127/v3.8.0/Source/ipnc_rdk/目錄下的兩個非常重要的總Makefile和總Rules.make。

最後在ubuntu16.04裡,ipnc_rdk手冊強調需要做:

#apt-get install bison

#apt-get installflex

#apt-get install libacl1-dev

#apt-get install zlib1g-dev

#apt-get install liblzo2-dev

#apt-get install uuid-dev

另外還需要做:

#apt-get install libncurses* (注意*号要帶上)

否則無法去編譯闆子的核心檔案linux-2.6.37,因為ubuntu16.04.03核心版本太進階,是linux-4.10.0,有些東西要向下相容,需要做上面的更新。

還有安裝一些非常有用的工具

apt-get install unrar

apt-get install meld

檔案檔案夾比較工具meld超級超級超級有用!!!重要的東西強調了3遍。

五、安裝NFS SERVER

APPRO ipnc_rdk安裝包裡面已經給了一個裁剪的可以運作在闆子上面的檔案系統:

/home/davinci/dm8127/v3.8.0/Source/ipnc_rdk/target/filesys

我們首先要安裝NFS SERVER:

#apt-getinstall nfs-kernel-server

#gedit /etc/exports

<a href="https://s1.51cto.com/wyfs02/M00/03/EB/wKiom1mjfqmg9DSnAAQM_UAbeyw739.jpg-wh_500x0-wm_3-wmp_4-s_581687857.jpg" target="_blank"></a>

按上圖添加闆子以後要挂載的NFS檔案系統的目錄

#/usr/sbin/exportfs –av

# /etc/init.d/nfs-kernel-server restart

按上面的方法,基本上搭建好了整個DM8127的開發環境,使用下面的指令:

#cd /home/davinci/dm8127/v3.8.0/Source/ipnc_rdk/

#make ubootall 

去編譯uboot,測試一下ARM交叉編譯環境看看是否正常編譯。

六、總結

    好了,整個DM8127開發環境已經搭建好,上面的步驟難免有個别錯誤的地方,看到的網友如能指出這裡感激不盡。相對IPNC_RDK V3.8.0開發包的開發,ubuntu16.04開發環境搭建其實比較簡單,後面去開發IPNC_RDK V3.8.0才頭疼,東西太多,個人能力有限,後面的部落格文章也隻能有時間一點一點去寫,除非高薪招到這方面的牛人(搞過這方面的人确實不好招),否則要累壞人。DM8127性能還是不錯的,市面上是有幾個大公司拿來做車牌識别和人臉識别還有安防的IVS産品,普通視訊分析産品,當然那些更複雜的算法比如人工智能深度學習算法我們沒有搞過,也不清楚1秒能處理多少幀圖像,DM8127是否勝任,本人也不好下定論,但是另外一款TI C66X 32級流水線浮點DSP+EVE完全可以跑深度學習算法。在這裡提到一下,做一個比IPNC網絡錄影機進階一點帶DSP圖像分析的産品,開發DM8127需要:嵌入式LINUX 驅動工程師, 嵌入式LINUX 應用工程師(網絡協定,其他應用等等),DSP算法工程師,COMS SENSOR 圖像處理2A算法工程師,最基本的4個職位,每個職位都需要很牛的人去搞,有些複雜的算法需要一個團隊去搞,有些linux應用程式也需要一個團隊去搞,底層驅動如果不斷推出新的CMOS SENSOR,也得幾個人去搞。總之設計一個大批量生産的産品不是1-2個人就可以搞定的,當然了硬體工程師這些還沒算進去。現在發覺隻有互相合作才有出路。以下是本公司做的DM8127硬體,以上的開發環境搭建都是基于本公司的DM8127硬體平台去寫的。有需要深入項目讨論可以加本人QQ:2505133162

<a href="https://s1.51cto.com/oss/201710/28/0c7507d9b59018e29b354ea49ed99ea9.jpg-wh_500x0-wm_3-wmp_4-s_2258041556.jpg" target="_blank"></a>

<a href="https://s3.51cto.com/oss/201710/28/43833c3f73270e2dc3b8b807920cfda2.jpg-wh_500x0-wm_3-wmp_4-s_3854999862.jpg" target="_blank"></a>

本文轉自 zjb_integrated 51CTO部落格,原文連結:http://blog.51cto.com/zjbintsystem/1959846,如需轉載請自行聯系原作者

繼續閱讀