第一篇:11嵌入式畢業(yè)實(shí)習(xí)分組
2014屆畢業(yè)生畢業(yè)實(shí)習(xí)分組
(嵌入式技術(shù)與應(yīng)用專業(yè))
一、實(shí)習(xí)分組
1.實(shí)習(xí)班級:11嵌入式(第一組人數(shù):14)
指導(dǎo)教師: ***
聯(lián)系方式: ***
E-mail: ***
QQ:***
組長:***
組員:***
2.實(shí)習(xí)班級:11嵌入式(第二組人數(shù):13)
指導(dǎo)教師: ***
聯(lián)系方式: ***
E-mail:******
QQ:***
組長: ***
組員:***
二、實(shí)習(xí)期間需完成的實(shí)習(xí)報(bào)告
根據(jù)專業(yè)教學(xué)計(jì)劃,學(xué)生在實(shí)習(xí)過程中必須針對以下課程提交具有專題內(nèi)容的實(shí)習(xí)報(bào)告。
⒈課程
(1)必修課程1門
嵌入式軟件開發(fā)項(xiàng)目。
(2)二選一課程
嵌入式系統(tǒng)設(shè)計(jì)項(xiàng)目、嵌入式應(yīng)用開發(fā)項(xiàng)目(選取其中一門)。
2.要求
學(xué)生應(yīng)在崗位實(shí)踐過程中,注意關(guān)注與各課程相關(guān)的專業(yè)知識、典型技術(shù)應(yīng)用模式與典型工作項(xiàng)目,認(rèn)真搜集、整理資料文檔,注意與指導(dǎo)教師保持聯(lián)系,嚴(yán)格按具體實(shí)習(xí)安排,完成課程實(shí)訓(xùn)報(bào)告。
注:相關(guān)指導(dǎo)文檔隨后下發(fā)。
三、畢業(yè)設(shè)計(jì)
畢業(yè)設(shè)計(jì)安排及具體要求將在畢業(yè)設(shè)計(jì)前下發(fā),屆時(shí)本院指導(dǎo)教師與基地指導(dǎo)教師配合完成畢業(yè)設(shè)計(jì)指導(dǎo)工作。
第二篇:測量實(shí)習(xí)分組(精選)
第一組指導(dǎo)教師:鄔萬江
王嘉歆 段海峰 商小東 郭旭東 賀彥杰 姚金宇 蔡瑞雪 王健驍 黃震 孫秀峰 左旭東 江正輝 王宏陽 王洋 韓冰 王野
第二組指導(dǎo)教師:韓平
王旭 楊佰祥 李國躍 徐良運(yùn) 張杰 劉南南 王臺臺 吳久香 趙萬里 馬博 史金龍 韓破閣 王磊磊 李文 熊秋華 劉海
第三組指導(dǎo)教師:賈元華
尚佳奇 徐孟發(fā) 盧帥 國巍 趙東亮 王宇 朱飛 姜凱強(qiáng) 耿慶睿 馮金鶴 鄭立學(xué) 曹務(wù)園 張洪亮 鄔午羊 孫敬圖 李仁亮
第四組指導(dǎo)教師:馬麗麗
秦浩 崔艷明 苑天佑 蘆成 丁偉民 張宇宇 張嬌嬌 薛江朋 肖猛 常東陽 付新亮 張萬龍 王振東 王慶玲 王文松 包春喜 劉懷宇 張安琪 姜志成 馬強(qiáng) 趙志鵬 賈宏偉 趙宏宇
第五組指導(dǎo)教師:郭思佳
賈廣志 費(fèi)毅飛 馬知行 田佳軍 盧今希 蘇偉 張宇 李東雪 劉儒峰 馬強(qiáng) 王帆 趙秋陽 程滿 洪耀杰 卞啟超 欒宇鵬 孫榮名 李寧 辛建廣 高毓國
第三篇:嵌入式畢業(yè)實(shí)習(xí)報(bào)告
嵌入式系統(tǒng) 畢業(yè)實(shí)習(xí)報(bào)告
學(xué)
院: 電子與電氣工程學(xué)院 專
業(yè): 電子信息工程 班
級: 電子11201 學(xué)
號: 1203251024 姓
名:
徐賢暢
嵌入式系統(tǒng)開發(fā)與應(yīng)用概述
在今日,嵌入式ARM 技術(shù)已經(jīng)成為了一門比較熱門的學(xué)科,無論是在電子類的什么領(lǐng)域,你都可以看到嵌入式ARM 的影子。如果你還停留在單片機(jī)級別的學(xué)習(xí),那么實(shí)際上你已經(jīng)落下時(shí)代腳步了,ARM 嵌入式技術(shù)正以幾何的倍數(shù)高速發(fā)展,它幾乎滲透到了幾乎你所想到的領(lǐng)域。由于嵌入式系統(tǒng)具有體積小、性能強(qiáng)、功耗低、可靠性高以及面向行業(yè)具體應(yīng)用等突出特征,目前已經(jīng)廣泛地應(yīng)用于軍事國防、消費(fèi)電子、信息家電、網(wǎng)絡(luò)通信、工業(yè)控制等各個(gè)領(lǐng)域。嵌入式的廣泛應(yīng)用可以說是無所不在。linux系統(tǒng)
linux系統(tǒng)主要是由用戶空間和內(nèi)核空間再加上外部的硬件平臺構(gòu)成,用戶空間就是用戶應(yīng)用程序的運(yùn)行空間,主要包括兩方面的內(nèi)容:用戶應(yīng)用程序和GNU C Library(glibc)。而內(nèi)核空間有三方面的內(nèi)容,一是系統(tǒng)調(diào)用接口,它作為用戶空間和內(nèi)核空間相互轉(zhuǎn)移的一種方式,二是內(nèi)核空間,三是體系相關(guān)內(nèi)核代碼,在linux內(nèi)核代碼中,可以看到arch目錄下有許多子目錄,其中每一個(gè)子目錄代表一種硬件平臺。
而為什么要把linux系統(tǒng)劃分為用戶空間和內(nèi)核空間呢?主要是一旦用戶空間和內(nèi)核空間沒有分開,那用戶將擁有很大的權(quán)限去操控內(nèi)核或用戶應(yīng)用程序的崩潰將會造成系統(tǒng)的崩潰,而linux系統(tǒng)是利用cpu的模式分級來分別運(yùn)行用戶空間和內(nèi)核空間,這樣就可以使操作系統(tǒng)得到充分的保護(hù)。而現(xiàn)代的cpu通常實(shí)現(xiàn)了不同的工作模式,以ARM處理器為例實(shí)現(xiàn)了7種運(yùn)行模式,分別為:
1)用戶模式(usr):ARM微處理器正常程序執(zhí)行模式 2)系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù) 3)中斷模式(irq):用于通用的中斷處理
4)外部中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理
5)數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲及存儲保護(hù)
6)管理模式(svc):操作系統(tǒng)使用的保護(hù)模式
7)未定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真
ARM微處理器的運(yùn)行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變,除用戶模式外,其他模式都是非用戶模式或特權(quán)模式,除用戶模式和系統(tǒng)模式外,其他模式都是異常模式,常用于處理異常或中斷,以及需要訪問受保護(hù)的系統(tǒng)資源等情況。
同時(shí)用戶空間和內(nèi)核空間是程序執(zhí)行的兩種不同狀態(tài),通過系統(tǒng)調(diào)用和硬件中斷去實(shí)現(xiàn)用戶空間到內(nèi)核空間的轉(zhuǎn)移,系統(tǒng)調(diào)用是主動的,硬件中斷是被動的,比如鍵盤按下或者串口中斷。
接下來說說linux的內(nèi)核架構(gòu),它主要是包含7大組成部分
1.內(nèi)存管理 內(nèi)存管理的主要作用是使多個(gè)進(jìn)程能安全高效的共享內(nèi)存區(qū)域,通常使用以下兩個(gè)手段:
①內(nèi)存映射:將物理內(nèi)存映射到虛擬內(nèi)存中,變有限為無限 ②有效管理:使用各種內(nèi)存管理算法(如伙伴算法),減少內(nèi)存浪費(fèi)
2.虛擬文件系統(tǒng) vfs隱藏了各種文件系統(tǒng)的具體細(xì)節(jié),為文件操作提供統(tǒng)一的接口
3.網(wǎng)絡(luò)協(xié)議棧 它為linux提供了完善豐富的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)
4.進(jìn)程管理 進(jìn)程管理的重點(diǎn)是創(chuàng)建進(jìn)程、停止進(jìn)程,并控制它們之間的通信。進(jìn)程管理還包括控制活動進(jìn)程如何共享cpu,即進(jìn)程調(diào)度。
5.設(shè)備驅(qū)動 設(shè)備驅(qū)動也是內(nèi)核的一部分,它不同于內(nèi)核的其他部件,并且獨(dú)立于內(nèi)核的其他部件,同時(shí)它是與設(shè)備交互的唯一模塊,通常由第三方廠商開發(fā),一個(gè)驅(qū)動程序不與其他驅(qū)動程序交互;內(nèi)核與驅(qū)動程序之間也僅通過一個(gè)嚴(yán)格定義的接口交互。
6.系統(tǒng)調(diào)用接口 SCI層為用戶空間提供了一套標(biāo)準(zhǔn)的系統(tǒng)調(diào)用函數(shù)來訪問Linux內(nèi)核,搭起了用戶空間到內(nèi)核空間的橋梁。
7.體系相關(guān)部分
Linux內(nèi)核源代碼采用樹形結(jié)構(gòu)進(jìn)行組織,非常合理地把功能相關(guān)的文件都放在同一個(gè)子目錄下,使得程序更具可讀性。下面介紹下這些目錄的組成 arch目錄
arch是architecture的縮寫。內(nèi)核所支持的每種CPU體系,在該目錄下都有對應(yīng)的子目錄。每個(gè)CPU的子目錄,又進(jìn)一步分解為boot,mm,kernel等子目錄,分別包含控制系統(tǒng)引導(dǎo),內(nèi)存管理,系統(tǒng)調(diào)用等。其下子目錄有
|--x86 /*英特爾cpu及與之相兼容體系結(jié)構(gòu)的子目錄*/ | |--boot /*引導(dǎo)程序*/
| | |--compressed /*內(nèi)核解壓縮*/ | |--tools /*生成壓縮內(nèi)核映像的程序*/
| |--kernel /*相關(guān)內(nèi)核特性實(shí)現(xiàn)方式,如信號處理、時(shí)鐘處理*/ | |--lib /*硬件相關(guān)工具函數(shù)*/ block目錄
部分塊設(shè)備驅(qū)動程序 crypto目錄
加密、壓縮、CRC校驗(yàn)算法 documentation
內(nèi)核的文檔 drivers目錄(重點(diǎn))
設(shè)備驅(qū)動程序 fs目錄
存放各種文件系統(tǒng)的實(shí)現(xiàn)代碼。每個(gè)子目錄對應(yīng)一種文件系統(tǒng)的實(shí)現(xiàn),公用的源程序用于實(shí)現(xiàn)虛擬文件系統(tǒng)vfs。| |--devpts /* /dev/pts虛擬文件系統(tǒng)*/ | |--ext2 /*第二擴(kuò)展文件系統(tǒng)*/ | |--fat /*MS的fat32文件系統(tǒng)*/
| |--isofs /*ISO9660光盤cd-rom上的文件系統(tǒng)*/ include目錄
內(nèi)核所需要的頭文件。與平臺無關(guān)的頭文件在include/linux
子目錄下,與平臺相關(guān)的頭文件則放在相應(yīng)的子目錄中。init目錄
內(nèi)核初始化代碼 ipc目錄
進(jìn)程間通信的實(shí)現(xiàn)代碼 kernel目錄
Linux大多數(shù)關(guān)鍵的核心功能都是在這個(gè)目錄實(shí)現(xiàn)。(調(diào)度程序,進(jìn)程控制,模塊化)
lib目錄
庫文件代碼 mm目錄
mm目錄中的文件用于實(shí)現(xiàn)內(nèi)存管理中與體系結(jié)構(gòu)無關(guān)的部分(與體系結(jié)構(gòu)相關(guān)的部分在哪里實(shí)現(xiàn)?arch)
net目錄
網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)代碼
| |--802 /*802無線通訊協(xié)議核心支持代碼*/ | |--appletalk /*與蘋果系統(tǒng)連網(wǎng)的協(xié)議*/ | |--ax25 /*AX25無線INTERNET協(xié)議*/ | |--bridge /*橋接設(shè)備*/
| |--ipv4 /*IP協(xié)議族V4版32位尋址模式*/ | |--ipv6 /*IP協(xié)議族V6版*/ samples
一些內(nèi)核編程的范例 scripts
配置內(nèi)核的腳本 security
SElinux的模塊 sound
音頻設(shè)備的驅(qū)動程序 usr
cpio命令實(shí)現(xiàn) virt
內(nèi)核虛擬機(jī)
Linux內(nèi)核的配置與編譯
Linux內(nèi)核具有可定制的優(yōu)點(diǎn),配置內(nèi)核的目的是裁剪掉不必要的文件和目錄,獲得一個(gè)最簡單的又能滿足用戶開發(fā)的操作系統(tǒng),以解除嵌入式開發(fā)過程中所遇到的存儲空間有限的困擾。內(nèi)核配置與編譯的具體步驟如下: 1.清除臨時(shí)文件、中間文件和配置文件
1)make clean
Remove most generated files but keep the config即清除大部分生成的文件但保留配置文件
2)make mrproper
Remove all generated files + config files即清除所有生成的文件還有配置文件
3)make distclean
Mrproper + remove editor backup and patch files即實(shí)現(xiàn)make mrproper命令的同時(shí)刪除編輯器備份文件和補(bǔ)丁文件
2.確定目標(biāo)系統(tǒng)的軟硬件配置情況,比如cpu類型,網(wǎng)卡型號,所需支持的網(wǎng)絡(luò)協(xié)議等。
3.使用如下命令之一配置內(nèi)核:
1)make config:基于文本模式的交互式配置
2)make menuconfig:基于文本模式的菜單型配置
3)make oldconfig:使用已有的配置文件(.config),但是會詢問新增的配置選項(xiàng)
4)make xconfig:圖形化的配置(需安裝圖形化系統(tǒng))
Make menuconfig是最為常用的內(nèi)核配置方式 如果一個(gè).config文件已經(jīng)存在,它將使用該文件設(shè)置那些默認(rèn)的值 4.編譯內(nèi)核
編譯內(nèi)核通常也需要幾個(gè)步驟,一是清除以前編譯通過的殘留文件;二是編譯內(nèi)核image文件和可加載模塊;三是安裝模塊。下面是編譯內(nèi)核的具體步驟。
①make dep 命令用在內(nèi)核2.4或之前,用于建立源文件之間的依賴關(guān)系,在執(zhí)行內(nèi)核配置命令之后使用,不過在2.6內(nèi)核中已經(jīng)取消該命令,該功能由內(nèi)核配置命令實(shí)現(xiàn)。
②make clean 命令用于刪除前面留下來的中間文件,該命令不會刪除.config等配置文件。這個(gè)步驟是可選的,它的目的是清除原先編譯過而殘留的.com和.o(obj文件)。如果是剛下載的源代碼,那么這一步就可以省略了,但是如果已經(jīng)編譯多次內(nèi)核,這一步是必要的,不然后面可能會出現(xiàn)很多莫名其妙的小問題。③make zImage命令用于編譯生成壓縮形式的內(nèi)核鏡像,當(dāng)編譯成功后,就會在archarmboot目錄下生成zImage文件,大小一般為幾百KB。對于嵌入式Linux內(nèi)核而言,直接將生成的zImage下載到嵌入式目標(biāo)板的flash中即可。對于較大的內(nèi)核,如果用make zImage編譯,系統(tǒng)會提示使用make bzImage命令來編譯,bzImage是big zImage的縮寫,可用于生成較大的壓縮內(nèi)核,比如桌面Linux系統(tǒng)內(nèi)核。
④在配置菜單的過程中,有些選項(xiàng)被選擇為模塊的,即選項(xiàng)前為[M],并且在回答Enable loadable module support(CONFIG_MODULES)時(shí)選了Yes的,則接下來就還要用命令make modules 來編譯這些可加載模塊,并用make modules_install將make modules生成的模塊文件復(fù)制到相應(yīng)目錄,桌面Linux內(nèi)核一般是在/lib/modules目錄下。⑤制作init ramdisk
mkinitrd initrd-$version $version 例:
mkinitrd initrd-2.6.29 2.6.29
$version 可以通過查詢/lib/modules下的目錄得到
Ramdisk是將一部分固定大小的內(nèi)存當(dāng)做分區(qū)來使用。它并非一個(gè)實(shí)際的文件系統(tǒng),二是一種將實(shí)際的文件系統(tǒng)裝入內(nèi)存的機(jī)制,并且可以作為根文件系統(tǒng)。將一些經(jīng)常被訪問而又不會更改的文件(如只讀的根文件系統(tǒng))通過ramdisk放在內(nèi)存中,可以明顯的提高系統(tǒng)的性能。在linux的啟動階段,initrd提供了一套機(jī)制,可以將內(nèi)核映像和根文件系統(tǒng)一起載入內(nèi)存。⑥cp arch/x86/boot/bzImage /boot/vmlinuz-$version
$version 為所編譯的內(nèi)核版本號
(拷貝initrd-2.6.29到/boot下,將arch/x86/boot/bzImage更名為vmlinuz-2.6.29移動到/boot下)
⑦修改/etc/grub.conf 或者/etc/lilo.conf(GNU GRUB(簡稱 GRUB)是一個(gè)來自GNU項(xiàng)目的多操作系統(tǒng)啟動程序。GRUB是多啟動規(guī)范的實(shí)現(xiàn),它允許用戶可以在計(jì)算機(jī)內(nèi)同時(shí)擁有多個(gè)操作系統(tǒng),并在計(jì)算機(jī)啟動時(shí)選擇希望運(yùn)行的操作系統(tǒng)。GRUB可用于選擇操作系統(tǒng)分區(qū)上的不同內(nèi)核,也可用于向這些內(nèi)核傳遞啟動參數(shù)。)這時(shí)重啟Linux操作系統(tǒng),在進(jìn)入內(nèi)核時(shí)按下回車鍵進(jìn)入內(nèi)核選擇界面,選擇自己編譯的內(nèi)核,即可進(jìn)入自己編譯的內(nèi)核的操作系統(tǒng),用uname-r 可以查看當(dāng)前內(nèi)核版本。
嵌入式linux文件系統(tǒng)的制作與移植
文件系統(tǒng)包含兩個(gè)層次的含義: 1.按照固定格式組織的目錄與文件
2.在特定的存儲介質(zhì)上管理這些目錄和文件需要的數(shù)據(jù)
當(dāng)我們在linux下輸入ls / 的時(shí)候,見到的目錄結(jié)構(gòu)以及這些目錄下的內(nèi)容都大同小異,這是因?yàn)樗械膌inux發(fā)行版在對根文件系統(tǒng)的布局上都遵循FHS(Filesystem Hierarchy Standard)標(biāo)準(zhǔn)的建議規(guī)定。
各個(gè)目錄名稱及其存放的內(nèi)容:
/bin 必備的用戶命令,例如ls、cp等
/sbin 必備的系統(tǒng)管理員命令,例如ifconfig、reboot等 /dev 設(shè)備文件,例如mtdblock0、tty1等
/etc 系統(tǒng)配置文件,包括啟動文件,例如inittab等 /lib 必要的鏈接庫,例如C鏈接庫、內(nèi)核模塊 /home 普通用戶主目錄 /root root用戶主目錄
/usr/bin 非必備的用戶程序,例如find、du等
/usr/sbin 非必備的管理員程序,例如chroot、inetd等 /usr/lib 庫文件
/var 守護(hù)程序和工具程序所存放的可變,例如日志文件
/proc 用來提供內(nèi)核與進(jìn)程信息的虛擬文件系統(tǒng),由內(nèi)核自動生成目錄下的內(nèi)容
/sys 用來提供內(nèi)核與設(shè)備信息的虛擬文件系統(tǒng),由內(nèi)核自動生成目錄下的內(nèi)容
/mnt 文件系統(tǒng)掛接點(diǎn),用于臨時(shí)安裝文件系統(tǒng)
/tmp 臨時(shí)性的文件,重啟后將自動清除
根文件系統(tǒng)是Linux啟動時(shí)使用的第一個(gè)文件系統(tǒng)。沒有根文件系統(tǒng),Linux將無法正常啟動。根文件系統(tǒng)由一系列目錄組成,目錄中包含了應(yīng)用程序、C庫、以及相關(guān)的配置文件。
那如何制作一個(gè)根文件系統(tǒng)呢?主要包括以下步驟:
1、創(chuàng)建根文件系統(tǒng)的目錄
如:mkdir bin sbin lib etc dev proc sys usr mnt tmp var
2、創(chuàng)建設(shè)備文件
cd dev
mknod-m 666 console c 5 1 mknod-m 666 null c 1 3 cd..3、安裝/etc
tar-xzvf etc.tar.gz /xxx/rootfs/etc
4、配置busybox
進(jìn)入busybox目錄執(zhí)行 make menuconfig
進(jìn)入 Busybox Settings build Options->
選中 “Build busybox as a static binary”, 靜態(tài)鏈接 Cross Compiler prefix(arm-linux-)
Installation Options->
選中 “Don‘t use /usr”, 選中該項(xiàng)可以避免busybox被安裝到宿主系統(tǒng)的/usr目錄下,破壞宿主系統(tǒng)
Busybox Installation Prefix(/nfsroot/rootfs)該選項(xiàng)表明編譯后的busybox的安裝位置
7、編譯、安裝busybox
make ARCH=arm CROSS_COMPILE=arm-linux-
make install
前提是系統(tǒng)中安裝好了交叉編譯工具arm-linux-gcc
至此一個(gè)粗略的根文件系統(tǒng)制作完成,下面就需要移植到開發(fā)板中。我們知道ARM嵌入式系統(tǒng)的組成為: 1)bootloader 引導(dǎo)加載器 2)kernel 操作系統(tǒng)內(nèi)核
3)rootfs 根文件系統(tǒng)(帶GUI,QTopia)
在系統(tǒng)加載完內(nèi)核后就會去啟動根文件系統(tǒng),而啟動根文件系統(tǒng)這個(gè)過程被bootargs這個(gè)參數(shù)控制,所以我們需要修改這個(gè)參數(shù)以使系統(tǒng)運(yùn)行我們的根文件系統(tǒng),但這之前我們需要在宿主機(jī)上將根文件系統(tǒng)共享出來。我們先在linux系統(tǒng)中配置好nfs服務(wù)器,并且在設(shè)置配置文件exports將根文件系統(tǒng)所在路徑共享出來,接下來在ARM開發(fā)板啟動時(shí)控制超級終端進(jìn)入shell界面,在這里輸入命令print會顯示開發(fā)板啟動的配置信息,通過set命令我們可以設(shè)置bootargs 參數(shù)為: console=ttySAC0 root=/dev/nfs
nfsroot=192.168.0.113:/mynfs/rootfs ip=192.168.0.1:192.168.0.113:192.168.0.1:255.255.255.0:mini6410.arm9.net:eth0:off
設(shè)置完成后用save命令保存設(shè)置,輸入reset復(fù)位命令,ARM系統(tǒng)重啟,重啟完成后我們看到ARM系統(tǒng)的根文件系統(tǒng)就是我們自己制作的根文件系統(tǒng)。
實(shí)習(xí)體會
在嵌入式系統(tǒng)中,除了課本上的基礎(chǔ)知識外,還學(xué)會了軟件編程的基本思路,掌握了液晶屏的使用及其電路設(shè)計(jì)方法;掌握有關(guān)音頻處理的基礎(chǔ)知識;掌握液晶顯示文本及圖形的方法與程序設(shè)計(jì)。
通過這次設(shè)計(jì),掌握了液晶顯示實(shí)驗(yàn)、μC/OS-II移植、μC/OS-IILCD顯示的工作原理及串口通信實(shí)驗(yàn)的工作過程,學(xué)會了使用仿真軟件Embest EduKit-IV實(shí)驗(yàn)平臺及ULINK2仿真器套件,并學(xué)會通過應(yīng)用軟件仿真來實(shí)現(xiàn)各種通信系統(tǒng)的設(shè)計(jì),對以后的學(xué)習(xí)和工作都起到了一定的作用,加強(qiáng)了動手能力和學(xué)業(yè)技能。雖然花了很長時(shí)間編寫軟件程序設(shè)計(jì),但這一切還是理論上的。希望學(xué)校能提供機(jī)會和條件,讓我們能夠去真正地將理論和實(shí)踐相結(jié)合。通過這次程序,感覺自己所掌握的知識是那么的有限,還有許多需要改進(jìn)和不足的地方,同時(shí)也幫助了我怎樣學(xué)好這門課程,增加了我對這門學(xué)科的興趣。總體來說,這次實(shí)習(xí)我受益匪淺。在摸索該如何設(shè)計(jì)電路使之實(shí)現(xiàn)所需功能的過程中特別有趣,培養(yǎng)了我的設(shè)計(jì)思維,增加了實(shí)際操作能力。在讓我體會到了設(shè)計(jì)電路的艱辛的同時(shí),更讓我體會到成功的喜悅和快樂。通過這次實(shí)習(xí)通信系統(tǒng)的設(shè)計(jì),使我更加清楚以后的發(fā)展及學(xué)習(xí)的方向。
第四篇:實(shí)習(xí)總結(jié)嵌入式
實(shí)習(xí)總結(jié)
就在昨天3月9日,學(xué)校規(guī)定實(shí)習(xí)時(shí)間已經(jīng)到期了。從上個(gè)月的13日到現(xiàn)在已經(jīng)近一個(gè)月,雖然與公司的實(shí)習(xí)時(shí)間還沒有結(jié)束,但是為了完成學(xué)校交待的任務(wù),在此對這段時(shí)間的實(shí)習(xí)做一個(gè)總結(jié)。首先,我先來簡單介紹下實(shí)習(xí)單位。我實(shí)習(xí)的單位全稱——上海寶信軟件股份有限公司廈門分公司。其作為上海寶信軟件中的重要一員,是寶信軟件在全國多網(wǎng)點(diǎn)支持服務(wù)的延伸,具備與寶信軟件上海總部相同的技術(shù)服務(wù)能力,并可無限制調(diào)用總部專家資源,秉承寶信軟件“IT服務(wù),提升信息價(jià)值”的經(jīng)營理念,致力于IT服務(wù),主營業(yè)務(wù)包括網(wǎng)絡(luò)安全產(chǎn)品銷售、系統(tǒng)集成、運(yùn)維服務(wù)、軟件工程等。其次,向大家介紹是我的實(shí)習(xí)內(nèi)容。這里要先介紹我的實(shí)習(xí)崗位——嵌入式軟件開發(fā)工程師。實(shí)習(xí)內(nèi)容大致分為兩塊,一是軟件測試,二是編碼。在我們剛來的前兩周,我的實(shí)習(xí)內(nèi)容就是軟件測試。軟件測試的主要內(nèi)容是UnitTest也就是單元測試。但是,在實(shí)習(xí)剛開始的階段,我并沒有就馬上做測試。而是有前輩給我發(fā)了一份我們要做的產(chǎn)品的功能書給我看。功能書文檔是日文版的,我要把它看懂,才知道我們這里到底是做什么。后面的測試工作就是做單元測試了。我們在做測試是有測試環(huán)境的,整個(gè)單元測試過程是有前人經(jīng)驗(yàn)的。所以只要按照規(guī)則來就沒有問題,也相對比較簡單。就這樣單元測試做了近8天左右,測試了51個(gè)c++函數(shù)。其實(shí),單元測試比較簡單,但是碰到函數(shù)的輸入輸出的值及路徑多的時(shí)候,特別的煩,會影響測試效率。實(shí)習(xí)的另一個(gè)內(nèi)容就是編碼,其實(shí)說的確切一點(diǎn),是看代碼。一個(gè)剛來不到3周的新員工,以前又沒有經(jīng)驗(yàn),公司怎么會放心讓你寫代碼。有前輩給我安裝了秀丸和Source Insight軟件,然后給了我一代碼,讓我按上面看,有問題可以問組里的前輩。C++代碼是看的懂,但是太多的函數(shù),被調(diào)用的關(guān)系也不清楚,也不了解決函數(shù)的意義,所以感到很無趣。也許是在考驗(yàn)我的耐心或者是讓我熟悉代碼編寫的規(guī)范。不管是什么目的,至少自己可以鞏固下c++的基礎(chǔ)。不過真的要感謝前輩的細(xì)心指導(dǎo),使我大概了解程序的調(diào)用關(guān)系。
再次,向大學(xué)介紹下我的實(shí)習(xí)階段的工作過程。每的8小時(shí)的上班時(shí)間,但是一般會比這個(gè)時(shí)間長的。早上8點(diǎn)45分到9點(diǎn)15分不等上班,晚上5點(diǎn)30分到6點(diǎn)不等下班,中午11點(diǎn)可以去吃飯、1點(diǎn)之前上班。這個(gè)時(shí)間還是比較人性化的。當(dāng)然也有時(shí)候也要加班,如有時(shí)候日本客戶來這里的時(shí)候,發(fā)現(xiàn)我們的人都很早下班的時(shí)候,他就會和我們的上級說,然后我們就得加班。這也是一種非常情況,但是加班是可以調(diào)休的。每天的上班時(shí)間基本上是跟電腦打交道。前期實(shí)習(xí)階段都是打開電子表格看日語版功能說明書,后面做測試的時(shí)間就是各種軟件一起用了。每天做單元測試的時(shí)候,其實(shí)感覺特別煩。有時(shí)候一天做7到8個(gè),有時(shí)候一天2個(gè)做不到。但是整個(gè)過程自己還是堅(jiān)持下來了,雖然很累,自己還是很好強(qiáng)的。后期基本上是學(xué)習(xí)編程了。由于后面項(xiàng)目已經(jīng)交互,所以每天都不沒有加班了。每天的工作主要就是學(xué)習(xí)代碼規(guī)范,如那里怎么縮進(jìn)、命名之類的事。至于邏輯什么的,還是很不清楚,還需要努力多問多想。
再次,與大家分享下我的實(shí)習(xí)收獲。雖然與原計(jì)劃5個(gè)月的實(shí)習(xí)還差很遠(yuǎn),但自己還是很有收獲。其一,對于歌樂Audio項(xiàng)目有一定的了解。具體的表現(xiàn)在,分了幾層。我個(gè)人是分配到app層,也就是業(yè)務(wù)應(yīng)用層。雖然對業(yè)務(wù)的熟悉不夠深,但大概知道,每一天前輩們都在做什么事。其二,日語方面的加強(qiáng)。因?yàn)榭蛻舴矫婊旧鲜侨毡救耍约訌?qiáng)日語學(xué)習(xí)是必須的。有了這樣的一種壓力,自動會轉(zhuǎn)化為一種動力,促使我去學(xué)習(xí)。我想這樣多少可以提高下我的日語能力。還有就是,常常有很多日本客戶就做在我的旁邊。感情還是很緊張,因?yàn)椴恢涝趺锤涣鳌=Y(jié)果每一天他來的時(shí)候,我只能和他說聲早上好。希望自己在今后的時(shí)間里要多多加強(qiáng)日語學(xué)習(xí),爭取與日本客戶交流,才能提升自己的能力。其三,交流溝通能力的提高。其實(shí)自習(xí)也一直覺得溝通能力對成功貢獻(xiàn)是最大,要把一件做成肯定不是一個(gè)人的事情,我們需要與別人溝通。在溝通中互相了解相聯(lián)系的部分,這樣才能夠避免摩擦帶來不必要時(shí)間與精力的浪費(fèi)。而我自己的溝通能力提高表現(xiàn)在自我意識的提高。當(dāng)遇到問題的時(shí)候,會主動的想想,是哪個(gè)具體的點(diǎn)不懂,然后列出問題,再向前輩請教。這樣大腦里就會有一個(gè)邏輯過程。通過這樣就可以把自己的意思清楚的傳達(dá)給別人。在別人向自己傳達(dá)信息的時(shí)候,我會邊思考邊聽,遇到不了解的地方,講明白自己的不解之處。這樣這個(gè)溝通過程就會比較流暢。其四,職場意識的提高。可以說來實(shí)習(xí)就意味我們提前
畢業(yè)了,提前進(jìn)入社會。所以,由學(xué)生到社會職業(yè)人的過渡期就被實(shí)習(xí)給填充了。經(jīng)過一個(gè)月實(shí)習(xí),我發(fā)現(xiàn)自己已經(jīng)很習(xí)慣在公司工作。對于自己能做什么,未來能做什么也有了一定的思考。不管畢業(yè),我還是留在這個(gè)公司還是去其他的公司,我想我心中已經(jīng)有了這份意識,這對我將來的職業(yè)生涯都是有幫助的。其五,時(shí)間管理。很多人工作的時(shí)候就忘記了生活的存在,我們的生活是多彩的,并不是只有工作。其中,有一項(xiàng)轉(zhuǎn)變的比較大,就是很多人不喜歡運(yùn)動了。對于這些,我都是不太認(rèn)可的。我還是會抽出時(shí)間出去運(yùn)動一下。我覺得運(yùn)動可以帶給我健康,同時(shí)會讓我的精神更好,工作更有效率。其實(shí),運(yùn)動并不會浪費(fèi)我們時(shí)間,而是會給生活帶更美好。
最后,與大家分享一下我這個(gè)月實(shí)習(xí)的心得與體會。通過這段時(shí)間的學(xué)習(xí),從無知到認(rèn)知,到深入了解,漸漸的我喜歡上這份工作,讓我深刻的體會到學(xué)習(xí)的過程是最美的。在整個(gè)實(shí)習(xí)過程中,我每天都有很多的新的體會,新的想法,想說的很多,我總結(jié)下來主要有以下幾點(diǎn):
1、持之以恒
既然選擇了自己的這份工作,不管工作本身怎么樣,我們都要堅(jiān)持往下走。因?yàn)槲蚁嘈琶恳患夜镜墓ぷ髟矶际遣畈欢嗟摹H绻阍谶@家公司做不住的話,我想你在另外一家公司也是做不住的。只有我們改變自己的態(tài)度,才可能戰(zhàn)勝心中的浮躁。我們新人一來到公司我,一開始都不會立刻給工作我們做,-一般也都是先讓我們看看文檔或代碼,時(shí)間短的要幾天,時(shí)間長的要幾周,在這段時(shí)間里很多人會覺得很無聊,沒事可做,便覺沒有發(fā)展空間,于是產(chǎn)生想走的念頭。恰恰在這個(gè)關(guān)鍵的時(shí)候更需要我們的堅(jiān)持,輕易放棄只會讓自己后悔。
2、不怕做小事,那是一種考驗(yàn)
我們一來到公司實(shí)習(xí)的時(shí)候,很多組里的前輩多數(shù)還是把我們當(dāng)學(xué)生看待。他們不會也不敢讓我們直接參考到一個(gè)真正的項(xiàng)目中去。在這個(gè)其間一般會給我們看一些過去做過項(xiàng)目的文檔和代碼,其實(shí)不可小看這些小事,也許是為了考驗(yàn)我們,也許是讓我們先了解業(yè)務(wù)。作為一人新人,一定要積極面對這些,勇于擔(dān)當(dāng)做小事,喜歡做小事。這樣公司同事才會更快的接受你,慢慢地才會讓你做一些重要的工作。
3、態(tài)度端正,一定要多主動
我們到公司工作以后,要知道自己能否勝任這份工作,關(guān)鍵是看你自己對待工作的態(tài)度,態(tài)度對了,即使自己以前沒學(xué)過的知識也可以在工作中逐漸的掌握。態(tài)度不好,就算自己有知識基礎(chǔ)也不會把工作做好,四多一少就是我的態(tài)度,我剛到這個(gè)崗位工作,根本不清楚該做些什么,并且這和我在學(xué)校讀的專業(yè)與這里做的東西還是不太一樣的,剛開始我覺得很頭痛,可經(jīng)過工作過程中多看別人怎樣做,多聽別人怎樣說,多想自己應(yīng)該怎樣做,然后自己親自動手去多做,終于在這一個(gè)月里對工作有了一個(gè)較系統(tǒng)的認(rèn)識,慢慢的自己也可以完成相關(guān)的工作了,光用嘴巴去說是不行的,所以,我們今后不管干什么都要端正自己的態(tài)度,這樣才能把事情做好。4.不要報(bào)怨
其實(shí)在做單元測試的那個(gè)時(shí)候,有時(shí)候覺的特別的煩。有時(shí)候做了半天連一個(gè)函數(shù)都沒有把弄出來,那種感覺真的是非常的難受,心中也有委屈。可是這是我的工作,我報(bào)怨也沒有用。只能一步一個(gè)腳印走過來。直到后面把函數(shù)測完,心中還是很有成就感的。其實(shí)有的人會覺得公司這里不好那里不好,同事也不好相處工作也不如愿,經(jīng)常埋怨。我覺這樣只會影響自己的工作情緒,不但做不好工作,還增加了自己的壓力。所以,我們應(yīng)該少埋怨,要看到公司好的一面,對存在的問題應(yīng)該想辦法去解決而不是去報(bào)怨,這樣才能保持工作的激情。
5、虛心學(xué)習(xí)
由于我們是新手,而且又還沒有從學(xué)校里完全走出來。所以在工作過程中,我們會碰到很多問題,有的問題我們可以有我們所學(xué)的解決,有的有很大業(yè)務(wù)性的問題,我們就無法解決。這個(gè)時(shí)候不要不懂裝懂,應(yīng)該虛心地向前輩們請教。請不要害怕,因?yàn)榍拜吙辖涛覀兛隙ㄊ俏覀兊母猓瑢ξ覀円院笤诠ぷ髦卸加袔椭摹M瑫r(shí)請教的時(shí)候也是一個(gè)鍛煉溝通的過程。在前輩給我們解惑的時(shí)候,我們也應(yīng)該虛心的接受,不要裝著一副不屑的樣子。
6、知錯(cuò)能改
做為一名新人,不管在學(xué)校有多么的優(yōu)秀,來到公司,我們頂多就只有點(diǎn)基礎(chǔ),其他什么的都得重新開始。在學(xué)習(xí)的過程當(dāng)中,犯錯(cuò)是不可避免的。知錯(cuò)能改是我們唯一的選擇。明知自己有錯(cuò),還理直氣壯那是不應(yīng)該的。我認(rèn)為這種行為是可恥的。在犯錯(cuò)的時(shí)候來銘記于心,不要第二次在犯同樣的錯(cuò)了。當(dāng)前輩或
其他人指出我們的錯(cuò)誤時(shí),我們要虛心聽教,坦誠改錯(cuò)。這樣我們才會進(jìn)步,才會在組里與同事相處融洽。
7、團(tuán)隊(duì)合作
重要的不是我,是我們。在一個(gè)項(xiàng)目組里,我并不是一個(gè)人。我只能說我是組里的一個(gè)部分。我們每一人都不是神,我們不可能一個(gè)來完成所有的工作,因此,必須分工。但是,分工并不是都很明確的。每個(gè)人分到的工作,多多少少都會和別人的工作的有交集。這是因?yàn)椋鳛橐粋€(gè)項(xiàng)目的每個(gè)部分,最終還是整合形成整體。我們還是需要這些部分與部分交集作為連接點(diǎn)組合起來。因此,每個(gè)雖是分工,但更多是合作。我們中的我必須明白這些,要有團(tuán)隊(duì)觀,做好自己的同時(shí),更重要也要做好與別人的溝通。這樣才會避免工作的重復(fù),意見的不同等負(fù)能量。
8、溝通能力
在上一點(diǎn)的體會團(tuán)隊(duì)合作中,其實(shí)我已經(jīng)說了,團(tuán)隊(duì)合作的基礎(chǔ)就是溝通。一個(gè)有效率的團(tuán)隊(duì),我認(rèn)為它的成功就在于成員之間良好的溝通能力。因?yàn)椋伺c人的溝通是信息傳遞的媒介。沒有良好的溝通基礎(chǔ),信息在傳遞的時(shí)候就會被曲解。在軟件開發(fā)的整個(gè)過程,團(tuán)隊(duì)合作是至關(guān)重要。每一環(huán)節(jié),都離不開溝通。需求變更帶來的問題,尤其需要在溝通中解決問題。所以,讓自己把信息傳遞的正確和有效,提高溝通能力是必不可少的。9.做人做事講究原則
其實(shí)在公司上下班是一個(gè)很大的學(xué)問。同事都已經(jīng)來上班了,你才來。或者是同事還沒下班,你人就都先走了。其實(shí)要把這些看成一種常態(tài)。在公司上班不是比誰先來,也不是比誰晚走的,比得是自己的工作的效率。有時(shí)候,我們工作做完,是可以先走。你想想,你走了之后,估計(jì)別人也敢走了。從這一點(diǎn)上,可以說你是幫助了大家。當(dāng)然這只是開玩笑,做人做事要有點(diǎn)原則。工作沒完成當(dāng)然不能跑回去,這是沒有責(zé)任的表現(xiàn),以后主管怎么能把事情交給你。工作做完,想先走就走了,不必當(dāng)擔(dān)心這擔(dān)心那的。我相信一個(gè)好的主管,不會以一些無所謂的因素來衡量一個(gè)人的。只要自己身體正,就不怕別人說。10.做好職業(yè)生涯規(guī)劃
每個(gè)人在來實(shí)習(xí)之前,肯定會想我來這家公司是做什么。當(dāng)你想好,并決定
來的時(shí)候,你已經(jīng)做了第一步職業(yè)生涯規(guī)劃了。實(shí)習(xí)也是成了我們檢驗(yàn)計(jì)劃的時(shí)候,如果你發(fā)現(xiàn)這個(gè)工作不適合你,畢業(yè)前你還有機(jī)會可以做換。如果感覺這個(gè)工作適合你,那么你就可以做下一步的規(guī)劃了。我當(dāng)初選擇這個(gè)工作,是因?yàn)榍度胧杰浖_發(fā)在近幾年會發(fā)展會比較快,而且本人對c++和c比較感興趣。同時(shí),目前做的工作是對日外包,對于我日語的提高也是很有幫助的。現(xiàn)在實(shí)習(xí)給我感覺是,不出現(xiàn)什么其他狀況,應(yīng)該畢業(yè)后會留在這個(gè)公司。至少今后的職業(yè)規(guī)劃以日語和編程提高為主,以管理為輔。
在這里,我要感謝上海寶信軟件股份分司給我這次寶貴的實(shí)習(xí)機(jī)會。同時(shí),也要感謝組員對我有直接幫助的前輩。當(dāng)然還要感謝學(xué)校和畢業(yè)指導(dǎo)王老師的關(guān)心與指導(dǎo)。
總而言之,這次實(shí)習(xí)是我大學(xué)四年來最正式的一次。我想通過這次的實(shí)習(xí),我將從學(xué)生走向社會職業(yè)人的轉(zhuǎn)變。一個(gè)月的時(shí)間過的太快了,但是我們的實(shí)習(xí)并沒有結(jié)束。通過這次的總結(jié),我對這次實(shí)習(xí)的意義有了深刻地認(rèn)識。自己在今后的學(xué)習(xí)與工作中,一定會更加努力做的更好。
第五篇:實(shí)習(xí)總結(jié)-嵌入式ARM
實(shí)訓(xùn)總結(jié)
班級 卓越1301姓名***
通過這段時(shí)間的學(xué)習(xí)使我學(xué)到了很多知識,并且了解到ARM的應(yīng)用以及對開發(fā)板的應(yīng)用,為以后的學(xué)習(xí)奠定了一定的基礎(chǔ)。
嵌入式系統(tǒng)一般定義為以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗和應(yīng)用環(huán)境有特殊要求的專用計(jì)算機(jī)系統(tǒng)。是將應(yīng)用程序、操作系統(tǒng)和計(jì)算機(jī)硬件集成在一起的系統(tǒng)這是從技術(shù)角度。從系統(tǒng)角度上是設(shè)計(jì)完成復(fù)雜功能的硬件和軟件,并使其緊密耦合在一起的計(jì)算機(jī)系統(tǒng)。
廣義上講,凡是帶有微處理器的專用軟硬件系統(tǒng)都可稱為嵌入式系統(tǒng)。如各類單片機(jī)和DSP系統(tǒng)。這些系統(tǒng)在完成較為單一的專業(yè)功能時(shí)具有簡潔高效的特點(diǎn)。但由于他們沒有操作系統(tǒng),管理系統(tǒng)硬件核軟件的能力有限,在實(shí)現(xiàn)復(fù)雜多任務(wù)功能時(shí),往往困難重重,甚至無法實(shí)現(xiàn)。從狹義上講,我們更加強(qiáng)調(diào)那些使用嵌入式微處理器構(gòu)成獨(dú)立系統(tǒng),具有自己操作系統(tǒng),具有特定功能,用于特定場合的嵌入式系統(tǒng)。
嵌入式的應(yīng)用也比較廣泛涉及軍事國防、工業(yè)控制、消費(fèi)電子和網(wǎng)絡(luò)。在家用方面更是數(shù)字電視、信息家電、智能玩具、手持通訊、存儲設(shè)備的核心。
在ARM指令集中了解到ARM的尋址方式以及它的的特性,具有高效、快速的特點(diǎn),還有Thumb指令集具有靈活、小巧的特點(diǎn)。
在這次實(shí)訓(xùn)中做了兩個(gè)項(xiàng)目,一個(gè)是LED燈,實(shí)現(xiàn)LED燈的點(diǎn)亮是比較簡單的,通過查找手冊可以很快的了解到要使用的寄存器和方法,另一個(gè)項(xiàng)目是DS18B20這個(gè)比較復(fù)雜,除了要掌握對寄存器的使用,還要對了解對串口的初始化,讀寫字節(jié)等等。
感謝這次實(shí)訓(xùn),通過這次的實(shí)訓(xùn)項(xiàng)目,使我大體了解制作項(xiàng)目的步驟,了解了嵌入式技術(shù)的掌握是需要一個(gè)過程的。實(shí)事求是的說,嵌入式技術(shù)的全面掌握是有相當(dāng)難度的,通過積累和動手總會有收獲的,從實(shí)驗(yàn)中也明白了一個(gè)大的項(xiàng)目并不是一個(gè)人可以完成的,團(tuán)隊(duì)協(xié)作很重要。
姓名:***
年級:卓越1301
2014-7-5