暢談從業(yè)以來兩大難題 - 和中興資深工程師一起大啖Linux的設(shè)計(jì)與開發(fā)
2014年10月15日 12:03 來源:電子發(fā)燒友論壇 作者:陳晨 我要評(píng)論(0)
2、電子發(fā)燒友:自從業(yè)以來,遇到最大的困難與挑戰(zhàn)是什么?能否給我們分享些您的經(jīng)驗(yàn)以及心路歷程?
韋東山:
轉(zhuǎn)行!轉(zhuǎn)行是最困難的,這意味著你前面積累的經(jīng)驗(yàn)幾乎沒用了,還需要學(xué)習(xí)全新的知識(shí)──這需要大量的時(shí)間。我的第1份工作是做硬件的,后來由于工作需要也寫一下單片機(jī)程序,但是軟件水平是很低的。決定轉(zhuǎn)行學(xué)習(xí)Linux時(shí),這需要有操作系統(tǒng)的概念知識(shí)、全新的ARM體系架構(gòu)知識(shí)、完全沒接觸過的軟件設(shè)計(jì)理念(寫單片機(jī)時(shí)就是一個(gè)while循環(huán),Linux里都是面向?qū)ο蟮乃枷耄?/span>
這千頭萬緒,要學(xué)習(xí)的知識(shí)很多,從哪里入手,從哪里抽出時(shí)間,這就是2個(gè)最大的困難。
· 對(duì)于時(shí)間,我是暫停工作閉門自學(xué)了半年;
· 對(duì)于從哪里學(xué)習(xí),我是先學(xué)習(xí)了趙炯的《LINUX內(nèi)核完全注釋》,這讓我對(duì)操作系統(tǒng)有比較深的認(rèn)識(shí);接著把 ARM開發(fā)板當(dāng)作單片機(jī)學(xué)習(xí)裸板,把bootloader涉及的硬件操作單獨(dú)寫程序試驗(yàn);最后開始學(xué)習(xí)驅(qū)動(dòng)程序的編寫。從裸板程序開始,直到Linux驅(qū)動(dòng),這就是我的主要學(xué)習(xí)方法,這也是《嵌入式Linux應(yīng)用開發(fā)完全手冊(cè)》的章節(jié)順序。
3、電子發(fā)燒友:IP Camera帶音頻視頻功能、可以聯(lián)網(wǎng)互動(dòng),因此可能會(huì)被惡意入侵、隱私泄密,工程師如何做到保護(hù)?
韋東山:
IP Camera的使用涉及3個(gè)部件:用來錄像錄音的IP Camera、提供數(shù)據(jù)傳輸或存儲(chǔ)的服務(wù)器、觀看音視頻的客戶端(PC或手機(jī)等)。
我們會(huì)根據(jù)IP Camera的使用場景,為每一個(gè)階段提供數(shù)據(jù)保護(hù),比如:
a. 客戶拿到IP Camera時(shí),要登錄服務(wù)器注冊(cè)帳號(hào),并綁定設(shè)備。在服務(wù)器上的WEB服務(wù)就要注意隱私保護(hù),必要時(shí)引入手機(jī)驗(yàn)證。
b. 客戶端向服務(wù)器提出請(qǐng)求時(shí),要輸入用戶名和密碼,這可以參考Linux的遠(yuǎn)程登錄密碼驗(yàn)證功能。比如使用ssh協(xié)議登錄Linux服務(wù)器時(shí),會(huì)提示你輸入用戶名和密碼。相信這一套機(jī)制非常可靠,我們可以直接引用。
c. 三者之間傳輸數(shù)據(jù)時(shí),數(shù)據(jù)要先加密再傳輸。可以使用公用密鑰等加密方式。
d. 在服務(wù)器上存儲(chǔ)的數(shù)據(jù),如果你對(duì)安全保護(hù)不在行,可以使用大公司提供的云服務(wù)。
我只是給出一個(gè)思路,經(jīng)驗(yàn)不豐富。歡迎探討。
4、電子發(fā)燒友:IP Camera運(yùn)動(dòng)控制部分可以實(shí)現(xiàn)拍攝角度的調(diào)節(jié),能否通過自動(dòng)控制攝像頭的角度實(shí)現(xiàn)人臉、頭部信息的鎖定、實(shí)時(shí)運(yùn)動(dòng)捕捉,大概怎么實(shí)現(xiàn)的,能否介紹一下?
韋東山:
術(shù)業(yè)有專攻,圖像處理不是我們的專長。但是要做這一塊,我們會(huì)這樣做:先使用開源軟件比如OpenCV,如果它達(dá)不到要求,再求助于專業(yè)人士。
5、電子發(fā)燒友:傳統(tǒng)的Linux驅(qū)動(dòng)開發(fā)和Android驅(qū)動(dòng)開發(fā)有何區(qū)別?現(xiàn)在android那么火,它跟LINUX是什么關(guān)系?學(xué)好了你們的視頻,對(duì)學(xué)習(xí)android有何幫助?你們后續(xù)有無錄制android視頻的計(jì)劃?
韋東山:
簡單地說,Android驅(qū)動(dòng)=Linux驅(qū)動(dòng)+封裝。 Android應(yīng)用程序是使用java編寫的,Linux內(nèi)核和驅(qū)動(dòng)程序是使用C語言編寫的,java APP要訪問驅(qū)動(dòng)程序,這中間需要插入一個(gè)封裝接口。核心還是底下的Linux驅(qū)動(dòng)程序;對(duì)于封裝,你只要了解了封裝規(guī)則,基本就可以一通百通了。所以,如果你的目標(biāo)是掌握Android驅(qū)動(dòng),那么我們的視頻很適合你。我們后面也會(huì)講講Android驅(qū)動(dòng)的封裝,它不會(huì)太難。
對(duì)于Android應(yīng)用程序,可以認(rèn)為它跟Linux的關(guān)系不大。即使你沒有Linux知識(shí),也可以在1個(gè)月內(nèi)入門Android應(yīng)用開發(fā)──我只是說,你會(huì)開發(fā)簡單的界面。程序的核心永遠(yuǎn)是在界面之后,所以不要沾沾自得。比如手機(jī)游戲,背后的圖像處理算法、游戲的邏輯,這才是重點(diǎn)。如果你的目標(biāo)是掌握Android應(yīng)用,我反而覺得你應(yīng)該跳出“Android”來學(xué)習(xí)。應(yīng)用程序的領(lǐng)域?qū)嵲谔啵芯W(wǎng)絡(luò)、圖像處理、安全、搜索等等,由你的興趣來選擇方向吧。Android應(yīng)用只是一個(gè)人機(jī)界面,把背后的復(fù)雜系統(tǒng)展示給客戶來使用,如果你只滿足于“寫界面”,好吧,1個(gè)月速成,再花幾個(gè)月深入理解 Android的框架。容易上手的,就容易掉價(jià)。前幾年Android應(yīng)用開發(fā)由于會(huì)的人還不多,工資挺高;這兩年就開始往下掉了;要保住你的薪資水平,除了界面你還需要掌握“核心技能”:界面背后的支撐。
我沒有打擊Android應(yīng)用的意思,對(duì)于急于找到工作的人,我反而建議去學(xué)習(xí)Android應(yīng)用。你應(yīng)聘到工作后,公司自然會(huì)壓著你去了解產(chǎn)品的相關(guān)知識(shí),否則你也寫不出界面啊。
6、電子發(fā)燒友:工程師一般時(shí)間都是比較緊張的,您是在什么情況下寫的《嵌入式LINUX應(yīng)用開發(fā)完全手冊(cè)》這本書呢?這本書是想給大家分享些什么呢?
韋東山:
辭職寫的。我2005年自學(xué)Linux時(shí)在網(wǎng)上發(fā)布了“S3C2410完全開發(fā)流程”的學(xué)習(xí)筆記,被出版社的編輯看到。他們?cè)?006年聯(lián)系我寫書,那時(shí)我在中興上班。在公司上班期間,根本沒有時(shí)間寫書:工作累個(gè)半死,回來哪有精力寫。于是決定2007年辭職專門寫書。
我學(xué)習(xí)時(shí),大部分的知識(shí)都是從網(wǎng)上搜索得來,這需要耗費(fèi)巨大的精力去尋找,并且不系統(tǒng)。作為初學(xué)者,不知道去搜什么來入門,也不知道搜什么來深入。所以,我想出一套“完全教程”,讓零基礎(chǔ)的入只看這本書,就可以入門并掌握比較深的、工作中可以使用的知識(shí)。
好吧,其實(shí)也是被編輯以名利相誘,然后催我寫寫寫!
本文導(dǎo)航
- 第 1 頁:和中興資深工程師一起大啖Linux的設(shè)計(jì)與開發(fā)
- 第 2 頁:暢談從業(yè)以來兩大難題
- 第 3 頁:軟件?硬件?工程師的職業(yè)發(fā)展抉擇
上周熱點(diǎn)文章排行榜
上周資料下載排行榜
論壇熱帖
- LF開頭請(qǐng)問這個(gè)是什么封裝元器件 jf_77000477
- 【飛凌嵌入式OK3588J-C開發(fā)板體驗(yàn)】OK3588J-C開發(fā)板開箱評(píng)測 jf_43382582
- 【書籍評(píng)測活動(dòng)NO.52】基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化 ElecFans小喇叭
- 求一份CS32L010的相關(guān)資料(數(shù)據(jù)手冊(cè)、用戶手冊(cè)、Pack包和例程等),謝謝 jf_43621189
- 請(qǐng)問如何關(guān)閉獨(dú)立看門狗 jf_39582415
- 【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+閱讀濾波器章節(jié)部分筆記 james_87
熱門博文
論壇熱帖
Linux技術(shù)應(yīng)用
Linux資料下載
- Linux驅(qū)動(dòng)程序程序員指南
- Simplelink CC33xx校準(zhǔn)器工具用戶指南
- Wilink8高級(jí)特性
- Wilink8 Linux Wi-Fi驅(qū)動(dòng)程序R8.8版用戶指南
- 適用于AM335x TRF7970A的neard(Linux NFC)構(gòu)建說明
- 用于bq275xx電量計(jì)的WinCE/Linux驅(qū)動(dòng)程序
- DaVinci DVEVM/DVSDK 1.2的解碼演示
- 在DVEVM上通過ddd運(yùn)行Demo
- 在Linux主機(jī)和DVEVM之間使用靜態(tài)IP
- Linux上的編解碼器移植TMS320DM365預(yù)覽版
操作系統(tǒng)技術(shù)應(yīng)用
操作系統(tǒng)資料下載
- 使用CSL來補(bǔ)充操作系統(tǒng)調(diào)度程序處理級(jí)聯(lián)中斷
- 反射內(nèi)存產(chǎn)品使用手冊(cè)
- RZ/G多操作系統(tǒng)包V2.0.1的發(fā)行說明
- 用于非操作系統(tǒng)堆棧集成的PTX1xxR NFC POS-Reader API(SDK v7.2.x)用戶手冊(cè)
- Linux操作系統(tǒng)上的射頻測試模式應(yīng)用指南
- RZ/V多操作系統(tǒng)包V1.12發(fā)布說明
- RZ/G多操作系統(tǒng)包V2.0.0的發(fā)行說明
- 基于表驅(qū)動(dòng)的健康監(jiān)控機(jī)制實(shí)現(xiàn)方法
- 計(jì)算機(jī)智能卡登錄網(wǎng)絡(luò)版配置指導(dǎo)手冊(cè)
- 單芯片ASK發(fā)射器F113集成電路設(shè)計(jì)
熱評(píng)
- IR將功率半導(dǎo)體觸角伸往消費(fèi)市場
- 多功能算術(shù)/邏輯運(yùn)算單元(ALU) ,什么是多功能
- 動(dòng)態(tài)ip、靜態(tài)ip、pppoe撥號(hào)的區(qū)別
- ARM與MIPS的比較
- ThunderBolt端口驅(qū)動(dòng)及NET改WAP方法
- ds18b20中文資料詳解
- 滴滴人臉識(shí)別怎么破解
- 超級(jí)計(jì)算機(jī)榜單重新排名 中國天河二號(hào)已淪為世界第
- 電阻色環(huán)表_色環(huán)電阻識(shí)別方法
- iphone6概念機(jī)圖片曝光_iphone6上市時(shí)
博文
帖子
- 【書籍評(píng)測活動(dòng)NO.51】具身智能機(jī)器人系統(tǒng) | 了解AI的下一個(gè)浪潮! ElecFans小喇叭
- 請(qǐng)教關(guān)于CS1239低側(cè)采樣如何獲得使用更高的Gain? jf_94221193
- 高頻條件下的耦合線圈出現(xiàn)負(fù)值的原因是什么 jf_42363055
- 請(qǐng)問如何關(guān)閉獨(dú)立看門狗 jf_39582415
- ads1291雙電源供電時(shí),Thermal Pad接AVSS嗎? ggfx
- 【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】+03.SFP光口測試(zmj) 卿小小_9e6
- DAC7621的reference性能精度,可以使用外部輸入ref嗎? 萬物死
- 【「HarmonyOS NEXT啟程:零基礎(chǔ)構(gòu)建純血鴻蒙應(yīng)用」閱讀體驗(yàn)】+1-7章有感 夜孤影
- DIY了一臺(tái)無人機(jī),用全志T113芯片 文小二
- 電子產(chǎn)品結(jié)構(gòu)與導(dǎo)熱材料解決方案 jf_86221244
用戶評(píng)論
查看全部 條評(píng)論
查看全部 條評(píng)論>>