嵌入式Linux實(shí)驗(yàn)一 Linux常用命令
《嵌入式Linux實(shí)驗(yàn)一 Linux常用命令》由會員分享,可在線閱讀,更多相關(guān)《嵌入式Linux實(shí)驗(yàn)一 Linux常用命令(21頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、- **師范大學(xué)協(xié)和學(xué)院 本科實(shí)驗(yàn)報(bào)告 課程名稱: 嵌入式系統(tǒng) 系 別: 信息技術(shù)系2021級 專 業(yè): 通信工程 班 級: 2班 學(xué) 號: 0 學(xué)生**: 謝志杰 2021 年 6月 1 日 實(shí)驗(yàn)工程列表 序號 實(shí)驗(yàn)工程名稱 學(xué)時 備注 1 實(shí)驗(yàn)一 Linu*常用命令 2 2 實(shí)驗(yàn)二 Linu*下C語言開發(fā)環(huán)境 2 3 實(shí)驗(yàn)三 嵌入式Linu*開發(fā)環(huán)境 2
2、 4 實(shí)驗(yàn)四 嵌入式Linu*系統(tǒng)的下載 2 5 實(shí)驗(yàn)五 BootLoader 2 6 實(shí)驗(yàn)六 內(nèi)核和根文件系統(tǒng) 2 7 實(shí)驗(yàn)七 文件IO編程進(jìn)程控制編程 2 8 實(shí)驗(yàn)八 進(jìn)程控制編程 2 **師范大學(xué)協(xié)和學(xué)院"嵌入式系統(tǒng)"實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)日期: 2021 年 2 月 28 日 **: 0 **: 謝志杰 實(shí)驗(yàn)臺: D1 組員**: 謝志杰、洪劍鋒 實(shí)驗(yàn)一 L
3、inu*常用命令 一、實(shí)驗(yàn)?zāi)康? 1.熟悉VMware Workstation虛擬機(jī)的使用 2.了解Linu*系統(tǒng)的啟動、登錄及關(guān)閉方法 3.學(xué)習(xí)和掌握Linu*系統(tǒng)的常用命令 二、實(shí)驗(yàn)環(huán)境 硬件:PC機(jī)一臺 軟件:VMware Workstation虛擬機(jī)和Linu*操作系統(tǒng) 三、實(shí)驗(yàn)內(nèi)容及步驟 1.準(zhǔn)備工作 1〕登錄系統(tǒng):在虛擬機(jī)中啟動Linu*系統(tǒng),啟動系統(tǒng)后需要輸入用戶名和密碼,這里用root用戶登錄,密碼123456; 2〕啟動終端:在桌面右鍵->選擇"在終端中運(yùn)行〞或選擇應(yīng)用程序->系統(tǒng)工具->終端; 3〕在終端中執(zhí)行Linu*命令,就可以在這里輸入Linu*
4、命令,并按回車鍵執(zhí)行。 2.使用Linu*常用命令,運(yùn)行以下例子并查看結(jié)果〔將運(yùn)行結(jié)果截圖并保存〕: 〔1〕文件與目錄相關(guān)命令的使用 1〕查詢/bin目錄,看一看有哪些常用的命令文件在該目錄下: ll /bin 2〕進(jìn)入/tmp目錄下,新建目錄myshare: cd /tmp mkdir myshare ls -ld myshare 3〕用pwd命令查看當(dāng)前所在的目錄 pwd 4〕新建testfile文件: touch testfile ls -l 5〕設(shè)置該文件
5、的權(quán)限模式為-rw*r-*r-*: chmod 755 testfile ls -l testfile 6〕把該文件備份到/tmp/myshare目錄下,并改名為testfile.bak: cp testfile myshare/testfile.bak ls -l myshare/ 7〕在/root目錄下為該文件創(chuàng)立1個符號連接: ln -s /tmp/testfile /root/testfile.ln ls -l /root/testfile.ln 8〕搜索inittab文件
6、中含有initdefault字符串的行: cat /etc/inittab | grep initdefault 〔2〕磁盤管理與維護(hù)命令的使用 1〕確認(rèn)光驅(qū)對應(yīng)的設(shè)備文件: ll /dev/cdrom ls /mnt 2〕掛載光盤 mount /dev/cdrom /mnt 3〕查看掛載后的目錄: ls /mnt 4〕卸載光盤 umount /mnt 〔3〕系統(tǒng)管理與設(shè)置命令的使用 1〕查看系統(tǒng)所有進(jìn)程: ps -ef 2〕查找ssh效勞守護(hù)進(jìn)程的進(jìn)程ID號:
7、 ps -ef |grep sshd 3〕假設(shè)ssh效勞守護(hù)進(jìn)程出現(xiàn)了問題,則強(qiáng)制殺掉該進(jìn)程并再次查看: kill -9 進(jìn)程ID號 ps -ef |grep sshd 〔4〕網(wǎng)絡(luò)相關(guān)命令的使用 1〕顯示當(dāng)前網(wǎng)絡(luò)的信息: ifconfig 2〕設(shè)置網(wǎng)卡eth0的IP地址為192.168.1.10: 3〕禁用網(wǎng)卡eth0: ifconfig eth0 down 4〕測試本機(jī)網(wǎng)絡(luò)的連通性: 〔5〕壓縮備份命令的使用 1〕把/tmp目錄打包成tmp.tar,放到/root目錄下: tar cf /root/tmp.tar /
8、tmp/* 2〕把/tmp目錄壓縮打包成tmp.tar.gz,放到/root目錄下: tar zcvf /root/tmp.tar.gz /tmp/* 3〕比較tmp.tar 和 tmp.tar.gz的大小 4〕不解包只查看壓縮包tmp.tar.gz的內(nèi)容: 5〕解壓tmp.tar.gz的內(nèi)容到/tmp/myshare目錄: tar z*vf /root/tmp.tar.gz -C /tmp/myshare/ 四、實(shí)驗(yàn)結(jié)果〔粘貼執(zhí)行結(jié)果截圖〕 〔1〕 〔2〕 〔3〕 〔4〕 〔5〕 五、 實(shí)驗(yàn)小結(jié)〔對實(shí)驗(yàn)現(xiàn)象、實(shí)驗(yàn)故障及處理方法、實(shí)驗(yàn)中存在的問
9、題等進(jìn)展分析和討論?!? 我們在做實(shí)驗(yàn)的過程中,遇到了兩個問題,后面通過檢查和比對發(fā)現(xiàn)漏掉了空格和斜杠。在這個實(shí)驗(yàn)中了解到了根本的linus命令的操作。接下去我會用更多的時間去多加熟悉這些命令以及對所遇到的問題進(jìn)展反思。 **師范大學(xué)協(xié)和學(xué)院"嵌入式Linu*"實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)日期: 2021 年 3 月 14 日 **: 0 **: 謝志杰 實(shí)驗(yàn)臺: D1 組員**: 謝志杰、洪劍鋒 實(shí)驗(yàn)二 Linu*下C語言開發(fā)環(huán)
10、境 一、實(shí)驗(yàn)?zāi)康? 1.熟悉Linu*下C語言開發(fā)環(huán)境 2.掌握Vi、GCC和GDB的使用 3. 掌握Makefile文件的編寫 3.學(xué)習(xí)和掌握Linu*下C語言程序設(shè)計(jì)流程 二、實(shí)驗(yàn)環(huán)境 硬件:PC機(jī)一臺 軟件:VMware Workstation虛擬機(jī)和Linu*操作系統(tǒng) 三、實(shí)驗(yàn)內(nèi)容及步驟 1. 準(zhǔn)備工作 〔1〕登錄系統(tǒng):在虛擬機(jī)中啟動Linu*系統(tǒng),啟動系統(tǒng)后需要輸入用戶名和密碼,這里用root用戶登錄,密碼123456; 〔2〕啟動終端:在桌面右鍵->選擇"在終端中運(yùn)行〞或選擇應(yīng)用程序->系統(tǒng)工具->終端; 〔3〕在終端中執(zhí)行Linu*命令,就可以在這里輸入L
11、inu*命令,并按回車鍵執(zhí)行。 2.〔1〕使用vim編輯源程序,在終端中輸入"vim hello.c〞,然后按以下列圖輸入源代碼,編輯完成后存盤,退出vim。 圖2-1 編輯源代碼 〔2〕編譯源代碼:在終端下輸入"gcc hello.c – o hello〞進(jìn)展編譯。 〔3〕運(yùn)行程序:在終端下輸入"./hello〞查看程序運(yùn)行結(jié)果〔結(jié)果截圖〕 3. GCC編輯器的使用 仍使用第2題的hello.c代碼〔以下5小題全執(zhí)行完后截圖〕 〔1〕預(yù)處理階段,使用GCC的選項(xiàng)"-E〞,生成hello.c的預(yù)處理文件hello.i : 命令:gcc -E hello.c -
12、o hello.i 〔2〕編譯階段,使用GCC的選項(xiàng)"-S〞,只編譯不匯編,生成匯編代碼hello.s : 命令:gcc -S hello.i -o hello.s (3) 匯編階段,使用GCC的選項(xiàng)"-c〞,只匯編不,生成二進(jìn)制目標(biāo)代碼hello.o: 命令:gcc -c hello.s -o hello.o (4) 階段,將生成的*.o的二進(jìn)制目標(biāo)文件進(jìn)展,生成可執(zhí)行文件: 命令:gcc hello.o -o hello (5) 查看這四個階段生成的所有文件,并運(yùn)行可執(zhí)行文件: 命令:ls ./hello 4. GDB根本命令
13、的使用
GDB所提供的功能,使用Vim編輯源程序,在終端輸入"vim greet.c〞,輸入如下源代碼,編輯完成后存盤。此代碼的功能為輸出倒序main函數(shù)中定義的字符串,但結(jié)果沒有輸出顯示,現(xiàn)通過調(diào)試的方式來解決程序中存在的問題,程序源代碼如下〔見Page 379-380〕:
1 *include
14、 { 8 char string[] = "Embeded Linu*"; 9 display1(string); 10 display2(string); 11 return 0; 12 } 13 int display1(char *string) 14 { 15 printf("The original string is %s \n", string ); 16 } 17 int display2(char *string1) 18 { 19 char *string2; 20 int s
15、ize , i;
21 size = strlen(string1);
22 string2 = (char *)malloc(size + 1);
23 for(i=0; i 16、-o greet
(2) 運(yùn)行g(shù)reet:
./greet
見結(jié)果可見改程序沒有能夠倒序輸出
(3) 啟動GDB調(diào)試:gdb greet
查看源代碼:list 〔或l〕
在23行〔for循環(huán)處〕設(shè)置斷點(diǎn):b 23
在26行〔printf函數(shù)出〕設(shè)置斷點(diǎn):b 26
查看斷點(diǎn)設(shè)置情況:info b
運(yùn)行代碼:run 〔或r〕
單步運(yùn)行代碼:n
查看暫停點(diǎn)變量值:p string2[size-i]
繼續(xù)單步運(yùn)行代碼數(shù)次,并使用命令查看,發(fā)現(xiàn)string2[size-1]的值正確
繼續(xù)運(yùn)行程序:continue 〔或c〕
程序在printf前停頓運(yùn)行,此時依 17、次查看string2[0],string2[1], …,發(fā)現(xiàn)string[0]沒有被正確賦值,而后面的復(fù)制都是正確的,這是,定位程序第24行,發(fā)現(xiàn)程序運(yùn)行結(jié)果錯誤的原因在于"size-1〞。由于i只能增到"size - 1〞,這樣string2[0]就永遠(yuǎn)不能被賦值而保持null,故輸不出任何結(jié)果。
退出GDB: quit 〔或q〕
重新編輯greet.c, 把其中的"string2[size - i] = string1[i]〞改為"string2[size - i - 1] = string1[i];〞即可。
使用GCC重新編譯,查看運(yùn)行結(jié)果:./greet 〔調(diào)試過程及程序運(yùn)行結(jié) 18、果截圖〕
5. Make工程管理器的使用
仍使用第2題的hello.c代碼
(1) 編寫makefile文件:利用vim文本編輯器創(chuàng)立一個makefile文件,并將其保存到與hello.c一樣的目錄下,注意:命令前的縮進(jìn)必須用Tab鍵。
CC = gcc
hello: hello.o
$(CC) hello.o -o hello
hello.o : hello.c
$(CC) -c hello.c -o hello.o
clean:
rm hello.o hello
(2) 使用Make編譯工程。
1〕執(zhí)行make,查看并記錄所生成的文件和運(yùn)行的結(jié)果: 19、make
2〕執(zhí)行clean,去除編譯生成的所有文件:
make clean
ls
*6. 熟悉 Eclipse集成開發(fā)環(huán)境。
四、實(shí)驗(yàn)結(jié)果〔粘貼執(zhí)行結(jié)果截圖〕
2.
3.
4.
5.
六、 實(shí)驗(yàn)小結(jié)〔對實(shí)驗(yàn)現(xiàn)象、實(shí)驗(yàn)故障及處理方法、實(shí)驗(yàn)中存在的問題等進(jìn)展分析和討論?!?
熟悉Linu*下C語言開發(fā)環(huán)境,掌握Vi、GCC和GDB的使用,掌握Makefile文件的編寫
學(xué)習(xí)和掌握Linu*下C語言程序設(shè)計(jì)流程.
實(shí)驗(yàn)過程中更加穩(wěn)固了所學(xué)的命令。
**師范大學(xué)協(xié)和學(xué)院"嵌入式Linu*"實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)日期: 2021 年 3 月 28 20、 日
**: 0 **: 謝志杰
實(shí)驗(yàn)臺: D1 組員**: 謝志杰、洪劍鋒
實(shí)驗(yàn)三 嵌入式Linu*開發(fā)環(huán)境
一、實(shí)驗(yàn)?zāi)康?
1.熟悉嵌入式硬件開發(fā)平臺。
2.熟悉嵌入式軟件開發(fā)工具的使用。
3. 掌握穿插編譯方法。
二、實(shí)驗(yàn)環(huán)境
硬件:PC機(jī)、ARM實(shí)驗(yàn)板及相關(guān)配件
軟件:VMware Workstation虛擬機(jī)、Linu*操作系統(tǒng)、Samba、nfs和SecureCRT
三、實(shí)驗(yàn)內(nèi)容及步驟
1. 安裝VMware Tools 21、實(shí)現(xiàn)Windows與Linu*文件共享〔參考課本P87〕
1〕翻開虛擬機(jī)菜單VM->Install VMware Tools命令,此時虛擬時機(jī)將VMware Tools安裝鏡像加載到虛擬機(jī)的Linu*系統(tǒng)中
2〕翻開Linu*終端,
進(jìn)入VMware安裝目錄:*cd /media/VMware\Tools/
解壓安裝文件:*tar -*vzf VMwareTools--9.2.3-10313360.tar.gz -C /opt
〔VMware安裝版本根據(jù)自己電腦上的版本進(jìn)展更改,建議用Tab補(bǔ)全〕
進(jìn)入解壓后的文件目錄: 22、*cd /opt/vmware-tools-distrib/
執(zhí)行安裝程序:./vmware-install.pl
隨后會出現(xiàn)安裝選項(xiàng)需用戶確認(rèn),可使用回車鍵,即選擇默認(rèn)選項(xiàng);
設(shè)置虛擬機(jī)中Linu*與主機(jī)之間的共享文件夾:在Windows任意路徑下建立一個文件夾,記住此路徑;VM->Settings->option〔選項(xiàng)〕,在出現(xiàn)的對話框,選擇Shared Folders,在右側(cè)單項(xiàng)選擇按鈕選擇Always enabled;單機(jī)Add按鈕,然后在出現(xiàn)的對話框中選擇windows下的共享文件夾路徑->NE*T->Enable this share->Finish 23、;隨后即可在虛擬機(jī)Linu*下的/mnt/hgfs/共享文件夾名中進(jìn)展文件共享了
進(jìn)入后就可以自由在Windows和Linu*之間進(jìn)展文件共享了:在Windows共享文件夾下新建一個hello.c文件,然后在Linu*下查看該文件。〔截圖〕
2. 安裝穿插編譯工具
Linu*系統(tǒng)里的gcc編譯出的可執(zhí)行文件并不能在嵌入式平臺上運(yùn)行,故需要安裝能夠編譯出可在嵌入式平臺上運(yùn)行程序的穿插編譯工具。
1) 將D:/RedHat Linu*/ARM-tools.tar.gz復(fù)制到共享文件夾目錄下?!布僭O(shè)權(quán)限不夠,則更改該目錄的權(quán)限:chmod 777 -R ./〕。
解壓后進(jìn) 24、入ARM-tools目錄,可查看到有以下文件:
2) 解壓穿插編譯公交arm-linu*-gcc到根目錄下:
*tar *vzf arm-linu*-gcc-4.3.2.tgz -C /
實(shí)際是穿插工具是解壓到了/usr/local/arm/4.3.2目錄下了,可用ls 命令查看
3) 翻開.bashrc,修改環(huán)境變量:*vim /root/.bashrc
修改完之后,關(guān)閉該文件
4) 使環(huán)境變量生效:*source /root/.bashrc
5) 試運(yùn)行該穿插工具:*arm-linu*-gcc
假設(shè)結(jié)果 25、為no input files即配置成功,只是目前還未輸入要編譯的文件?!步貓D〕
3. 嵌入式實(shí)驗(yàn)板和PC機(jī)串口通信
使用串口線將開發(fā)板和PC機(jī)相連,假設(shè)主機(jī)沒有DB9串口,則使用usb轉(zhuǎn)串口模塊
1〕驅(qū)動芯片型號為PL2303,先找到usb-pl2303驅(qū)動文件,再安裝該usb轉(zhuǎn)串口驅(qū)動,
2〕將該串口和開發(fā)板相連接,在設(shè)備管理器中查看該設(shè)備的串口號";
3〕翻開SecureCRT.e*e,選Options->Global options設(shè)置串口通信模式,波特率等。
4) 點(diǎn)擊連接按鈕,選中自己的串口號
5) 將嵌入式實(shí)驗(yàn)板連接電源,翻開電源,可看到SecureCRT輸出登 26、錄Linu*的信息。按一下Enter鍵,進(jìn)入命令模式?!步貓D〕
4. 穿插開發(fā)
3〕編輯一個簡單的Hello World!程序,該操作在主機(jī)的Linu*下完成。
4〕通過穿插編譯器arm-linu*-gcc對該程序進(jìn)展編譯,生成可執(zhí)行文件hello-arm
5〕同時通過編譯器gcc對該程序進(jìn)展編譯,生成可執(zhí)行代碼hello-*86
6〕在Linu*系統(tǒng)下分別運(yùn)行以上兩個文件,并查看執(zhí)行結(jié)果〔截圖〕
7〕將這兩個文件通過Samba拷貝到u盤,將u盤插入嵌入式開發(fā)板,開發(fā)板將自動掛載U盤,進(jìn)入目錄中查看:cd /udisk
ls 27、
查看是否有剛剛拷貝過來的hello-arm和hello-*86兩個可執(zhí)行文件
8〕有則分別執(zhí)行這兩個可執(zhí)行文件,查看運(yùn)行結(jié)果?!步貓D〕
四、實(shí)驗(yàn)結(jié)果〔粘貼執(zhí)行結(jié)果截圖〕
1.
2.
3.
七、 實(shí)驗(yàn)小結(jié)〔對實(shí)驗(yàn)現(xiàn)象、實(shí)驗(yàn)故障及處理方法、實(shí)驗(yàn)中存在的問題等進(jìn)展分析和討論?!?
成功安裝了VM tools工具和穿插編譯工具,學(xué)會了通過串口將Linu*和開發(fā)板連接起來并學(xué)會了操作命令。其實(shí)安裝VM tools工具用到的比較多的命令有的還沒學(xué)到,通過教師的幫助才成功安裝,在本次試驗(yàn)讓我對Linu*操作系統(tǒng)產(chǎn)生了更濃厚的興趣,功能很強(qiáng)大。
八、 思考題
1. 為 28、什么要使用穿插編譯,穿插編譯出的可執(zhí)行程序能在主機(jī)上運(yùn)行嗎.
對于嵌入式Linu*開發(fā),由于嵌入式設(shè)備的資源限制,不能在嵌入式設(shè)備上完成整個軟件的開發(fā),所以需要用到穿插編譯??梢缘?。
**師范大學(xué)協(xié)和學(xué)院"嵌入式系統(tǒng)"實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)日期: 2021 年 4 月 11 日
**: 0 **: 謝志杰
實(shí)驗(yàn)臺: A1 組員**: 謝志杰、洪劍鋒
實(shí)驗(yàn)四 嵌入式Linu*系統(tǒng)的下載
一、實(shí)驗(yàn)?zāi)康?
1. 熟悉嵌入式硬件開發(fā)平臺。
29、
2. 熟悉Windows系統(tǒng)下將嵌入式Linu*的下載方法。
3. 熟悉Linu*系統(tǒng)下嵌入式Linu*系統(tǒng)的下載方法。
二、實(shí)驗(yàn)環(huán)境
硬件:PC機(jī)、ARM實(shí)驗(yàn)板及相關(guān)配件
軟件:VMware Workstation虛擬機(jī)、Linu*操作系統(tǒng)、Samba、nfs和SecureCRT
三、實(shí)驗(yàn)內(nèi)容及步驟
1. 系統(tǒng)下載準(zhǔn)備
〔1〕安裝USB轉(zhuǎn)串口驅(qū)動:路徑D:\RedHat Linu*\嵌入式Linu*課程軟件集\USB轉(zhuǎn)串口驅(qū)動\PL2303;
〔2〕安裝驅(qū)動后,串口線一端與開發(fā)板相連,一端接USB轉(zhuǎn)串口模塊與PC機(jī)相連,翻開設(shè)備管理器,查看串口號,沒有串口號則表示驅(qū)動未安裝 30、成功或線沒連好;
〔3〕翻開SecureCRT.e*e,如以下列圖所示,點(diǎn)擊快速連接,設(shè)置串口通信模式,波特率等,設(shè)置好之后,點(diǎn)擊連接。
〔4〕將開發(fā)板啟動方式還是保持為Nor flash,翻開電源,可看到在SecureCRT的輸出信息〔截圖,注意:假設(shè)SecureCRT沒有輸出信息,則先做下面第〔5〕步,否則跳過第〔5〕步,直接到第2.安裝Linu*到開發(fā)板〕。
〔5〕*使用Jlink燒寫系統(tǒng)安裝輔助軟件到開發(fā)板
1〕安裝Jlink驅(qū)動:路徑:D:\RedHat Linu*\嵌入式Linu*課程軟件集\Jlink配套軟件
2〕安裝完畢后,翻開程序->SEGGER->J-li 31、nk v8 ...->J-Flash ARM
3〕將ARM開發(fā)板啟動方式撥到nor flash端,用Jlink將ARM實(shí)驗(yàn)板與PC機(jī)相連,注意:jlink輸出接口與ARM實(shí)驗(yàn)板不同,需接轉(zhuǎn)換器件,再翻開開發(fā)板電源。
4〕J-Flash ARM軟件界面的菜單欄選擇Target --> connect,連接成功后可出現(xiàn)
5〕選擇file->open 選擇bootloader〔路徑:D:\RedHat Linu*\嵌入式Linu*課程軟件集\天嵌4.3寸屏出廠燒錄鏡像\U-boot\u-boot-1.1.6_Q43_20211118.bin〕
6〕選擇Target-erase 擦除no 32、r flash
7〕選擇Target-program 燒寫bootloader到開發(fā)板的nor flash上,燒寫完將Jlink與開發(fā)板斷開連接,關(guān)閉開發(fā)板電源〔燒寫過程最好別再操作電腦,否則易出錯〕
2. 安裝Linu*系統(tǒng)到開發(fā)板〔Linu*系統(tǒng)下〕
1) 保持步驟1的串口連接,開發(fā)板的啟動方式以及翻開SecureCRT軟件,連接好,并用USB下載線連接到PC機(jī),翻開開發(fā)板電源,此時電腦會提示安裝usb下載線驅(qū)動,不要用自動安裝方式,可翻開設(shè)備管理器,帶問號的地方點(diǎn)擊更新驅(qū)動,找到驅(qū)動路徑為:
〔D:\嵌入式Linu*課程軟件集\天嵌DNW及usb驅(qū)動\TQ2440_USB下載驅(qū)動 33、〕,
設(shè)備管理器有出現(xiàn)TQ2440 Board則安裝成功,同時翻開SecureCRT界面看到有開發(fā)板的串口輸出菜單信息。
2〕按照實(shí)驗(yàn)三的第一個步驟,安裝Vmware Tools,實(shí)現(xiàn)Windows與Linu*文件共享,在任意位置建立一個共享文件夾,復(fù)制文件到共享文件夾下,要復(fù)制的文件有如下幾個:
dnw_usb驅(qū)動:
D:\嵌入式Linu*課程軟件集\安裝Linu* dnw驅(qū)動
路徑下的兩個文件〔dnw和dnw_usb〕;
bootloader文件:
D:\嵌入式Linu*課程軟件集\天嵌4.3寸屏出廠燒錄鏡像\U-boot
Linu*內(nèi)核鏡像:
34、 路徑下的zImage_W43_20211026.bin
根文件系統(tǒng):
3) Linu*虛擬機(jī)翻開終端,進(jìn)入剛剛黏貼文件的目錄下〔cd /mnt/hgfs/共享文件夾名稱〕,并用ls命令確認(rèn);
4) 安裝dnw驅(qū)動程序 *insmod dnw_usb.ko
5) 格式化nand flash: 在SecureCRT界面里輸入 9 ,再輸入 y〔或yes〕
6) VMware有如下界面,選擇connect
7) 下載bootloader: 在SecureCRT界面里輸入 1
在終端中輸入 ./dnw u-boot-1.1.6_Q43_2 35、0211118.bin 30000000
〔對此及以下的二個步驟7-9的終端界面截圖〕
8) 下載Linu*內(nèi)核:在SecureCRT界面里輸入 3
在終端中輸入 ./dnw zImage_W43_20211026.bin 30000000
9) 下載根文件系統(tǒng):在SecureCRT界面里輸入 6
在終端中輸入 ./dnw root_qtopia_2.2.0_2.6.30.4_256MB_20210330.bin 30000000
10〕將開發(fā)板啟動方式撥到以Nand flash啟動,重啟開發(fā)板,可在Se 36、cureCRT上看到Linu*的啟動信息,即安裝完成,第一次啟動系統(tǒng)會進(jìn)入校準(zhǔn)觸摸屏界面〔拍照記錄〕,校準(zhǔn)后便進(jìn)入系統(tǒng)〔拍照記錄〕,
3. *安裝Linu*系統(tǒng)到開發(fā)板〔Windows系統(tǒng)下〕
四、實(shí)驗(yàn)結(jié)果〔粘貼執(zhí)行結(jié)果截圖〕
1.
2.
九、 實(shí)驗(yàn)小結(jié)〔對實(shí)驗(yàn)現(xiàn)象、實(shí)驗(yàn)故障及處理方法、實(shí)驗(yàn)中存在的問題等進(jìn)展分析和討論?!?
本實(shí)驗(yàn)實(shí)在windows下將嵌入式Linu*系統(tǒng)下載到開發(fā)板以及下載一些相關(guān)的輔助軟件到開發(fā)板。整個過程很復(fù)雜,每一個步驟都不能漏掉,一旦缺了哪個步驟必定導(dǎo)致下載失敗。其中還有串口設(shè)置參數(shù)等等也不可以隨便設(shè)置,后面很多個步驟都不是很會做,通過同學(xué)的討 37、論和教師的指導(dǎo)最后順利完成任務(wù)。
十、 思考題
1. 嵌入式Linu*的軟件組成,各局部的作用.
〔1〕、bootloader:相當(dāng)于PC機(jī)的 BIOS,用于引導(dǎo)根本操作系統(tǒng)。
〔2〕、根本 Linu* 系統(tǒng),作用就不用多說了,就是應(yīng)用軟件的根底平臺。
〔3〕、文件系統(tǒng),作用就是用來管理嵌入式系統(tǒng)的存儲空間。本來應(yīng)該算操作系統(tǒng)的一局部,但因?yàn)?Linu* 源代碼中有大量的文件系統(tǒng)支持局部(支持過百種文件系統(tǒng)),而嵌入式系統(tǒng)存儲空間有限,只保存一種就可以了,因此這局部需要比較復(fù)雜的處理。
〔4〕、圖形用戶界面庫,其作用是為應(yīng)用程序提供圖形環(huán)境。雖然它也可以算是操作系統(tǒng)的一局部,但因嵌 38、入式系統(tǒng)的特殊性往往要另外定制。這局部不是所有的嵌入式系統(tǒng)都需要。
〔5〕、設(shè)備驅(qū)動程序,其作用也無需多說。因?yàn)槊恳环N嵌入式設(shè)備都可能有自己獨(dú)特的設(shè)備,因此,需要為它開發(fā)驅(qū)動程序。
〔6〕、應(yīng)用程序,其作用更加明了。比方,手機(jī)你至少需要有通訊處理的應(yīng)用、數(shù)碼相機(jī)你至少要用圖像處理的應(yīng)用、GPS你至少要有對接收到的導(dǎo)航衛(wèi)星系統(tǒng)所發(fā)的信息進(jìn)展處理的應(yīng)用。
**師范大學(xué)協(xié)和學(xué)院"嵌入式系統(tǒng)"實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)日期:2021年4月25日
**: 0 **: 謝志杰
實(shí)驗(yàn)臺: D1 組員* 39、*: 謝志杰、洪劍鋒
實(shí)驗(yàn)五 BootLoader
一、實(shí)驗(yàn)?zāi)康?
1. 了解BootLoader的構(gòu)造。
2. 掌握BootLoader配置編譯過程。
3. 熟悉BootLoader的常用命令。
二、實(shí)驗(yàn)環(huán)境
硬件:PC機(jī)、ARM實(shí)驗(yàn)板及相關(guān)配件
軟件:VMware Workstation虛擬機(jī)、Linu*操作系統(tǒng)、BootLoader文件〔uboot〕、Linu*內(nèi)核源碼、根文件系統(tǒng)、Source Insight工具軟件、BusyBo*工具軟件、Samba、nfs和SecureCRT
三、實(shí)驗(yàn)內(nèi)容及步驟
1. 熟悉BootLoader的配置 40、和編譯
將uboot復(fù)制到Linu*下〔路徑D:\嵌入式Linu*課程軟件集\內(nèi)核驅(qū)動\uboot新手\uboot_tq2440.tar.gz〕,并解壓〔*tar *vzf uboot_tq2440.tar.gz〕
〔1〕進(jìn)入uboot目錄;
〔2〕*make distclean命令:去除以前配置產(chǎn)生的一些中間文件和目標(biāo)文件;
〔3〕*make TQ2440_config命令:對TQ2440開發(fā)板移植好的uboot文件進(jìn)展配置;
〔4〕*make ARCH=arm CROSS_PILE=arm-linu*- 命令:執(zhí)行make命令對uboot進(jìn)展編譯,指定體系構(gòu)造為arm 41、,穿插編譯器為arm-linu*-gcc等穿插工具。
4. Bootloader的常用命令
〔1〕*help或. :幫助命令 ,可用于觀察當(dāng)前單板所支持的命令
〔2〕*printenv :查看環(huán)境變量
〔3〕*setenv :添加、修改、刪除環(huán)境變量
將開發(fā)板的serverip更改為192.168.1.9
〔4〕*saveenv :保存環(huán)境變量,將當(dāng)前定義的所有變量及其值存入flash中。
3. TFTP效勞器的安裝和配置
〔1〕安裝tftp效勞器
*
〔2〕配置tftp效勞器
*vim /etc/*inetd.d/tftp
〔3〕tftp重啟效勞 42、
*service *inetd restart
〔4〕測試tftp效勞
4. 從TFTP效勞器上下載文件
開發(fā)板從norflash上啟動,進(jìn)入uboot下載模式,連按兩次q鍵,進(jìn)入命令模式,把要下載的文件復(fù)制到tftp效勞器的下載目錄下。
*在uboot里看能否ping同linu*,能ping通才能下載,否則不能
*輸入tftp 31000000 uImage,把uImage內(nèi)核映像下載到內(nèi)存地址31000000處
*輸入*bootm 31000000啟動
四、實(shí)驗(yàn)結(jié)果〔粘貼執(zhí)行結(jié)果截圖〕
1.
2.
3.
4.
十一、 實(shí)驗(yàn)小結(jié)〔對實(shí)驗(yàn)現(xiàn)象、實(shí)驗(yàn)故障及 43、處理方法、實(shí)驗(yàn)中存在的問題等進(jìn)展分析和討論。〕
了解BootLoader的構(gòu)造。掌握BootLoader配置編譯過程。熟悉BootLoader的常用命令。
十二、 思考題
1. BootLoader的作用.它有幾種操作模式.
在嵌入式操作系統(tǒng)中,BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行??梢猿跏蓟布O(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個適宜狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。它有兩種操作模式:啟動加載模式和下載模式。
**師范大學(xué)協(xié)和學(xué)院"嵌入式系統(tǒng)"實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)日期:2021年5月9日
**: 0 44、 **: 謝志杰
實(shí)驗(yàn)臺: D1 組員**: 謝志杰、洪劍鋒
實(shí)驗(yàn)六 內(nèi)核和根文件系統(tǒng)
一、實(shí)驗(yàn)?zāi)康?
1. 熟悉內(nèi)核、根文件系統(tǒng)的構(gòu)造和配置編譯過程。
2. 掌握BootLoader、內(nèi)核和根文件系統(tǒng)的下載。
二、實(shí)驗(yàn)環(huán)境
硬件:PC機(jī)、ARM實(shí)驗(yàn)板及相關(guān)配件
軟件:VMware Workstation虛擬機(jī)、Linu*操作系統(tǒng)、BootLoader文件〔uboot〕、Linu*內(nèi)核源碼、根文件系統(tǒng)、Source Insight工具軟件、BusyBo*工具軟件、Samba、nfs和Sec 45、ureCRT
三、實(shí)驗(yàn)內(nèi)容及步驟
1. 熟悉內(nèi)核的裁剪和編譯
將Linu*內(nèi)核文件復(fù)制到Linu*下〔D:\嵌入式Linu*課程軟件集\內(nèi)核驅(qū)動\Linu*內(nèi)核制作TQ2440\linu*-tq2440.tar.gz〕,并解壓〔*tar *vzf linu*-tq2440.tar.gz〕
〔1〕內(nèi)核的裁剪
1〕方式1 *make menuconfig命令:進(jìn)入菜單式配置界面〔截圖〕,其中上下鍵選菜單項(xiàng),左右鍵選擇選擇方式。其中,假設(shè)為尖括號<>,則有3種取值方式;假設(shè)為方括號[]則只有兩種取值方式:
按Y表示編譯進(jìn)內(nèi)核;
按N表示不編譯進(jìn)內(nèi)核;
按M表示以模塊方式進(jìn)展編譯; 46、
進(jìn)入General setup選項(xiàng)中,將Initial RAM ......欄設(shè)置為不編譯進(jìn)內(nèi)核〔即按N,選項(xiàng)前會變成[ ]〕,因?yàn)楝F(xiàn)在暫不進(jìn)展文件系統(tǒng)掛載。
退出,保存;
2) 方式2 *make *config命令:進(jìn)入圖形式配置界面〔截圖〕,直接通過鼠標(biāo)選擇;
選擇好之后,退出,保存
3〕*ls -a查看配置文件:配置文件為 .config〔截圖〕
4〕*方式3 將已配置好的文件,替換原來的文件?!部刹蛔觥?
〔2〕內(nèi)核的編譯
1〕*make clean命令:去除以前配置產(chǎn)生的一些中間文件和目標(biāo)文件;
2〕*make uImage ARCH=arm CRO 47、SS_PILE=arm-linu*- 命令:執(zhí)行make命令對內(nèi)核進(jìn)展編譯,指定體系構(gòu)造為arm,穿插編譯器為arm-linu*-gcc等穿插工具。
發(fā)現(xiàn)最后會出現(xiàn)在 ./arch/arm/boot目錄有zImage文件,但無法創(chuàng)立uImage
3〕*創(chuàng)立內(nèi)核映象文件:把上次實(shí)驗(yàn)課uboot/tools/目錄下的mkimage文件復(fù)制到/bin/目錄下,重復(fù)2〕步驟,即可解決問題
根據(jù)編譯信息可知,在"./arch/arm/boot/〞目錄下生成了一個uImage文件,這就是需要的內(nèi)核文件映像文件?!步貓D〕,再通過tftp效勞器下載到開發(fā)板
2. 熟悉根文件系統(tǒng)的生成過程
根文 48、件系統(tǒng)的制作
將根文件系統(tǒng)的系統(tǒng)配置文件及BusyBo*軟件〔路徑D:\嵌入式Linu*課程軟件集\內(nèi)核驅(qū)動\根文件系統(tǒng)制作相關(guān)軟件\etc.tar.gz和busybo*-1.13.3.tar.gz復(fù)制到Linu*下
使用Busybo*工具軟件制作根文件系統(tǒng)。
〔1〕在/home/win目錄下先創(chuàng)立一個rootfs目錄,并在這個目錄下建各個子目錄。
*mkdir rootfs
*cd rootfs
*mkdir bin etc dev lib mnt proc sbin sys tmp usr var
*mkdir usr/bin usr/lib u 49、sr/sbin lib/modules
(2) 創(chuàng)立設(shè)備文件
*cd rootfs/dev
*mknod -m 666 console c 5 1
*mknod -m 666 null c 1 3
(3) 參加配置文件
*tar etc.tar.gz //解壓復(fù)制過來的文件
*mv etc/* /home/win/rootfs/etc/ -rf
(4) 添加內(nèi)核模塊
*cd /home/win/TQ2440/linu*-tq2440 //進(jìn)入內(nèi)核主目錄下
*make modules ARCH=arm CROSS_PILE=arm-linu 50、*-
*make modules_install ARCH=arm INSTALL_MOD_PATH=/home/win/rootfs
(5) 配置、安裝BusyBo*
先把復(fù)制過來的BusyBo*軟件進(jìn)展解壓,解壓完進(jìn)入其主目錄
1) 配置busybo*
*make menuconfig
Busybo* Settings àbuild Options->
選中 "Build busybo* as a static binary〞, 靜態(tài)
Cross piler prefi* (arm-linu*-) 〔截圖〕
Installation Options->
51、
選中 "Don’t use /usr〞, 選中該項(xiàng)可以防止busybo* 被安裝到宿主系統(tǒng)的/usr目錄下,破壞宿主系統(tǒng)
Busybo* Installation Prefi* (/***/rootfs)
該選項(xiàng)說明編譯后的busybo*的安裝位置
2) 編譯安裝busybo*
*make
*make install
3. 使用Initramfs掛載根文件系統(tǒng)
*cd /home/win/rootfs/
*ln -s /bin/busybo* init
配置Linu*內(nèi)核,支持Initramfs
*make menuconfig -> general se 52、tup ->Initial RAM filesystem and ......
目錄寫上/home/win/rootfs
編譯內(nèi)核
*make zImage ARCH=arm CROSS_PILE=arm-linu*-
用ls列出所有的文件,〔截圖〕
*用tftp效勞下載根文件系統(tǒng)到Linu*系統(tǒng)到開發(fā)板〔參考實(shí)驗(yàn)五〕
四、實(shí)驗(yàn)結(jié)果〔粘貼執(zhí)行結(jié)果截圖〕
1.
2.
3.
十三、 實(shí)驗(yàn)小結(jié)〔對實(shí)驗(yàn)現(xiàn)象、實(shí)驗(yàn)故障及處理方法、實(shí)驗(yàn)中存在的問題等進(jìn)展分析和討論?!?
在這次的實(shí)驗(yàn)中在進(jìn)入General setup選項(xiàng)中,因?yàn)檫x擇錯誤而導(dǎo)致結(jié)果出錯,認(rèn)真觀察后, 53、再次進(jìn)展實(shí)驗(yàn),結(jié)果就正確了,在實(shí)驗(yàn)中如果有不懂的要及時請教教師或則同學(xué),防止發(fā)生更多的錯誤。
十四、 思考題
1. 常見的文件系統(tǒng)有哪些.
答:常見的文件系統(tǒng)有JFFS2文件系統(tǒng)、YAFFS/YAFFS2文件系統(tǒng)、E*T2/E*T3文件系統(tǒng)、Ramdisk文件系統(tǒng)、Romfs文件系統(tǒng)、Cramfs文件系統(tǒng)、Ramfs\Tmpfs文件系統(tǒng)、NFS文件系統(tǒng)
**師范大學(xué)協(xié)和學(xué)院"嵌入式系統(tǒng)"實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)日期: 2021 年 5 月 23 日
**: 0 **: 謝志杰
實(shí)驗(yàn)臺 54、: D1 組員**: 謝志杰、洪劍鋒
實(shí)驗(yàn)七 文件I/O編程
一、實(shí)驗(yàn)?zāi)康?
1.掌握Linu*下根本文件I/O編程
二、實(shí)驗(yàn)環(huán)境
硬件:PC機(jī)一臺
軟件:VMware Workstation虛擬機(jī)和Linu*操作系統(tǒng)
三、實(shí)驗(yàn)內(nèi)容及步驟
1. 掌握根本I/O編程
通過綜合實(shí)例,熟悉Linu*下輸入/輸出的根本編程,掌握I/O根本操作如翻開、讀取、寫入、定位和關(guān)閉所用到的函數(shù)open、read、write、lseek和close等,
(1) 要求:編寫文件讀寫程序,向一個文件information.t*t寫入"I am 55、*** , my number is ********〞,寫入成功后,并讀出剛剛寫入的數(shù)據(jù),并顯示出來?!草斎胱约旱脑创a,編譯并運(yùn)行,在終端中查看結(jié)果。
〔2〕要求:在終端中編譯此代碼,并執(zhí)行,查看當(dāng)前目錄下是否生成文件information.t*t,再查看該文件的內(nèi)容。〔截圖〕
四、實(shí)驗(yàn)結(jié)果〔粘貼執(zhí)行結(jié)果截圖〕
1. 〔1〕程序:
*include 56、
*include 57、 {
printf("open information failure!\n");
return ;
}
size = write(fd,w_buf,sizeof(w_buf));
if(size==-1)
{
printf("write data error!\n");
}
lseek(fd,0,SEEK_SET);
read(fd,r_buf,sizeof(w_buf));
printf("%s",r_buf);
close(fd);
}
2、
十五、 實(shí)驗(yàn)小結(jié)〔對 58、實(shí)驗(yàn)現(xiàn)象、實(shí)驗(yàn)故障及處理方法、實(shí)驗(yàn)中存在的問題等進(jìn)展分析和討論。〕
通過這次試驗(yàn),熟悉Linu*下輸入/輸出的根本編程,掌握I/O根本操作如翻開、讀取、寫入、定位和關(guān)閉所用到的函數(shù)open、read、write、lseek和close等
十六、 思考題
1. Linu*系統(tǒng)下串口0對應(yīng)的設(shè)備文件為.
/dev/ttyS0
2. 設(shè)置串口的輸入輸出波特率為115200 bps
cfsetispeed(&new_termios,B115200);
cfsetospeed(&new_termios,B115200);
**師范大學(xué)協(xié)和學(xué)院"嵌入式系統(tǒng)"實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)日期: 20 59、21 年 6 月 6 日
**: 0 **: 謝志杰
實(shí)驗(yàn)臺: D1 組員**: 謝志杰、洪劍鋒
實(shí)驗(yàn)八 進(jìn)程控制編程
一、實(shí)驗(yàn)?zāi)康?
1.掌握Linu*下進(jìn)程控制編程
二、實(shí)驗(yàn)環(huán)境
硬件:PC機(jī)一臺
軟件:VMware Workstation虛擬機(jī)和Linu*操作系統(tǒng)
三、實(shí)驗(yàn)內(nèi)容及步驟
1. 創(chuàng)立子進(jìn)程
使用fork函數(shù)編程實(shí)現(xiàn)創(chuàng)立子進(jìn)程,理解父子進(jìn)程執(zhí)行的流程,參考代碼如下,輸入源代碼編譯并運(yùn)行,在 60、終端中查看結(jié)果。
源代碼功能:實(shí)現(xiàn)父進(jìn)程創(chuàng)立一個子進(jìn)程,返回后父子進(jìn)程分別循環(huán)輸出字符串"hello,this is a child process ! my ID="〞和"hello,this is a paraent process ! my ID="〞6次,每次輸出后使用sleep〔5〕延時5s,然后再進(jìn)入下一次循環(huán)。
*include 61、()) == -1); //創(chuàng)立子進(jìn)程直至成功
if(p == 0) //子進(jìn)程
{ for(i=0; i<6; i++)
{ printf("hello,this is a child process! ID = %d\n",getpid());
sleep(5); //延時5s
}
}
else //父進(jìn)程
{ for(i=0;i<6;i++)
{ printf("Hello,this is a parent process! ID = %d\n",getpid());
sleep(5); 62、//延時5s
}
}
return 0;
}
要求:在終端中編譯此代碼,并執(zhí)行,查看當(dāng)前程序執(zhí)行結(jié)果。
2. 修改上題程序,使用e*it()和wait()函數(shù)實(shí)現(xiàn)父子進(jìn)程同步,其同步方式為父進(jìn)程等待子進(jìn)程的同步,即子進(jìn)程循環(huán)輸出6次,然后父進(jìn)程再循環(huán)輸出6次。參考程序如下:
*include 63、立子進(jìn)程直至成功
if(p == 0) //子進(jìn)程
{
for(i=0; i<6; i++)
{ printf("hello,this is a child process! ID = %d\n",getpid());
sleep(5); //延時5s
}
e*it(0);
}
else //父進(jìn)程
{
wait(0);
for(i=0;i<6;i++)
{ printf("Hello,this is a parent process! ID = %d\n",getp 64、id());
sleep(5); //延時5s
}
}
return 0;
}
要求:在終端中編譯此代碼,并執(zhí)行,查看當(dāng)前程序執(zhí)行結(jié)果。
3. 掌握e*ec函數(shù)族、e*it()函數(shù)的使用
要求:用fork創(chuàng)立一個子進(jìn)程,由其調(diào)用e*ec()啟動date命令查看系統(tǒng)當(dāng)前的時間信息。
參考代碼見P269
執(zhí)行結(jié)果〔截圖〕
四、實(shí)驗(yàn)結(jié)果〔粘貼執(zhí)行結(jié)果截圖〕
1.
2.
3.
十七、 實(shí)驗(yàn)小結(jié)〔對實(shí)驗(yàn)現(xiàn)象、實(shí)驗(yàn)故障及處理方法、實(shí)驗(yàn)中存在的問題等進(jìn)展分析和討論?!?
學(xué)會如何使用fork〔〕、wait()、e*it()、e*ec()等函數(shù)的使用,利用父進(jìn)程創(chuàng)立子進(jìn)程等操作。
十八、 思考題
1. fork函數(shù)有幾種不同返回值,分別有何含義.
答:1、在父進(jìn)程中,fork返回新創(chuàng)立的子進(jìn)程的pid。
2、 在子進(jìn)程中返回0.
3、 如果出現(xiàn)錯誤返回一個負(fù)值〔-1〕.
. z.
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點(diǎn)美食推薦
- XX國有企業(yè)黨委書記個人述責(zé)述廉報(bào)告及2025年重點(diǎn)工作計(jì)劃
- 世界濕地日濕地的含義及價值
- 20XX年春節(jié)節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點(diǎn)節(jié)后常見的八大危險(xiǎn)
- 廈門城市旅游介紹廈門景點(diǎn)介紹廈門美食展示
- 節(jié)后開工第一課復(fù)工復(fù)產(chǎn)十注意節(jié)后復(fù)工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓(xùn)
- 深圳城市旅游介紹景點(diǎn)推薦美食探索
- 節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)勿忘安全本心人人講安全個個會應(yīng)急
- 預(yù)防性維修管理
- 常見閥門類型及特點(diǎn)
- 設(shè)備預(yù)防性維修
- 2.乳化液泵工理論考試試題含答案