回覆列表
  • 1 # HongyeLinux

    謝邀,首先你要有一部裝有linux系統的電腦或者是虛擬機器裡裝有linux,要麼是centOS要麼是ubuntu等。學習必須要動手才有印象,每天必須花兩個小時linux命令。看書建議看<<鳥哥linux私房菜>>。動手!!!動手!!!才是最重要!!

  • 2 # 李CODER

    微機原理

    因為不管是linux系統也好,還是windows作業系統,其根本的作用就是為應用程式和硬體搭起一座穩固的橋樑, 讓應用程式和硬體可以高效和諧的交流,就比如說一個遊戲軟體是怎麼讓一個小怪獸在螢幕上飛舞的呢,應用程式不可以直接控制電腦螢幕的,操作螢幕是應用程式委託系統代為完成的。 那作業系統是怎麼控制硬體的呢?如果想到這裡的話,那肯定要對硬體有所瞭解了, 比如cup,記憶體等知識。 微機原理其實就是讓你瞭解這些硬體怎麼工作的。

    c語言或者彙編

    在你學習cpu和記憶體怎麼工作的時候,肯定會學習到cpu跟記憶體相關的指令,這些指令就是組合語言。 因此,要明白cpu每一步怎麼執行的,就得熟悉下組合語言了,不過組合語言應該跟上面的微機原理是一起學的。 c語言為什麼要學呢,因為linux是用c編寫的,如果您在學習linux的時候非常熟悉c語言的話,學起來肯定是事半功倍的。 但是如果連c語言都不懂,對linux裡面的一些機制看起來就很費勁了,那學起來自然是事倍功半的。

    linux機器

    建議您在學習的時候,還是要準備一臺linux的機器的,因為沒有練習和使用,很難把計算機系統的知識點掌握好。 對於學生來說,一般有兩種方式使用linux:

    1. 裝雙系統 : 一般來講,學生的電腦都是windows的,因為要處理作業什麼的都是需要windows的,因此不太可能把自己的電腦換成linux系統的。但是我們可以選擇裝一個雙系統,教程在網路上都有。

    2. 在虛擬機器上裝linux : 如果嫌棄裝雙系統麻煩,可以在winodws上裝一個vm虛擬機器,然後在這個虛擬機器上面安裝linux。

    耐心

    學習任何計算機知識都是很枯燥的,就算課上一下子聽不懂也是非常正常的事情,希望您不要急躁,保持一顆平常心,有一個長遠的規劃和打算,一定能成才的。

  • 3 # 嵌入式軟硬體開發

    既然涉及到linux系統,那麼需要準備

    (1)先搭建linux的操作環境:在windows中安裝vmware虛擬機器,然後在虛擬機器中裝linux發行版作業系統(比如常見的ubuntu、fedora、centos等);

    (2)然後學習在linux環境下使用常用的命令,因為linux的GUI沒有windows中的好,所以要熟悉操作這些命令(可以參考我寫的文章:嵌入式軟體開發之《Linux命令專題》);

    (3)還需要具備C語言知識(可以參考我寫的文章:嵌入式Linux開發《C語言專題》),因為後續需要linux應用程式設計(涉及到Io檔案操作、多程序、多執行緒操作以及網路程式設計);掌握了這些知識之後,就可以在windows下編輯程式碼,linux中編譯程式碼,最後在電路板上執行程式碼;

    (4)還可以再看看Linux驅動內容(比如什麼是驅動?驅動的分類?重點掌握字元裝置驅動等),可以寫一些簡單的驅動。如果還具備組合語言更好,可以輔助你理解ARM彙編。如果這些你都熟練了,那麼你就相當牛了。

    不過,剛學linux時比較慢,也比較枯燥,所以一定要堅持,一定要熟悉常用的linux命令,否則寸步難行,熟練掌握C語言。有時間可以再看看linux應用程式設計、驅動等。畢竟驅動是有難度的。掌握這些內容可以從事嵌入式linux軟體開發等工作。

  • 4 # 小5嵌入式

    說說自己的一點經驗之談吧。

    一.要是隻是單純的學習linux系統,其實我感覺真的不需要去刻意的準備什麼,但是還是需要去注意一下我認為的以下幾個點吧:

    1.環境的搭建,需要提前去做一些功課,不管是搭建虛擬機器也好,還是搭建雙系統都可以,這些工作其實都非常的簡單,資料網上大把的是。在學習的時候,個人推薦使用雙系統,windows+ubuntu。

    2.要拋棄掉windows的使用習慣,再不要指望處處都有使用者介面了,要慢慢的接受bash下的指令操作,這個習慣的養成是非常重要的。

    3.要在學習的過程中記住一些常規的linux指令,這個是必須的。

    4.學習一點shell程式設計,這其實linux就有一點入門了。

    二.學linux你其實也知道你是用來幹啥的,有了linux的簡單入門,在加上你要主攻的方向你就離成功就更近了一步了。假如你想做嵌入式開發的,那這裡面你要接觸的知識點就太多了,可以說不勝列舉。簡單的舉兩個例子吧。

    1.假如是linux c的,那肯定你需要有紮實的c語言功底,這是基礎。你還要選擇一個平臺,大多數都是arm了,那麼你對這些板子必選要了解,一般的產品肯定不會在pc上跑的,肯定是在pc機上開發,交叉編譯到arm上的。這擴展出來的有,應用層的開發,驅動層的開發,核心層的開發等等。這些隨便精通一個,基本上就不愁沒有工作了,並且待遇一般還不錯的。

    2.假如是嵌入式客戶端的開發。那常規的就是qt了,一個跨平臺的好東西。這個你需要了解的就是qt和c++了,然後在學習你涉及的專案中要特定用到的知識了,假如要做影片播放器,那音影片方便的知識你是必須瞭解的,音效卡,顯示卡的驅動這些知識你也瞭解。太多了。

    方向太多了,哎,學海無涯啊。祝你好運了。

  • 中秋節和大豐收的關聯?
  • 學生黨假期想看篇幅較長的中國產電視劇,有什麼適合的嗎?