一、基礎搭建
1.基礎:
? c語言? ? | 軟件編程語言 |
? 數據結構? ? | 軟件編程思想 |
2.驅動實現目標
- ? ? ? ? 如果將Linux系統細致到開發板平臺上?
- ? ? ? ? Liunx系統與硬件設備的適配
3.自我能力的鍛煉
- 繼續強化C語言
- 鍛煉大型代碼閱讀和分析能力
- 學習大型項目的代碼搭建和管理的能力
- 大型項目的軟件編程思想
- 硬件調試能力
- 軟件代碼的開發和集成能力
- Linux系統配置能力
4.Linux系統功能
(1)內存管理:虛擬地址和物理地址的映射和管理
(2)多任務的管理:管理多任務的狀態
(3)網絡的管理:網絡的協議棧
(4)多任務間的通信:進程、線程、管道、共享內存
(5)文件系統的管理
5.shell功能(用戶不能直接操作內核原因)
- 保障Linux內核安全
- shell命令解釋器
6.移植Linux系統到IMX6ULL平臺需要的文件列表
(1)bootloader:初始化硬件設備,引導內核啟動,為加載內核做準備? ? ? ? u-boot.imx
(2)內核鏡像:Linux內核核心代碼(屏蔽底層不同的硬件,為上層應用提供統一接口,實現5大功能)? ? ? ? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????zimage
(3)設備樹文件:硬件設備資源信息? ? ? ? ? ????????????????????????????????? ? ? imx6ull-alientek-emmc.dtb
(4)文件系統:與用戶交互的系統? ? ? ? ? ? ? ? ? ????????????????????????????????????????? ? ? rootfs.tar
7.IMX6ULL板子存儲圖
8.啟動方式
(1)USB啟動:上電后從USB連接的設備中讀取系統文件信息并啟動
(2)SD卡啟動:上電后從SD卡設備中讀取系統文件信息并啟動
(3)EMMC啟動:上電后從EMMC設備中讀取系統文件信息并啟動
(4)Nand Flash啟動(無法使用):上電后從Nand Flash設備中讀取系統文件信息并啟動
9.SD燒錄
Windows系統燒錄方法:
????????mfqtool:NXP官方提供的工具,實現系統燒錄,燒錄到SD卡上
二、配置Uboot啟動燒錄
1.燒錄原理
2.燒錄方式(3種)
(1)直接燒錄到emmc
(2)燒錄到SD卡
(3)每次從服務器下載,只把Uboot燒到SD中,Uboot起來之后,需要的文件,從Ubuntu中服務器下載,DDR又文件,通過NFS方式掛載在文件系統下,有點在于,重新修改內核和設備樹,只需要更新Ubuntu的文件,文件系統修改也可同步,Uboot不用更新
3.網絡配置
(1)NAT模式:
- ? ? ? ? (1)Windows有網,Ubuntu就有網
- ? ? ? ? (2)Ubuntu的IP地址是虛擬的
- ? ? ? ? (3)因為(2),所以NAT模式不能作為服務器,(band不了);
(2)橋接模式
- ? ? ? ? (1)Windows與Ubuntu公用同一個網卡,但網絡是獨立的;
- ? ? ? ? (2)Ubuntu的IP地址是獨立的
- ? ? ? ? (3)橋接模式可以作為服務器,上網比較難(網絡擁擠,需要的IP更多);
- ? ? ? ? (4)學校不得行!學校一個賬號只有一個IP地址;
ping -》 操作開發板(ifconfig)- 》串口線-》安裝minicom工具-》apt-get工具集
4..配置tftp服務器
????????配置tftp的管理目錄:下載從管理目錄中下載,上傳向管理目錄中上傳
5.配置nfs服務器
- 上電 ->SD卡啟動 ->uboot ->
- tftp 80800000 zImage
- tftp 83000000 imx6ull-alientek-emmc.dtb
- bootz 80800000-83000000
- ->uboot 設置bootargs 參數:說明文件系統通過nfs掛載到 192.168.1.100:/home/inux/nfs/rootfs 文件夾下