日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统组成

發布時間:2024/7/5 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统组成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?1 系統組成

? BootLoader:操作系統引導程序

? 內核:

? 文件系統:應用程序(用戶開發的、網上下載的)

2 安裝USB驅動

dongry@d-linux:~$ insmod usb_dnw.ko //安裝USB驅動 dongry@d-linux:~$ kernel:GuoQian USB driver for DMW! //出現這一句說明驅動安裝成功

3 查看驅動是否啟動

dongry@d-linux:~$lsmod //查看驅動是否啟動當中

出現usb dnw說明驅動已經啟動

4 Linux系統安裝

? 首先SEGGER J-FLASH ARM將引導安裝程序下載到NOR flash;(引導安裝程序通過JTAG下載到開發板的NOR flash),NOR flash通過USB下載線下載到NAND flash。

? 注:Nand flash相當硬盤

? 系統安裝步驟:

? (1)一切連接就緒后(開發板串口與PC機、開發板USB與PC機等)打開軟件SecureCRT并連接好出現如下界面

? ? (2)系統要安裝到Nand flash,首先要格式化一下:

? ? (3)然后安裝BootLoader

? ? 把文件下載到內存當中,然后安裝服務程序會自動到內存中取這個文件,然后燒錄到Nand Flash中

? ? (4)安裝Linux內核

?

?? (5)下載文件系統

? ? 下載完成

5 如果找不到arm-linux-gcc安裝路徑可以修改bash環境路徑

dongry@d-linux:~$vim /root/.bashrc //只是一個例子,安裝路徑可能不同

dongry@d-linux:~$vim /root/.bashrc //創建路徑 dongry@d-linux:~$source /root/.bashrc //讓路徑生效

6 交叉編譯鏈工具實例

?

/*********************************** 假如在led文件中有led.lds led.S Makefiles三個文件 **************************************/ dongry@d-linux:~$ cd leddongry@d-linux:~/led$ ls led.lds led.S Makefiledongry@d-linux:~/led$ arm-linux-gcc -g -c led.S //讓led.S生成一個編譯文件.o dongry@d-linux:~/led$ ls led.lds led.o led.S Makefiledongry@d-linux:~/led$ arm-linux-ld -Tled.lds -o led.elf led.o //讓led.o生成一個.elf文件 dongry@d-linux:~/led$ ls led.elf led.lds led.o led.S Makefiledongry@d-linux:~/led$ arm-linux-objcopy -O binary led.elf led.bin //生成一個.bin的二進制文件 dongry@d-linux:~/led$ ls led.elf led.lds led.o led.S led.bin Makefiledongry@d-linux:~/led$ make clean //刪除剛才編譯的各種文件 dongry@d-linux:~/led$ ls led.lds led.S Makefiledongry@d-linux:~/led$ make led.elf led.lds led.o led.S led.bin Makefile

?7 下載二進制文件到裸機

dongry@d-linux:~$ ./dnw ./led.bin 30008000 //按回車//出現:addr=30008000File name:./led.binFile size: 252 bytesStart Seeding data...Seet 100% 262 bytes 10k

?8 鏈接器腳本

? 鏈接器腳本組成:段、起始鏈接地址、對齊、變量、代碼段首文件

??https://www.cnblogs.com/li-hao/p/4107964.html

8.1 鏈接器腳本的創建

? (1)創建段信息(包括代碼段、數據段、bss段)

SECTION {.text : //創建代碼段 {*(.text)}.data : //創建數據段 {*(.data)}.bss : //創建bss段 {*(.bss) } }

? (2)設置起始鏈接地址

SECTION {. =0x00000000//設置起始鏈接地址.text : {*(.text)}.data : {*(.data)}.bss : {*(.bss) } }

? (3)對齊

SECTION {. =0x00000000; . =ALION(4); //四字節對齊 .text : {*(.text)}. =ALION(4); //四字節對齊 .data : {*(.data)}. =ALION(4); //四字節對齊 .bss : {*(.bss) } }

? (4)變量

SECTION {. =0x00000000; . =ALION(4); .text : {*(.text)}. =ALION(4); .data : {*(.data)}. =ALION(4); bss_start = . ; //變量 .bss : {*(.bss) }bss_end = . ; //變量 }

? (5)代碼段首文件

SECTION {. =0x00000000; . =ALION(4); .text : {start.o(.text) //代碼段首文件*(.text)}. =ALION(4); .data : {*(.data)}. =ALION(4); bss_start = . ; .bss : {*(.bss) }bss_end = . ; }

8.2 運行鏈接器腳本

arm-linux-ld -Tled.lds start.o main.o -o led.elf //生成.elf文件 arm-linux-objcopy -O binary -S led.elf led.bin //生成二進制文件 arm-linux-objdump -D -S led.elf > dump //反匯編

?

轉載于:https://www.cnblogs.com/dongry/p/10395719.html

總結

以上是生活随笔為你收集整理的Linux系统组成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。