999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

關于基于ARM嵌入式軟件設計教學的若干探索

2013-04-02 07:37:06于杰
赤峰學院學報·自然科學版 2013年19期
關鍵詞:嵌入式調試設計

于杰

(廈門大學嘉庚學院 計算機科學與技術系,福建 漳州 363105)

關于基于ARM嵌入式軟件設計教學的若干探索

于杰

(廈門大學嘉庚學院 計算機科學與技術系,福建 漳州 363105)

嵌入式軟件設計是當今社會需求的一個熱點,也是高校計算機專業教學的一個難點,長期以來高校的嵌入式軟件設計教學存在著忽視開源軟件教學工具,輕視軟件調試教學,和缺乏軟件設計實例化等問題,本文主要在實際教學的基礎上,總結出若干解決辦法,從而達到提高嵌入式軟件設計教學水平的目的.

嵌入式;軟件設計;軟件調試;開源軟件;項目化;教學

目前,嵌入式產品已經無處不在,通信、信息、數字家庭和工業控制等領域,隨處都能見到嵌入式產品.而ARM系列的處理器更是其中的佼佼者,這使得基于ARM的嵌入式系統成為當今計算機領域最熱門的學科之一,龐大的嵌入式軟件系統的市場急需大量合格的專業人才,這無疑為高校的嵌入式軟件設計教學帶來了新的機遇[1].但與此同此,嵌入式知識的學習非常廣泛,不僅要學習程序設計的知識,同時也涉及到數據結構,計算機組成原理,操作系統和編譯原理等相關知識,這樣為相應的教學帶來了不小的挑戰,如何既能做到聯系相關課程的知識,又能突出嵌入式軟件設計本身的特點,便成為當前嵌入式軟件設計教學急需解決的問題.而本文主要總結了作者在嵌入式軟件設計教學方面的經驗,希望能夠對其他高校的嵌入式軟件設計教學有所啟發.

1 開源軟件和開發環境的引入

目前高校傳統的嵌入式軟件教學主要采用的是ADS、RVDS、以及CodeWarrior等國外商業軟件進行,這些商業軟件有著穩定可靠、方便易用、可擴展性強等諸多優點,但是由于其商業性質的原因,也不可避免的帶來了,諸如知識產權,軟件費用,以及盜版泛濫等相關問題,這些問題已經嚴重的影響了嵌入式軟件教學的進一步發展.把開源軟件長期排除在外,使開源軟件教育以商業化培訓為主,是少數人才能接受的“陽春白雪”式高端教育,未能形成開源人才的規?;囵B.對于國內眾多開源企業來說,“招不到合適的人才”也成為長期困擾企業發展的瓶頸之一.而把開源軟件和開發環境引入高校課堂當中,正是對開源軟件普及型教育的一種體現,也是增強計算機專業畢業生競爭力的一種手段.

為此,筆者根據本校基于ARM的嵌入式軟件設計教學實際情況,使用GNU-Make與編譯器配合負責代碼的管理.GNU-Make可以支持大多數PC操作系統,包括Windows、Linux、MacOS等,GNU-Make的機制簡單易懂且適用于模塊化的系統,而且GNU-Make其完全免費的特性,更可以在實驗室等環境大面積的使用,而沒有費用問題,這樣就為學生的學習搭建了一個有效的平臺,而且,該平臺由于沒有過多的封裝,開放其內部的細節,也適合學生進一步的了解,且具有良好的跨平臺移植能力,可用于多種教學和實驗環境中.

2 軟件調試的引入與強化

2.1 嵌入式軟件調試教學的起因

在大多數傳統的基于ARM嵌入式軟件設計更多的是強調怎樣進行軟件的設計,希望通過程序設計的教學,讓學生掌握相應的知識,但這樣帶來的一個問題就是學生會認為軟件開發的主要過程就是設計和編碼的過程而對調試和測試的理解和掌握不夠深刻.初學者在設計編寫程序的時候,很可能出現各種意料之外的情況,比如突然有一個錯誤報告,或者給出一個看似正確但卻并非我們期望的結果,也可能忽略用戶的命令,甚至長時間沒有反應等,這些都是需要通過軟件調試來進行解決的.筆者在教學過程中注意總結出初學者易犯的若干種錯誤,并給出解決這些錯誤的常見調試方法.

