linux的系统移植——序言
1.單片機裸機和帶有操作系統OS的區別
\qquad裸機有三層,從上至下依次為:應用層、驅動層、硬件層;而帶有OS的單片機有四層,從上至下依次為:應用層、內核層、驅動層、硬件層。
2.系統移植學習內容
\qquad四大塊:搭建交叉編譯環境、bootloader的選擇和移植、kernel的配置,編譯,移植和調試、根文件系統的制作
3.系統移植的基本步驟
3.1 確定目標機(單片機)和主機(PC電腦)的連接方式
\qquad目前,基本有四種連接方式:
\qquadUART異步串行通信接口(串口)
| UART異步串行通信接口(串口) | 速率低,實用性強,可以輸入輸出 |
| USB串行通信接口 | 速度快,驅動要移植修改 |
| TCP/IP網絡通信接口 | 速度快,驅動要移植 |
| Debug Jtag調試接口 | 方便快捷,價格高 |
3.2安裝交叉編譯器
\qquadgcc是基于X86架構,所以它編譯出來的文件在ARM上運行不起來,所以需要交叉編譯器,編譯出可以在ARM上運行的文件。
\qquad交叉編譯器的來源:1.安裝芯片廠商已經編譯好的交叉工具鏈,比如arm-none-linux-gnueabi-,arm-none-eabi-,arm-linux-,arm-elf-…2.自己動手編譯交叉工具鏈,自己制作。
\qquad交叉編譯器的名稱:arm:最終生成的體系結構目標;none:廠商名;linux:交叉工具鏈編譯出來的程序是針對linux系統運行的;gnueabi:gnu表示開源,eabi表示嵌入式的調用標準接口。
\qquad有時候會看到arm-linux-,這是表示一個軟連接,輸入arm-linux-相當于輸入arm-none-linux-gnueabi-
\qquadarm-none-eabi-:不支持操作系統
\qquadarm-elf-:特別老的編譯工具鏈,很少見到。
3.3搭建主機和目標機傳輸通道
\qquad網絡相關服務配置:TFTP和NSH是最常用的
3.4 編譯三大子系統
\qquadBootLoader子系統、內核核心子系統、文件系統子系統
3.5 燒寫測試
總結
以上是生活随笔為你收集整理的linux的系统移植——序言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java-弹簧布局(自适应窗口)
- 下一篇: linux的常用操作——程序调试gdb