1. 程式人生 > >【JZ2440】【記錄】【如何學習一個新的晶片:S3C2440】

【JZ2440】【記錄】【如何學習一個新的晶片:S3C2440】

目錄:

    1、自身基礎介紹

    2、對嵌入式系統性的認識

    3、實際操作

        1)作業系統上手

        2)工具軟體的使用

1、基礎介紹  :

雖然以前學過51和430微控制器,但是,總結的少,也很盲目,隨便看看書和視訊後就開始讀程式碼,寫程式碼。雖然最開始讀51的例程程式碼確實讓我對微控制器程式設計有了一個入門級的理解,作用還是很大。但是,畢竟是C語言寫的,後續也沒有繼續的學習晶片的資源,所以對51、430內部結構、資源、操作方式完全不瞭解,只會對已經看過的程式做最基本的照葫蘆畫瓢式程式設計。現在學習S3C2440,用JZ2440開發板,希望把這些東西都梳理一遍。

 2、對嵌入式系統性的認識:

做了很長時間地準備工作了,總算把一些基本的東西弄明白:嵌入式是什麼、ARM指令集架構、ARM家族、S3C2440晶片和ARM920T指令集架構的區別、作業系統的結構(boot loader、核心組成、驅動程式和應用程式)、Linux指令基本操作等。

       (值得一提的是,當你對一個領域不瞭解時,廣獵相關書籍,可以讓你對這個領域有一個系統性的瞭解。原理性和系統性的東西,書籍能夠帶給人的還是更全面,別指望百度一下,幾個視訊給你講通了;另一方面,在對系統性東西瞭解後,開始做實際操作時,相關工具、具體的操作及具體目標板資源的介紹能夠讓人快速上手)

        在對概念和一個新作業系統結構瞭解之後,現在結合具體的嵌入式晶片:S3C2440,開始學習如何通過這款晶片做到對硬體的控制、晶片上的資源、和如何編譯並下載該晶片的程式碼。

        以上是由一些大的方向(什麼ARM歷史,架構,作業系統等)的廣獵嵌入式類書籍到一款具體嵌入式晶片學習的轉變,開始一些具體的學習和操作。2017.12.18

3、實際操作:

1)操作系統上手由於嵌入式多半是基於linux系統的裁剪,所以首先應該對Linux的操作進行熟悉;並且後來發現嵌入式Linux的程式碼90%還是在Linux系統上進行編譯的,所以實際操作Linux還是挺必要。

         繼上次在VMware的ubuntu下懵懵懂懂摸出第一個hello world程式後,明顯感覺到對Linux這個新的作業系統的不熟悉。甚至於,在該Linux系統下,我建的檔案在哪,怎樣修改檔案,怎樣為JZ2440編輯、編譯和下載程式,指令到底有哪些等等都感到很迷茫。

        首先想到的是先對這個異常陌生的作業系統Ubuntu的實際應用和上手。於是在圖書館找到了一本《Ubuntu Linux從入門到精通(版本9)》--邢國慶 仇鵬濤 陳極珺 編著的書,覺得還不錯。

        書中對Ubuntu的圖形介面,命令列操作,如何建檔案,刪檔案,Shell,及Shell Script的編寫等都有一定的介紹,並且有一些基本的命令講解。至少該書的前幾章節讓我對如何在Linux下用指令進行操作、其目錄結構、基本指令的應用這些非常實際的問題,有了一個新的認識和理解。知道一些操作後,發現指令是Linux作業系統下的精髓,遂就找了一本指令速查手冊《Linux指令範例速查手冊》—黃照鶴 等編著,用於對該作業系統下的指令有一個好的認識和學習。2017.12.20

 2)JZ2440程式的編輯、編譯、下載:經過不斷的折騰,如何在主機windows下編輯程式碼、宿主機linux下編譯程式碼、又怎樣回傳到Windows系統,並傳輸可執行檔案到目標板這一條通道總算弄通了。

         因為下載、編輯、編譯、系統之間的檔案傳輸等實際操作肯定要藉助一些工具,所以實際操作中首先是對各種工具的熟悉和使用。

          比如: 1、如何下載程式到目標板JZ2440,通過什麼方式,安裝什麼驅動,通過什麼軟體?

                      2、編輯軟體有哪些,在哪個系統下編輯?

                      3、編譯軟體有哪些,在哪個系統下編譯?

                      4、主機,虛擬機器上的Linux,目標板上的嵌入式linux三者之間檔案互傳工具有哪些,如何通訊?

        當然上面提到的工具種類需要結合具體的目標板上資源來講。

        比如JZ2440目標板上的串列埠轉USB介面,作用:是用來對目標板傳送命令,接收回傳資料並顯示的。那麼如何對這個串列埠轉USB介面進行操作、安裝什麼驅動、最後用什麼工具來發送這個命令和接收資料,這些都是由目標板的開發商提供並一步步講解的(作為小白,自己想要完全按照自己的來實在太困難)。在這個過程中我主要是結合該開發板的配套視訊和該開發板配套的書《嵌入式Linux應用開發完全手冊》韋東山 編著書上的一些工具講解、開發板上資源介紹,伴隨著百度,一步步掌握各種工具的作用和實際操作的,並於今天正式編輯、編譯並下載了第一個程式。

        值得慶幸的是:接下來終於輪到S3C2440晶片資源和目標板上硬體操作的學習,可以開始認識晶片資源並實際對目標板進行程式設計了。2018.1.11

                                                                                                                                       ——持續更新