2.2 調試工具GDB的引入

通過對調試工具GDB的引用來向學生介紹常見的調試方法和思路,比如調試中必不可少的內容—斷點,向學生講授關于斷點的細節,包括設置、刪除和禁用斷點,從一個斷點移到另一個斷點,查看關于斷點的詳細信息等等.而對于這些調試最適應的算法,當非樹的遍歷莫屬,這樣就采用實例涉及遍歷樹的代碼,重點是介紹當到達斷點時如何方便的顯示樹中節點的內容.再比如由于段錯誤而產生的致命運行時錯誤,筆者首先介紹了崩潰時在底層發生了什么事,包括程序的內存分配以及硬件與操作系統的協同作用.并繼而向學生介紹核心文件,包括如何創建核心文件,如何使用它們來完成“事后反思”.

2.3 錯誤代碼的解決

使用GDB工具進行調試的前提是代碼的成功編譯,但是在實際的軟件開發當中,學生經常會遇到代碼不能編譯的情況,那么這時候,GDB調試工具將變得無能為力,因此一些常見的處理這種問題的方法也需要介紹給學生,比如如何處理缺少必要的庫造成的連接失敗問題,比如如何處理編譯器指出第x行有語法錯誤,而事實上第x行完全正確,真正的錯誤在前面的某一行.而這些過程中學生們會發現他們以前學過的確認原則,二分法搜索原則非但不再抽象,晦澀,反而是一種有效的解決問題的方法和手段[2].

3 以系統移植為重點的實例化教學

現有的嵌入式教材大體可以分為兩類,一類教材泛泛而談:ARM、MIPS、x86等各種體系結構處理器均做了介紹;uC/OS、Linux、WinCE等各種操作系統也是一一羅列其特色,但這種教材對于學生來說,更多的是走馬觀花的查閱,很難掌握嵌入式的基礎知識,更無法了解基于某一款處理器的基本開發過程.另一類教材通常是由嵌入式系統實驗設備廠家提供的,基本就是數據手冊加實驗手冊,學生使用這種教材往往只見樹木不見森林,也很難系統掌握嵌入式系統的基本理論和概念[3].

筆者在從事基于ARM的嵌入式軟件設計教學工作中,根據自己的授課經驗,總結出一套實例化的教學方法,由于嵌入式程序開發平臺(PC機)和運行平臺(嵌入式設備)的不同,所以所有的嵌入式開發遇到的第一個問題,毫無疑問的就是軟件的移植,所以筆者的實例化教學也是圍繞著軟件移植而展開的.

首先是Bootloader的移植,介紹了Bootloader相關知識、移植方法及要注意的事項.之后以U-boot為例,詳細的分析了U-boot代碼,并修改U-boot代碼,使之支持Norflash和Nandflash、Nandflash啟動、DM9000網卡和YAFFS文件系統.通過本實例的學習,學生將會對嵌入式通用的Bootloader有一個大體的了解,并且可以熟練的移植U-boot和使用U-boot.

其次是內核的移植,對Linux內核組成和目錄進行講解,分析Linux內核的Makefile,解釋了Makefile的編譯流程,之后講解如何對內核進行剪裁配置,使之支持YAFFS、RTC時鐘、LCD和DM9000等,最終實現了在ARM平臺上的內核移植,這樣學生將對Linux內核有一個更深入的了解,學會如何進行內核的剪裁和內核的移植,同時以Busybox為基礎進行嵌入式開發板文件系統的移植,這樣學生通過對文件系統的選擇,對嵌入式系統特點有更深入的了解,也將熟練的掌握如何配置一個文件系統并對其進行移植.

再次是驅動程序的移植,首先對Linux設備驅動進行了介紹和分類,講解了設備驅動程序的移植步驟,以Hello world、led和按鍵三個實例介紹了Linux設備驅動的移植過程,之后講解了如何完善串口、USB、聲卡和SD卡的驅動.通過這些的學習,學生將會明白Linux設備驅動的重要性,學會如何寫一個簡單的Linux設備驅動并將此驅動編譯進內核,或者以模塊方式加載到內核中,之后學生將學會如何完善Linux已有的一些驅動程序.

