❶ 學習嵌入式開發要學習哪些知識
首先需要C語言基礎,數據結構,linux命令,網路編程,操作系統,資料庫,移植內核,驅動編程,各種匯流排知識,通信協議,硬體和軟體知識,上層和底層的軟體知識都需要有所了解,就算你不做具體的編程,也要知道一點工作原理,因為嵌入式開發需要考慮的是整個程序
❷ 學習Linux的步驟是怎樣的
對於Linux的學習,可以分為四個階段,Linux初級入門階段→Linux中級進階→Linux高級進階→Linux資深方向細化階段
第一階段:初級階段
初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線。
1. Linux基礎知識、基本命令;
2. Linux用戶及許可權基礎;
3. Linux系統進程管理進階;
4. linux高效文本、文件處理命令;
5. shell腳本入門
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎知識之後,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網路的相關知識,是需要花時間學習的。
1. TCP/IP網路基礎;
2. Linux企業常用服務;
3. Linux企業級安全原理和防範技巧;
4. 加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎;
5. iptables安全策略構建;
6. shell腳本進階;
7. MySQL應用原理及管理入門
第三階段:Linux高級進階
1. http服務代理緩存加速;
2. 企業級負載集群;
3. 企業級高可用集群;
4. 運維監控zabbix詳解;
5. 運維自動化學習;
第四階段:Linux資深方向細化
1. 大數據方向;
2. 雲計算方向;
3. 運維開發;
4. 自動化運維;
5. 運維架構師
以上是Linux的一個學習方向和路線,對於Linux學習是一個需要堅持的過程,也許通過自學或者培訓,3至6個月都可以把基本知識學會,但是重在實踐,深入的思考和不斷的摸索,你會發現Linux更多的美!
❸ linux Qt下,tcp文件傳輸
這個用抄不著QT。QT是C++寫的,C++兼容C。我這倒是有C語言寫的。你要的話把郵箱給我。我發給你。發給你的東西有很多其他的代碼。有聊天程序,有傳文件的程序(模擬scp)、還有shell。
你說 用getlp函數 得到的ip不對,可能是你選的連接類型是本地連接。用socket的時候你要用 AF_INET 而不是 AF_UNIX。
❹ 新手如何自學linux
談談如何學習
1、假如你從來接觸過Linux的話,首先要做的就找一本指導書來學習
2、現在公認的Linux的入門書籍是「鳥哥的私房菜」,講的很全面
鳥哥的私房菜一共分為兩部,一部是基礎篇,一部是伺服器篇
3、「鳥哥的私房菜」講的很全面,可能會包括一些已經過時的知識點,但是這本書是入門Linux必備
4、學習Linux的時候,或者學習其他網路知識的時候最重要的就是實踐操作
所以學習Linux,實踐操作是必不可少的
5、首先就是要裝一個Linux系統,鳥哥開始幾章會講Linux的由來以及怎樣安裝Linux的系統
6、安裝Linu系統來學習使用Vmware 虛擬機就行了,不用真機裝,沒必要
7、按照鳥哥私房菜書籍的步驟一步一步照著做,剛開始學習最好讓自己的學習環境跟書里的一致,這樣可以少很多麻煩,也不至於打擊你的學習興趣
8、裝完系統之後就是學習操作了,並且照著書里的操作一步步實踐
當然很多時候你會不明白,這個時候你可以網路一下,很多人說goole,但goole已經XXX網路完全解決你初學時時候遇到的問題
9、再然後就是進入某些Linux社區去看看,提問題,或者看看別人所遇到的問題,新手嗎?可以去新手頻道看看
我推薦的網站是紅聯社區的新手園地
10、 你看書的時候剛開始是通讀,然後是泛讀,最後是精讀,總之一定要讀多幾遍
11、等你第一次把書通讀一遍之後,可以選擇一些視頻來看
推薦是韓順平的Linux 或者上51cto的Linux 頻道,裡面有很多好的視頻,有些要收費,有些不用
一些初級基礎視頻一般是不收費的,而且講的也挺好
Linux視頻我推薦51cto的馬哥Linux,很不錯,很受歡迎
12、上面的這些只是入門,如果想繼續深入就要選擇一個老師專門系統的學習當然不是說找個老師,而是在網上找到一個教程講解不錯的老師,並且有高中低級系統的知識體系
一步步跟著學,這樣就差不多了
13、Linux是一個系統,一個平台,平常工作中應用的是工作在這個平台的軟體,鳥哥第二部伺服器篇就會講解這些,第二部伺服器篇就沒那麼容易看明白
14、這個時候就可以選擇用網路查找官方文檔,或是一些高手的經驗博文
不斷查找問題,解決問題
15、學習Linux的時候不要想一口氣把所有全部學完,基礎一定要打好
16、基礎篇和伺服器篇學的差不多的時候,找工作就行了
17、找到工作之後一定要繼續學習,因為Linux最注重的是實際工作中的經驗
18、要是你進入一個比較好的公司,各種平台環境都有,這個時候你要做的就是靜下心來學習,汲取養分,這樣以後往更高級走才有本錢!
19、總之剛開始你把鳥哥兩部學完就可以找工作了,至於往後的發展就是要你自己努力學習了,然後在通過公司中那些幾十萬百萬設備的環境,豐富自己的知識!
20、Linux 的工資高低,就是你遇到的問題越多,解決的越快,你的工資就高了
❺ Linux環境下C開發_linux搭建c語言開發環境
一:C語言嵌入式Linux工程師的學習需要具備一定的C語言基礎,C語言是嵌入式領域最重要也是最主要的編程語言,通過大量編程實例重點理解C語言的基礎編程以及高級編程知識。包括:基本數據類型、數組、指針、結構體、鏈表、文件操作、隊列、棧等。
二:Linux基礎Linux操作系統的概念、安裝方法,詳細了解Linux下的目錄結構、基本命令、編輯器VI,編譯器GCC,調試器GDB和Make項目管理工具,ShellMakefile腳本編寫等知識,嵌入式開發環境的搭建。
三:Linux系統編程重點學習標准I/O庫,Linux多任務編程中的多進程和多線程,以及進程間通信(pipe、FIFO、消息隊列、共享內存、signal、信號量等),同步與互斥對共享資源訪問控制等重要知識,主要提升對Linux應用開發的理解和代碼調試的能力。
四:Linux網路編程計算機網路在嵌入式Linux系統應用開發過程中使用非常廣泛,通過Linux網路發展、TCP/IP協議、socket編程、TCP網路編程、UDP網路編程、Web編程開發等方面入手,全面了解Linux網路應用程序開發。重點學習網路編程相關API,熟練掌握TCP協議伺服器的編程方法和並發伺服器的實現,了解HTTP協議及其實現方法,熟悉UDP廣播、多播的原理及編程方法,掌握混合C/S架構網路通信系統的設計,熟悉HTML,Javascript等Web編程技術及實現方法。
五:數據結構與演算法數據結構及演算法在嵌入式底層驅動、通信協議、及各種引擎開發中會得到大量應用,對其掌握的好壞直接影響程序的效率、簡潔及健壯旅瞎性。此階段的學習要重點理解數據結構與演算法的基礎內容,包括順序表、鏈表、隊列、棧、樹、圖、哈希表、各種查找排序演算法等應用及其C語言實現過程。
六:C、QTC是Linux應用開發主要語言之一,本階段重點掌握面向對象編程的基本思想以及C的重要內容。圖形界面編程是嵌入式開發中非常重要的一個環節。由於QT具有跨平台、面向對象、豐富API、支持2D/3D渲染、支持XML、多國語等強大功能,在嵌入式領域的GUI開發中得到了廣范的應用,在本階段通過基於QT圖形庫的學習使學員可以熟練編寫GUI程序,並移植QT應用程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、信息與槽機制的應用、滑鼠、鍵盤及繪圖事件處理及文件處理的應用。
七:CortexA8、Linux平台開發通過基於ARMCortex-A8處理s5pv210了解晶元手冊的基本閱讀技巧,掌握s5pv210系統資源、時鍾控制器、電源管理、異常中斷控制器、nandflash控制器等模塊,為底層平台搭建做好准備。Linux平台包括內核裁減、內核移植、交叉編譯、GNU工具使用、內核調試、Bootloader介紹、製作與原理分析、根文件系統製作以及向內核中添加自己的模塊,並在s5pv210實驗平台上運行自己製作的Linux系統,集成部署Linux系統整個流程。同時了解Android操作系統開發流程。Android系統是基於Linux平台的開源操作系統,該平台由操作系統、中間件、用戶界面和應用軟體組成,是首個為移動終端打造的真正開放和完整的移動軟體,目前它的應用不再局限於移動終端,還包括數據電視、機頂盒、PDA等消費類電子產品。
八:驅動開發拆顫空驅動程序設計是嵌入式Linux開發工作中重要的一部分,也是比較困難的一部分。本階洞租段的學習要熟悉Linux的內核機制、驅動程序與用戶級應用程序的介面,掌握系統對設備的並發操作。熟悉所開發硬體的工作原理,具備ARM硬體介面的基礎知識,熟悉ARMCortex-A8處理器s5pv210各資源、掌握Linux設備驅動原理框架,熟悉工程中常見Linux高級字元設備、塊設備、網路設備、USB設備等驅動開發,在工作中能獨立勝任底層驅動開發。
以上就是列出的關於一名合格嵌入式Linux開發工程師所必學的理論知識,其實,作為一個嵌入式開發人員,專業知識和項目經驗同樣重要,所以在我們的理論學習中也要有一定的項目實踐,鍛煉自己的項目開發能力。
❻ 怎樣用Qt編寫arm與linuxTCP通信程序,arm做伺服器,linux做客戶端,獲取arm上AD轉換器的值
1、可採用Linux下的socket編程技術,跟QT或ARM的關聯性不大。
2、ARM開發板上運行多線程的伺服器端程序,主線程Listen,子線程採集AD轉換器的值。
3、LinuxPC上運行tcp的客戶端程序,connect到ARM開發板上的伺服器進行數據獲取和展現。
❼ linux學習的步驟
教你一個快樂中學習linux的方式,就是安裝Fedora系統,要自己親手安裝,然後根據教程用命令配置內你的linux系統容,這里為什麼說讓你安裝fedora系統呢,就是因為此系統是命令操作為主的,能讓你更好的得到鍛煉,系統安裝好後,你只要用這個系統進行各種操作就可以了,例如看電影 聽音樂 聊QQ等等,前提是這些軟體你要手動去用命令去linux源安裝,在這些玩,用的過程中,你的linux知識不知不覺就提高了.遇到不會的操作就多找找教程,我覺得這個學習沒有步驟,因為你在使用linux系統時,對於linux 的知識已經在不斷加深了. 純手打,比較有誠意,復制一大篇根本沒意義.
❽ linux中怎麼用qt實現兩個進程間用共享內存通信
用QDbus可以完成。
或者通過網路TCP/IP也可以進行通信,還比較簡單點!
❾ 連接資料庫失敗:Access denied for user 'root'@'localhost' (using password: YES)
1、檢查環境正常
使用mysql -u root -p 可以進入MySQL操作界面
直接使用/usr/local/php5/bin/php /web/test.php執行可以連上資料庫
2、打開hosts加入
復制代碼代回碼如下答:127.0.0.1 qttc
使用qttc當主機連接也正常,唯獨就不認localhost。
3、localhost連接方式不同導致
為了了解PHP連接資料庫時,主機填寫localhost與其它的區別閱讀了大量資料,最後得知:
當主機填寫為localhost時mysql會採用 unix domain socket連接
當主機填寫為127.0.0.1時mysql會採用tcp方式連接
這是linux套接字網路的特性,win平台不會有這個問題
4、解決方法
在my.cnf的[mysql]區段里添加
復制代碼代碼如下:
protocol=tcp
保存重啟MySQL,問題解決!