最后是應用程序的移植,先對嵌入式GUI進行簡單的介紹,并對常見的一些GUI進行交叉編譯和安裝,之后進行音頻解碼器madplay的移植、數據庫SQLite的移植和Webserver的移植,通過這些學習,學生將掌握應用程序移植的關鍵,達到舉一反三的目的,嘗試移植更多的應用程序.由于現在Android系統的火爆和市場對Android人才的大量需求,筆者也加入了對Android系統的移植講解.

總結,通過上述教學方法的實施,學生的學習目標更加的確定,并使得學生對理論學習熱情和主動性都有所提高,加強了學生的動手能力,這些經歷可能會改變一個人的學習和工作習慣,也許對學生來說是受益終身的.另外,由于學生在大學期間已經有了一些項目開發的基礎,從文檔寫作到涉及編碼的過程都得到了鍛煉,因此學生很容易找到工作,就業之后,也能非常順利的實現過渡.

〔1〕文全剛.嵌入式linux操作系統原理與應用[M].北京航空航天大學出版社,2011.

〔2〕張云.軟件調試的藝術[M].人民郵電出版社,2009.

〔3〕李寧,宋薇,庫少平.項目化嵌入式教學方法研究[J].單片機與嵌入式系統應用,2010(2):5-8.

G642

A

1673-260 X(2013)10-0240-02

猜你喜歡
嵌入式調試設計
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
搭建基于Qt的嵌入式開發平臺
FOCAS功能在機床調試中的開發與應用
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
調壓柜的調試與試運行探討
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 91青草视频| 99在线观看国产| 成人午夜视频网站| 久久综合五月婷婷| 免费a级毛片视频| 福利小视频在线播放| 亚洲综合专区| 久久鸭综合久久国产| 免费无码AV片在线观看中文| 青青热久麻豆精品视频在线观看| 在线观看91精品国产剧情免费| jizz在线观看| 亚洲av色吊丝无码| 又黄又湿又爽的视频| 成人午夜福利视频| 五月激激激综合网色播免费| 午夜无码一区二区三区在线app| 青青草原国产精品啪啪视频| 亚洲成年人网| 国产91高跟丝袜| 伊人成色综合网| 免费毛片a| 亚洲天堂日韩av电影| 国产亚洲成AⅤ人片在线观看| 日本亚洲国产一区二区三区| 成色7777精品在线| 亚洲国产精品一区二区第一页免 | 114级毛片免费观看| 日韩毛片免费观看| 亚洲无码视频喷水| 911亚洲精品| 亚洲va欧美ⅴa国产va影院| 国产精品丝袜视频| 日韩成人免费网站| 亚洲av无码人妻| 亚洲精品国产自在现线最新| 欧美精品成人一区二区在线观看| 亚洲欧美日本国产综合在线| 狠狠亚洲婷婷综合色香| 精品少妇人妻一区二区| 日韩小视频在线播放| 久久久久中文字幕精品视频| 国产精品久久久久久久久久98| 欧美午夜精品| 久久综合色88| 青青草原国产av福利网站| 天堂av高清一区二区三区| 国产哺乳奶水91在线播放| 夜夜拍夜夜爽| 亚洲成aⅴ人在线观看| 亚洲黄网视频| 尤物亚洲最大AV无码网站| 青青青草国产| 国产a v无码专区亚洲av| 91麻豆国产在线| 麻豆精品在线| 午夜成人在线视频| 欧洲精品视频在线观看| 69av在线| 久久福利片| 永久免费AⅤ无码网站在线观看| 精品91视频| 丁香婷婷久久| 91 九色视频丝袜| 九九热精品免费视频| 美女内射视频WWW网站午夜 | www.91在线播放| 国产91成人| 久久亚洲AⅤ无码精品午夜麻豆| 亚洲日本中文综合在线| 亚洲国产清纯| 国产成人综合亚洲欧美在| AV片亚洲国产男人的天堂| 在线欧美一区| 亚洲 日韩 激情 无码 中出| 中文字幕2区| 亚洲无码高清一区二区| 在线高清亚洲精品二区| 久久精品人人做人人| 91久久偷偷做嫩草影院| 欧美区日韩区| 日韩毛片免费观看|