久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

嵌入式有感

時間:2019-05-12 06:27:29下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《嵌入式有感》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《嵌入式有感》。

第一篇:嵌入式有感

學嵌入式有感

電子技術、計算機技術和網絡技術的飛速發展,極大的影響了人們的日常生活,甚至改變了人們的生活模式。人們到處可以見到電子設備的存在,而幾乎所有的電子設備中都包含著嵌入式系統。那么嵌入式系統即一般指非 PC 系統,有計算機功能但又不稱之為計算機的設備或器材。它是以應用為中心,軟硬件可裁減的,適應應用系統對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統。

它的應用幾乎涉及到了生活中的所有電器設備,如掌上 PDA、移動計算設備、電視機頂盒、手機上網、數字電視、多媒體、汽車、微波爐、數字相機、家庭自動化系統、電梯、空調、安全系統、自動售貨機、蜂窩式電話、消費電子設備、工業自動化儀表與醫療儀器等。而大部分的嵌入式系統并不需要操作系統,首先是因為沒有必要,例如洗衣機和微波爐等等,它們的功能有限。這樣的系統只需要一道控制程序管好幾個按鍵、指示燈和數碼管就可以了。其次是因為條件不允許。它們采用4位或8位的微處理器,有的內存少得不到1KB,根本沒有操作系統生存的空間。即使要完成一些比較復雜的任務,也只能依靠程序員的技巧去精雕細琢,以彌補硬件條件的不足。隨著微電子技術的不斷創新和發展,大規模集成電路的集成度和工藝水平不斷提高,集成電路工業已經生產了大量低成本、高可靠性和高精度的微電子結構模塊,推動了一個全新的技術領域和產業的發展。

嵌入式硬件設計采用了“CPU+PLD+模擬器件”的模式,是指嵌入式系統以中央處理單元(CPU)為基礎和中心,外加可編程邏輯器件(PLD)和模擬器件構成(特別小型的嵌入式設計 除外)。CPU主要包括嵌

入式微處理器(MPU)和嵌入式微控制器(MCU),PLD主要包括PAL、EPLD、CPLD、FPGA等。這種設計模式可以大大簡化嵌入式系統的軟硬件,嵌入式系統總體設計的難度得以降低,而系統總體設計的水平卻得到提高。

這種結構是由目前集成電路的發展水平和技術現狀決定的。集成電路技術的發展促成 了這種設計模式的出現,微處理器技術和器件可編程技術給嵌入式系統設計人員帶來了巨大的方便,它提供了用軟件來改變和實現硬件的功能,適合硬件解決的問題由硬件解決,適合軟件解決的問題由軟件完成。集成電路技術的發展為這種設計模式的出現提供了全方位支持,計算機硬件平臺性能的大幅度提高,高性能的EDA綜合開發工具(平臺)得到長足發展,為復雜的嵌入式系統設計者提供了不同用途和不同級別集編輯、布局、布線、編譯、綜合、模擬、測試、驗證和器件編程等一體化的集成開發環境。集成電路技術的技術現狀決定設計模式不能拋開模擬器件,現階段模數混合的集成電路很難設計生產,模數和數模轉換器等模擬電路還只能采用傳統的設計方法。

而嵌入式的核心是嵌入式微處理器。嵌入式微處理器一般具備 四個特點:(1)對實時和多任務有很強的支持能力,能完成多任務并且有較短的中斷響應時間,從而使內部的代碼和實時操作系統的執行時間減少到最低限度;(2)具有功能很強的存儲區保護功能,這是由于嵌入式系統的軟件結構已模塊化,而為了避免在軟件模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利于軟件診斷;(3)可擴展的處理器結構,以能迅速地擴展出滿足應用的高性能的嵌入式微處理器;(4)嵌

入式微處理器的功耗必須很低,尤其是用于便攜式的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,功耗只能為 m W 甚至μ W 級。

我們知道嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟件,它是嵌入式系統(包括硬、軟件系統)極為重要的組成部分,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等 Browser。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理越來越復雜的系統資源;能夠把硬件虛擬化,使得開發人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數、驅動程序、工具集以及應用程序。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固態化以及應用的專用性等方面具有較為突出的特點。

一般情況下,嵌入式操作系統可以分為兩類,一類是面向控制、通信等領域的實時操作系統,如 WindRiver 公司的 VxWorks、ISI 的 pSOS、QNX 系統軟件公司的 QNX、ATI 的 Nucleus 等;另一類是面向消費電子產品的非實時操作系統,這類產品包括個人數字助理(PDA)、移動電話、機頂盒、電子書、WebPhone等。

對于非實時操作系統我們了解到早期的嵌入式系統中都沒有操作系統的概念,程序員編寫嵌入式程序通常直接面對裸機及裸設備。在這種情況下,通常把嵌入式程序分成兩部分,即前臺程序和后臺程序。前臺程序通過中段來處理事件,其結構一般為無限循環;后臺程序則掌管整個嵌入式系統軟、硬件資源的分配、管理以及任務的調度,是一個系統管理調度程序。這就是通常所說的前后臺系統。一般情況下,后臺程序也叫任務級程序,前臺程序也叫事件處理級程序。在程序運行時,后臺程序檢查每個任務是否具備運行條件,通過一定的調度算法來完成相應的操作。對于實時性要求特別嚴格的操作通常由中斷來完成,僅在中斷服務程序中標記事件的發生,不再做任何工作就退出中斷,經過后臺程序的調度,轉由前臺程序完成事件的處理,這樣就不會造成在中斷服務程序中處理費時的事件而影響后續和其他中斷。

實際上,前后臺系統的實時性比預計的要差。這是因為前后臺系統認為所有的任務具有相同的優先級別,即是平等的,而且任務的執行又是通過 FIFO 隊列排隊,因而對那些實時性要求高的任務不可能立刻得到處理。另外,由于前臺程序是一個無限循環的結構,一旦在這個循環體中正在處理的任務崩潰,使得整個任務隊列中的其他任務得不到機會被處理,從而造成整個系統的崩潰。由于這類系統結構簡單,幾乎不需要 RAM/ROM 的額外開銷,因而在簡單的嵌入式應用被廣泛使用。

而對于實時系統是指能在確定的時間內執行其功能并對外部的異步事件做出響應的計算機系統。其操作的正確性不僅依賴于邏輯設計的正確程度,而且與這些操作進行的時間有關。“在確定的時間內”是該定義的核心。也就是說,實時系統是對響應時間有嚴格要求的。

實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序出現偏差將會引起嚴重后果。實時系統有兩種類型:軟實時系統和硬實時系統。軟實時系統僅要求事件響應是實時的,并不要求限定某一任務必須在多長時間內完成;而在硬實時系統中,不僅要求任務響應要實時,而且要求在規定的時間內完成事件的處理。通常大多數實時系統是兩者的結合。實時應用軟件的設計一般比非實時應用軟件的設計困難。實時系統的技術關鍵是如何保證系統的實時性。

實時多任務操作系統是指具有實時性、能支持實時控制系統工作的操作系統。其首要任務是調度

一切可利用的資源完成實時控制任務,其次才著眼于提高計算機系統的使用效率,重要特點是要滿足對時間的限制和要求。實時操作系統具有如下功能:任務管理(多任務和基于優先級的任務調度)、任務間同步和通信(信號量和郵箱等)、存儲器優化管理(含 ROM 的管理)、實時時鐘服務、中斷管理服務。實時操作系統具有如下特點:規模小,中斷被屏蔽的時間很短,中斷處理時間短,任務切換很快。

實時操作系統可分為可搶占型和不可搶占型兩類。對于基于優先級的系統而言,可搶占型實時操作系統是指內核可以搶占正在運行任務的 CPU 使用權并將使用權交給進入就緒態的優先級更高的任務,是內核搶了 CPU 讓別的任務運行。不可搶占型實時操作系統使用某種算法并決定讓某個任務運行后,就把 CPU 的控制權完全交給了該任務,直到它主動將 CPU 控制權還回來。中斷由中斷服務程序來處理,可以激活一個休眠態的任務,使之進入就緒態;而這個進入就緒態的任務還不能運行,一直要等到當前運行的任務主動交出 CPU 的控制權。使用這種實時操作系統的實時性比不使用實時操作系統的系統性能好,其實時性取決于最長任務的執行時間。不可搶占型實時操作系統的缺點也恰恰是這一點,如果最長任務的執行時間不能確定,系統的實時性就不能確定。

可搶占型實時操作系統的實時性好,優先級高的任務只要具備了運行的條件,或者說進入了就緒態,就可以立即運行。也就是說,除了優先級最高的任務,其他任務在運行過程中都可能隨時被比它優先級高的任務中斷,讓后者運行。通過這種方式的任務調度保證了系統的實時性,但是,如果任務之間搶占 CPU 控制權處理不好,會產生系統崩潰、死機等嚴重后果。

嵌入式實時操作系統在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統龐大的應用中顯得愈來愈重要。

首先,嵌入式實時操作系統提高了系統的可靠性。在控制系統中,出于安全方面的考慮,要求系統起碼不能崩潰,而且還要有自愈能力。不僅要求在硬件設計方面提高系統的可靠性和抗干擾性,而且也應在軟件設計方面提高系統的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前后臺系統軟件設計在遇到強干擾時,使得運行的程序產生異常、出錯、跑飛,甚至死循環,造成了系統的崩潰。而實時操作系統管理的系統,這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統運行的系統監控進程對其進行修復。通常情況下,這個系統監視進程用來監視各進程運行狀況,遇到異常情況時采取一些利于系統穩定可靠的措施,如把有問題的任務清除掉。

其次,提高了開發效率,縮短了開發周期。在嵌入式實時操作系統環境下,開發一個復雜的應用程序,通常可以按照軟件工程中的解耦原則將整個程序分解為多個任務模塊。每個任務模塊的調試、修改幾乎不影響其他模塊。商業軟件一般都提供了良好的多任務調試環境。再次,嵌入式實時操作系統充分發揮了 32 位 CPU 的多任務潛力。32 位 CPU 比 8、16 位 CPU 快,另外它本來是為運行多用戶、多任務操作系統而設計的,特別適于運行多任務實時系統。32 位 CPU 采用利于提高系統可靠性和穩定性的設計,使其更容易做到不崩潰。例如,CPU 運行狀態分為系統態和用戶態。將系統堆棧和用戶堆棧分開,以及實時地給出 CPU 的運行狀態等,允許用戶在系統設計中從硬件和軟件兩方面對實時內核的運行實施保護。如果還是采用以前的前后臺方式,則無法發揮 32 位 CPU 的優勢。

從某種意義上說,沒有操作系統的計算機(裸機)是沒有用的。在嵌入式應用中,只有把 CPU 嵌入到系統中,同時又把操作系統嵌入進去,才是真正的計算機嵌入式應用。

當然嵌入式實時性操作系統也有其缺點,在嵌入式實時操作系統環境下開發實時應用程序使程序的設計和擴展變得容易,不需要大的改動就可以增加新的功能。通過將應用程序分割成若干獨立的任務模塊,使應用程序的設計過程大為簡化;而且對實時性要求苛刻的事件都得到了快速、可靠的處理。通過有效的系統服務,嵌入式實時操作系統使得系統資源得到更好的利用。但是,使用嵌入式實時操作系統還需要其額外的 ROM/RAM 開銷。

通過對嵌入式系統的認識,我們也了解到了很多其有關的知識,有機構估計,全世界嵌入式系統產品潛在的市場將超過1萬億美元。隨著技術的發展,業內對嵌入式系統的定義也越來越清晰。它是微處理器、大規模集成電路、軟件技術和各種具體的行業應用技術相結合的結果,其中各種軟件技術占了嵌入式系統80%的工作量。嵌入式系統不同于一般PC 機上的應用系統,即使是針對不同的具體應用而設計的嵌入式系統之間的差別也很大。嵌入式系統一般功能單

一、簡單,且在兼容性方面要求不高,但是在大小、成本方面限制較多。可以說,嵌入式系統是不可壟斷、需要不斷創新的技術。

第二篇:嵌入式實驗報告

目錄

實驗一 跑馬燈實驗.........................................................................1 實驗二 按鍵輸入實驗.....................................................................3 實驗三 串口實驗.............................................................................5 實驗四 外部中斷實驗.....................................................................8 實驗五 獨立看門狗實驗................................................................11 實驗七 定時器中斷實驗................................................................13 實驗十三 ADC實驗........................................................................15 實驗十五 DMA實驗........................................................................17 實驗十六 I2C實驗........................................................................21 實驗十七 SPI實驗........................................................................24 實驗二十一 紅外遙控實驗............................................................27 實驗二十二 DS18B20實驗.............................................................30

實驗一 跑馬燈實驗

一.實驗簡介

我的第一個實驗,跑馬燈實驗。

二.實驗目的

掌握STM32開發環境,掌握從無到有的構建工程。

三.實驗內容

熟悉MDK KEIL開發環境,構建基于固件庫的工程,編寫代碼實現跑馬燈工程。通過ISP下載代碼到實驗板,查看運行結果。使用JLINK下載代碼到目標板,查看運行結果,使用JLINK在線調試。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件。

五.實驗步驟

1.熟悉MDK KEIL開發環境 2.熟悉串口編程軟件ISP 3.查看固件庫結構和文件

4.建立工程目錄,復制庫文件 5.建立和配置工程 6.編寫代碼 7.編譯代碼

8.使用ISP下載到實驗板 9.測試運行結果

10.使用JLINK下載到實驗板 11.單步調試

12.記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

兩個燈LED0與LED1實現交替閃爍的類跑馬燈效果,每300ms閃爍一次。

七.實驗總結

通過本次次實驗我了解了STM32開發板的基本使用,初次接觸這個開發板和MDK KEILC軟件,對軟件操作不太了解,通過這次實驗了解并熟練地使用MDK KEIL軟件,用這個軟件來編程和完成一些功能的實現。作為 STM32 的入門第一個例子,詳細介紹了STM32 的IO口操作,同時鞏固了前面的學習,并進一步介紹了MDK的軟件仿真功能。

實驗二 按鍵輸入實驗

一.實驗簡介

在實驗一的基礎上,使用按鍵控制流水燈速度,及使用按鍵控制流水燈流水方向。

二.實驗目的

熟練使用庫函數操作GPIO,掌握中斷配置和中斷服務程序編寫方法,掌握通過全局變量在中斷服務程序和主程序間通信的方法。

三.實驗內容

實現初始化GPIO,并配置中斷,在中斷服務程序中通過修改全局變量,達到控制流水燈速度及方向。

使用JLINK下載代碼到目標板,查看運行結果,使用JLINK在線調試。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK、示波器。軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件。

五.實驗步驟

1在實驗1代碼的基礎上,編寫中斷初始化代碼

2在主程序中聲明全局變量,用于和中斷服務程序通信,編寫完成主程序 3編寫中斷服務程序

4編譯代碼,使用JLINK下載到實驗板 5.單步調試

6記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

我們將通過MiniSTM32 板上載有的3個按鈕,來控制板上的2個LED,其中KEY0控制LED0,按一次亮,再按一次,就滅。KEY1 控制LED1,效果同KEY0。KEY_2(KEY_UP),同時控制LED0 和LED1,按一次,他們的狀態就翻轉一次。

七.實驗總結

通過本次實驗,我學會了如何使用STM32 的IO 口作為輸入用。TM32 的IO 口做輸入使用的時候,是通過讀取IDR 的內容來讀取IO 口的狀態的。這里需要注意的是 KEY0 和KEY1 是低電平有效的,而WK_UP 是高電平有效的,而且要確認WK_UP 按鈕與DS18B20 的連接是否已經斷開,要先斷開,否則DS18B20 會干擾WK_UP按鍵!并且KEY0 和KEY1 連接在與JTAG 相關的IO 口上,所以在軟件編寫的時候要先禁用JTAG 功能,才能把這兩個IO 口當成普通IO 口使用。

實驗三 串口實驗

一.實驗簡介

編寫代碼實現串口發送和接收,將通過串口發送來的數據回送回去。

二.實驗目的

掌握STM32基本串口編程,進一步學習中斷處理。

三.實驗內容

編寫主程序,初始化串口1,設置波特率為9600,無校驗,數據位8位,停止位1位。編寫中斷服務程序代碼實現將發送過來的數據回送。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK、示波器。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1編寫串口初始化代碼

2編寫中斷服務程序代碼

3編譯代碼,使用JLINK或ISP下載到實驗板 4記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

把代碼下載到 MiniSTM32 開發板,可以看到板子上的LED0 開始閃爍,說明程序已經在跑了。接著我們打開串口調試助手,看到如下信息:

證明串口數據發送沒問題。接著,我們在發送區輸入上面的文字,輸入完后按回車鍵。然后單擊發送,可以得到如下結果:

七.實驗總結

通過本次實驗,我進一步了解了串口的使用,學會了通過串口發送和接收數據,將通過串口發送來的數據回送回去。該實驗的硬件配置不同于前兩個實驗,串口 1 與USB 串口默認是分開的,并沒有在PCB上連接在一起,需要通過跳線帽來連接一下。這里我們把P4 的RXD 和TXD 用跳線帽與P3 的PA9 和PA10 連接起來。

實驗四 外部中斷實驗

一.實驗簡介

STM32 的 IO 口在本章第一節有詳細介紹,而外部中斷在第二章也有詳細的闡述。這里我們將介紹如何將這兩者結合起來,實現外部中斷輸入。

二.實驗目的

進一步掌握串口編程,進一步學習外部中斷編程,提高編程能力。

三.實驗內容

初始化IO口的輸入,開啟復用時鐘,設置IO與中斷的映射關系,從而開啟與IO口相對應的線上中斷事件,設置觸發條件。配置中斷分組(NVIC),并使能中斷,編寫中斷服務函數。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK、示波器。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1.2.3.4.編寫中斷服務程序代碼 使用ISP下載到實驗板 測試運行結果

記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

打開串口助手。

七.實驗總結

首先需要將IO設置為中斷輸入口: 1)初始化 IO 口為輸入。

2)開啟 IO 口復用時鐘,設置 IO 口與中斷線的映射關系。

3)開啟與該 IO口相對的線上中斷/事件,設置觸發條件。

4)配置中斷分組(NVIC),并使能中斷。

5)編寫中斷服務函數。

這一節,使用的是中斷來檢測按鍵,通過 WK_UP 按鍵實現按一次 LED0 和 LED 1 同時翻轉,按 KEY0 翻轉 LED0,按 KEY1 翻轉 LED1。

試驗中外部中斷函數不能進入的原因分析 : 1)GPIO或者AFIO的時鐘沒有開啟。2)GPIO和配置的中斷線路不匹配。3)中斷觸發方式和實際不相符合。

4)中斷處理函數用庫函數時,寫錯,經常可能出現數字和字母之間沒有下劃線。5)外部中斷是沿觸發,有可能不能檢測到沿,比如 中斷線是低電平(浮空輸入),觸發是下降沿觸發,可能會出現一直是低電平,高電平的時候是一樣的情況,電平持續為高電平。

6)沒有用軟件中斷來觸發外部中斷,調用函數EXTI_GenerateSWInterrupt;,因為軟件中斷先于邊沿中斷處理。

實驗五 獨立看門狗實驗

一. 實驗簡介

獨立看門狗(IWDG)由專用的低速時鐘(LSI)驅動,即使主時鐘發生故障它也仍然有效。窗口看門狗由從APB1時鐘分頻后得到的時鐘驅動,通過可配置的時間窗口來檢測應用程序非正常的過遲或過早的操作。

二.實驗目的

通過編程,編寫一個獨立看門狗驅動程序

三.實驗內容

啟動 STM32 的獨立看門狗,從而使能看門狗,在程序里面必須間隔一定時間喂狗,否則將導致程序復位。利用這一點,我們本章將通過一個 LED 燈來指示程序是否重啟,來驗證 STM32 的獨立看門狗。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1.2.3.4.參考教材獨立看門狗部分,編寫獨立看門狗驅動程序。建立和配置工程 編寫代碼

使用ISP下載到實驗板

記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

在配置看門狗后,看到LED0 不停的閃爍,如果WK_UP 按鍵按下,就喂狗,只要WK_UP 不停的按,看門狗就一直不會產生復位,保持LED0 的常亮,一旦超過看門狗定溢出時間(Tout)還沒按,那么將會導致程序重啟,這將導致LED0 熄滅一次。

七.實驗總結

通過本次實驗,我掌握了啟動獨立看門狗的步驟: 1)向 IWDG_KR 寫入 0X5555。2)向 IWDG_KR 寫入 0XAAAA。3)向 IWDG_KR 寫入 0XCCCC。

通過上面 3個步驟,啟動 STM32 的看門狗,從而使能看門狗,在程序里面就必須間隔一定時間喂狗,否則將導致程序復位。利用這一點,本章通過一個LED 燈來指示程序是否重啟,來驗證 STM32 的獨立看門狗。在配置看門狗后,LED0 將常亮,如果 WK_UP 按鍵按下,就喂狗,只要 WK_UP 不停的按,看門狗就一直不會產生復位,保持 LED 0 的常亮,一旦超過看門狗溢出時間(Tout)還沒按,那么將會導致程序重啟,這將導致 LED 0 熄滅一次。

實驗七 定時器中斷實驗

一. 實驗簡介

STM32 的定時器是一個通過可編程預分頻器(PSC)驅動的 16 位自動裝載計數器(CNT)構成。STM32 的通用定時器可以被用于:測量輸入信號的脈沖長度(輸入捕獲)或者產生輸出波形(輸出比較和 PWM)等。使用定時器預分頻器和 RCC 時鐘控制器預分頻器,脈沖長度和波形周期可以在幾微秒到幾毫秒間調整。STM32 的每個通用定時器都是完全獨立的,沒有互相共享的任何資源。

二.實驗目的

熟練掌握定時器中斷,學會對定時器中斷的編程操作。

三.實驗內容

使用定時器產生中斷,然后在中斷服務函數里面翻轉 LED1 上的電平,來指示定時器中斷的產生,修改中斷時間。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1.參考教材定時器中斷部分,編寫定時器中斷的驅動程序。2.編寫主程序

3.編譯代碼,使用JLINK或ISP下載到實驗板 4.記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

七.實驗總結

通過本次實驗,認識到時間中斷來控制LED燈的閃爍,同時也可以將時間中斷應用到控制其他的程序塊。

以TIME3為例產生中斷的步驟為 1)TIM3 時鐘使能。

2)設置 TIM3_ARR 和 TIM3_PSC 的值。

3)設置 TIM3_DIER 允許更新中斷。

4)允許 TIM3 工作。

5)TIM3 中斷分組設置。6)編寫中斷服務函數。

在中斷產生后,通過狀態寄存器的值來判斷此次產生的中斷屬于什么類型。然后執行相關的操作,我們這里使用的是更新(溢出)中斷,所以在狀態寄存器 SR 的最低位。在處理完中斷之后應該向 TIM3_SR 的最低位寫 0,來清除該中斷標志。

實驗十三 ADC實驗

一.實驗簡介

通過DAC將STM32系統的數字量轉換為模擬量。使用ADC將模擬量轉換為數字量。

二.實驗目的

掌握DAC和ADC編程。

三.實驗內容

編寫代碼實現簡單的DAC單次發送

編寫代碼實現ADC采集DAC發送的數據,并發送到串口

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1編寫主程序

2編譯代碼,使用JLINK或ISP下載到實驗板,使用串口調試助手觀察數據 3記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

七.實驗總結

本節將利用 STM32的 ADC1 通道 0 來采樣外部電壓值,并在串口調試助手中顯示出來。步驟如下:

1)開啟 PA 口時鐘,設置 PA0 為模擬輸入。

2)使能 ADC1 時鐘,并設置分頻因子。

3)設置 ADC1 的工作模式。

4)設置 ADC1 規則序列的相關信息。

5)開啟 AD 轉換器,并校準。

6)讀取 ADC 值。

在上面的校準完成之后,ADC 就算準備好了。接下來我們要做的就是設置規則序列 0 里面的通道,然后啟動 ADC 轉換。在轉換結束后,讀取 ADC1_DR 里面的值。

通過以上幾個步驟的設置,可以正常的使用 STM32 的 ADC1 來執行 AD 轉換操作。

通過本次實驗的學習,我們了解了STM32 ADC的使用,但這僅僅是STM32強大的ADC 功能的一小點應用。STM32 的ADC 在很多地方都可以用到,其ADC 的DMA 功能是很不錯的,實驗十五 DMA實驗

一. 實驗簡介

直接存儲器存取(DMA)用來提供在外設和存儲器之間或者存儲器和存儲器之間的高速數據傳輸。無須CPU干預,數據可以通過DMA快速地移動,這就節省了CPU的資源來做其他操作。

二.實驗目的

熟練掌握DMA編程,學會對EPC02的讀寫操作,學習雙緩沖兵乓操作,理解互斥資源。提高編程能力。

三.實驗內容

利用外部按鍵KEY0 來控制DMA 的傳送,每按一次KEY0,DMA 就傳送一次數據

到USART1,然后在串口調試助手觀察進度等信息。LED0 還是用來做為程序運行的指示燈。

這里我們使用到的硬件資源如下: 1)按鍵KEY0。2)指示燈LED0。

3)使用串口調試助手觀察數據

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、網絡調試助手。

五.實驗步驟

1編寫主程序

2編譯代碼,使用JLINK或ISP下載到實驗板,使用串口調試助手觀察數據 3記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

伴隨 LED0 的不停閃爍,提示程序在運行。我們打開串口調試助手,然后按KEY0,可以看到串口顯示如下內容:

七.實驗總結

本節利用 STM32 的 DMA 來實現串口數據傳送,DMA通道的配置需要: 1)設置外設地址。

2)設置存儲器地址。

3)設置傳輸數據量。

4)設置通道 4 的配置信息。

5)使能 DMA1 通道 4,啟動傳輸。

通過以上 5 步設置,我們就可以啟動一次 USART1 的 DMA 傳輸了。

DMA控制器對DMA請求判別優先級及屏蔽,向總線裁決邏輯提出總線請求。當CPU執行完當前總線周期即可釋放總線控制權。此時,總線裁決邏輯輸出總線應答,表示DMA已經響應,通過DMA控制器通知I/O接口開始DMA傳輸。

DMA控制器獲得總線控制權后,CPU即刻掛起或只執行內部操作,由DMA控制器輸出讀寫命令,直接控制RAM與I/O接口進行DMA傳輸。

在DMA控制器的控制下,在存儲器和外部設備之間直接進行數據傳送,在傳送過中不需要中央處理器的參與。開始時需提供要傳送的數據的起始位置和數據長度。

當完成規定的成批數據傳送后,DMA控制器即釋放總線控制權,并向I/O接口發出結束信號。當I/O接口收到結束信號后,一方面停 止I/O設備的工作,另一方面向CPU提出中斷請求,使CPU從不介入的狀態解脫,并執行一段檢查本次DMA傳輸操作正確性的代碼。最后,帶著本次操作結果及狀態繼續執行原來的程序。

由此可見,DMA傳輸方式無需CPU直接控制傳輸,也沒有中斷處理方式那樣保留現場和恢復現場的過程,通過硬件為RAM與I/O設備開辟一條直接傳送數據的通路,使CPU的效率大為提高。

實驗十六 I2C實驗

一.實驗簡介

編程實現對使用I2C接口的EPC02芯片進行寫和讀操作。

二.實驗目的

熟練掌握I2C編程,學會對EPC02的讀寫操作。

三.實驗內容

編寫I2C驅動程序,使用驅動程序初始化EPC02,判斷設備正確性。

寫256個0x5A到EPC02,讀出并發送給串口,通過串口調試助手判別是否讀到的都是0x5A.四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1參考教材I2C部分,編寫I2C驅動程序。2編寫主程序

3編譯代碼,使用JLINK或ISP下載到實驗板 4記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

伴隨 LED0 的不停閃爍,提示程序在運行。我們先按下KEY0,可以看到如下所示的內容,證明數據已經被寫入到24C02了。

接著我們按KEY2,可以看我們剛剛寫入的數據被顯示出來了,如下圖所示:

源代碼:

七.實驗總結

IIC是由數據線 SDA 和時鐘 SCL 構成的串行總線,可發送和接收數據。在 CPU 與被控 IC 之間、IC 與 IC 之間進行雙向傳送,高速 IIC 總線一般可達 400kbps 以上。

IIC總線在傳送數據過程中共有三種類型信號,它們分別是:開始信號、結束信號和應答信號。這些信號中,起始信號是必需的,結束信號和應答信號,都可以不要。程序在開機的時候會檢測 24C02 是否存在,如果不存在則會在TFTLCD 模塊上顯示錯誤信息,同時LED0 慢閃。大家可以通過跳線帽把PC11 和PC12 短接就可以看到報錯了。通過本次實驗,我掌握了如何使用IIC寫入與讀出數據,學習了編寫I2C驅動程序,使用驅動程序初始化EPC02,判斷設備正確性,以及如何在助手上顯示。

實驗十七 SPI實驗

一.實驗簡介

編程實現對SPI接口的W25Q64進行讀寫操作。

二.實驗目的

熟練掌握SPI編程,學會對的W25Q64讀寫操作。

三.實驗內容

1.2.3.4.5.編寫SPI驅動程序 初始化SPI接口

讀取SPIFLASH的ID,如果正確繼續,否則報錯

向SPIFALSH地址0x12AB00開始寫一串字符,再讀出比較判斷是否與寫入的一致 向SPIFALSH地址0x12AB00開始寫連續256個字節的0x5A,然后讀出并發送給串口,通過串口調試助手判別是否讀到的都是0x5A.四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1參考SPI及SPI FLASH部分,編寫SPI及SPI FLASH驅動程序(可參考書上代碼)。2編寫主程序

3編譯代碼,使用JLINK或ISP下載到實驗板 4記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

伴隨 LED0 的不停閃爍,提示程序在運行。我們先按下KEY0,可以看到如圖13.17.4.2 所示的內容,證明數據已經被寫入到W25X16了。

接著我們按KEY2,可以看我們剛剛寫入的數據被顯示出來了,如下圖所示:

七.實驗總結

SPI 接口主要應用在EEPROM,FLASH,實時時鐘,AD 轉換器,還有數字信號處理器和數字信號解碼器之間。SPI,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節約了芯片的管腳,同時為 PCB 的布局上節省空間,提供方便,正是出于這種簡單易用的特性,現在越來越多的芯片集成了這種通信協議,STM32 也有 SPI 接口。

SPI 的設置步驟:

1)配置相關引腳的復用功能,使能 SPI時鐘。

2)設置 SPI 工作模式。

3)使能 SPI。

程序在開機的時候會檢測 W25X16 是否存在,如果不存在則會在TFTLCD 模塊上顯示錯誤信息,同時LED0 慢閃。大家可以通過跳線帽把PA5 和PA6 短接就可以看到報錯了。通過本實驗,我掌握了編寫SPI程序寫入和讀取FLASH的方法,掌握了對學會對的W25Q64讀寫操作。對STM32開發板有了進一步的了解。

實驗二十一 紅外遙控實驗

一. 實驗簡介

編程實現通過在 ALIENTEK MiniSTM32 開發板上實現紅外遙控器的控制。

二.實驗目的

掌握編程實現紅外遙控控制開發板的方法。

三.實驗內容

1.編寫紅外遙控驅動程序 2.編寫紅外遙控程序代碼 3.使用紅外遙控控制開發板

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件。

五.實驗步驟

4.編寫紅外遙控驅動程序 5.編寫紅外遙控程序代碼

6.編譯代碼,使用JLINK或ISP下載到實驗板 7.記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

使用串口調試助手觀察數據

七.實驗總結

紅外遙控是一種無線、非接觸控制技術,具有抗干擾能力強,信息傳輸可靠,功耗低,成本低,易實現等顯著優點,被諸多電子設備特別是家用電器廣泛采用,并越來越多的應用到計算機系統中。

通過本節實驗,我學習到了如何編程使用紅外遙控控制,在本程序中只是簡單地輸出一個數值,在以后的應用中可以實現更強大的功能,比如用紅外遠程輸入控制開發板進行一些操作。對STM32有了進一步的認識。

實驗二十二 DS18B20實驗

一. 實驗簡介

一. 在ALIENTEK MiniSTM32 開發板上,通過 DS18B20 來讀取環境溫度值。

二.實驗目的

鞏固SPI編程。掌握使用感應器獲取環境溫度的方法。

三.實驗內容

1.復位脈沖和應答脈沖

2.寫時序

3.讀時序

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件。

五.實驗步驟

1.2.3.4.參考教材DS18B20編程部分,編寫DS18B20驅動程序 編寫主程序

編譯代碼,使用JLINK或ISP下載到實驗板 記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

使用串口調試助手觀察數據:

七.實驗總結

DS18B20 是由 DALLAS 半導體公司推出的一種的“一線總線”接口的溫度傳感器。與傳統的熱敏電阻等測溫元件相比,它是一種新型的體積小、適用電壓寬、與微處理器接口簡單的數字化溫度傳感器。

通過本次實驗,我認識到STM32的強大,在開發板上可以添加其他感應器從而實現更強大的功能。添加了DS18B20后的開發板可以感應外界的溫度,通過公式計算顯示出來。

第三篇:嵌入式學習心得

LPC2136是ARM7架構,是32位地址總線和數據總線,可以尋址的范圍為2的32次方

=4GB(0x00000000~0xFFFFFFFF)

我們的程序在哪里運行?

還記得我們在做“跑馬燈”和“蜂鳴器”兩個實驗,用ads1.2中建立工程文件的時候有設置三個地址:

RO Base :0x40000000

RW Base :0x40001000

Image entry point :0x40000000

開始沒有講為什么,通過上面的系統存儲器映射圖解不知大家是否有所悟。LPC2136內部自帶32KB RAM和256KB FLASH。

32KB RAM分布在整個CPU存儲器空間的0x40000000~0x40007FFF;

256KB FLASH分布在整個CPU存儲器空間的0x00000000~0x0003 FFFF;

RO Base是告訴編譯系統把編譯生成的目標碼放在0x40000000起始的位置,也就是代碼段存放在0x40000000開始的位置。

RW Base告訴編譯系統把各種變量(常量放在RO開始的位置),堆棧放在0x40001000起始的位置。

Image entry point:是告訴編譯系統程序入口點在0x40000000,即程序從這個地址開始執行。(此部分在附錄二中細說)

Flash與RAM的區別

通過以上所說,好像FLASH在這里沒什么用,如果你的RO地址定位在RAM中,那么FLASH確實沒有用。但FLASH是必須的功能部件。

Flash的作用也許要從其與RAM的區別說起:

區別一:RAM是易失性存儲器,Flash是非易失性存儲器。通俗的說,存儲在RAM中的數據掉電后數據丟失;而存儲在FLASH中的數據掉電后任然保持。(必須通過工具或特殊命令來擦除)

區別二:RAM是可讀寫存儲器,Flash只讀存儲器。(也許有人要問,Flash難道不能寫嗎?Flash可以寫,但不能象RAM一樣做簡單賦值操作,必須通過Flash寫命令寫,而且寫入數據的最小單位為512字節,即一個扇區)

區別三:RAM訪問速度快,而Flash訪問速度慢的多。

區別四:RAM價格昂貴,Flash便宜。

FLASH有何用途

我們一般在調試程序的時候為了提高開發進度,都把程序放在RAM中調試,在RAM中調試有一個缺陷就是每次上電必須下載程序到板子上,當產品的各個模塊調試OK,產品就要實現脫機功能,即把程序燒寫到FLASH中,這樣就不需要每次上電加載程序。我們手中拿的手機,在開發階段都是在RAM(SDRAM)中調試的,開發完成,要發布的時候就把程序燒到FLASH,這樣我們開機有能運行FLASH的程序。

第四篇:嵌入式實驗報告

嵌入式系統及應用課 程設計報告

姓名:陳宥祎

班級:14級計算機01班 學號:1255010116 指導老師:黃衛紅

按鍵輸入實驗

一.實驗簡介

在實驗一的基礎上,使用按鍵控制流水燈速度,及使用按鍵控制流水燈流水方向。

二.實驗目的

熟練使用庫函數操作GPIO,掌握中斷配置和中斷服務程序編寫方法,掌握通過全局變量在中斷服務程序和主程序間通信的方法。

三.實驗內容

實現初始化GPIO,并配置中斷,在中斷服務程序中通過修改全局變量,達到控制流水燈速度及方向。

使用JLINK下載代碼到目標板,查看運行結果,使用JLINK在線調試。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK、示波器。軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件。

五.實驗步驟

1在實驗1代碼的基礎上,編寫中斷初始化代碼

2在主程序中聲明全局變量,用于和中斷服務程序通信,編寫完成主程序 3編寫中斷服務程序

4編譯代碼,使用JLINK下載到實驗板 5.單步調試

6記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

我們將通過MiniSTM32 板上載有的3個按鈕,來控制板上的2個LED,其中KEY0控制LED0,按一次亮,再按一次,就滅。KEY1 控制LED1,效果同KEY0。KEY_2(KEY_UP),同時控制LED0 和LED1,按一次,他們的狀態就翻轉一次。

七.實驗總結

通過本次實驗,我學會了如何使用STM32 的IO 口作為輸入用。TM32 的IO 口做輸入使用的時候,是通過讀取IDR 的內容來讀取IO 口的狀態的。這里需要注意的是 KEY0 和KEY1 是低電平有效的,而WK_UP 是高電平有效的,而且要確認WK_UP 按鈕與DS18B20 的連接是否已經斷開,要先斷開,否則DS18B20 會干擾WK_UP按鍵!并且KEY0 和KEY1 連接在與JTAG 相關的IO 口上,所以在軟件編寫的時候要先禁用JTAG 功能,才能把這兩個IO 口當成普通IO 口使用。

串口通信

一.實驗簡介

編寫代碼實現串口發送和接收,將通過串口發送來的數據回送回去。

二.實驗目的

掌握STM32基本串口編程,進一步學習中斷處理。

三.實驗內容

編寫主程序,初始化串口1,設置波特率為9600,無校驗,數據位8位,停止位1位。編寫中斷服務程序代碼實現將發送過來的數據回送。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK、示波器。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1編寫串口初始化代碼

2編寫中斷服務程序代碼

3編譯代碼,使用JLINK或ISP下載到實驗板 4記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

把代碼下載到 MiniSTM32 開發板,可以看到板子上的LED0 開始閃爍,說明程序已經在跑了。接著我們打開串口調試助手,看到如下信息:

證明串口數據發送沒問題。接著,我們在發送區輸入上面的文字,輸入完后按回車鍵。然后單擊發送,可以得到如下結果:

七.實驗總結

通過本次實驗,我進一步了解了串口的使用,學會了通過串口發送和接收數據,將通過串

口發送來的數據回送回去。該實驗的硬件配置不同于前兩個實驗,串口 1 與USB 串口默認是分開的,并沒有在PCB上連接在一起,需要通過跳線帽來連接一下。這里我們把P4 的RXD 和TXD 用跳線帽與P3 的PA9 和PA10 連接起來。

外部中斷

一.實驗簡介

STM32 的 IO 口在本章第一節有詳細介紹,而外部中斷在第二章也有詳細的闡述。這里我們將介紹如何將這兩者結合起來,實現外部中斷輸入。

二.實驗目的

進一步掌握串口編程,進一步學習外部中斷編程,提高編程能力。

三.實驗內容

初始化IO口的輸入,開啟復用時鐘,設置IO與中斷的映射關系,從而開啟與IO口相對應的線上中斷事件,設置觸發條件。配置中斷分組(NVIC),并使能中斷,編寫中斷服務函數。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK、示波器。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1.2.3.4.編寫中斷服務程序代碼 使用ISP下載到實驗板 測試運行結果

記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

打開串口助手。

七.實驗總結

首先需要將IO設置為中斷輸入口: 1)初始化 IO 口為輸入。

2)開啟 IO 口復用時鐘,設置 IO 口與中斷線的映射關系。

3)開啟與該 IO口相對的線上中斷/事件,設置觸發條件。

4)配置中斷分組(NVIC),并使能中斷。

5)編寫中斷服務函數。

這一節,使用的是中斷來檢測按鍵,通過 WK_UP 按鍵實現按一次 LED0 和 LED 1 同時翻轉,按 KEY0 翻轉 LED0,按 KEY1 翻轉 LED1。試驗中外部中斷函數不能進入的原因分析 : 1)GPIO或者AFIO的時鐘沒有開啟。2)GPIO和配置的中斷線路不匹配。3)中斷觸發方式和實際不相符合。

4)中斷處理函數用庫函數時,寫錯,經常可能出現數字和字母之間沒有下劃線。5)外部中斷是沿觸發,有可能不能檢測到沿,比如 中斷線是低電平(浮空輸入),觸發是下降沿觸發,可能會出現一直是低電平,高電平的時候是一樣的情況,電平持續為高電平。

6)沒有用軟件中斷來觸發外部中斷,調用函數EXTI_GenerateSWInterrupt;,因為軟件中斷先于邊沿中斷處理。

獨立看門狗實驗

一. 實驗簡介

獨立看門狗(IWDG)由專用的低速時鐘(LSI)驅動,即使主時鐘發生故障它也仍然有效。窗口看門狗由從APB1時鐘分頻后得到的時鐘驅動,通過可配置的時間窗口來檢測應用程序非正常的過遲或過早的操作。

二.實驗目的

通過編程,編寫一個獨立看門狗驅動程序

三.實驗內容

啟動 STM32 的獨立看門狗,從而使能看門狗,在程序里面必須間隔一定時間喂狗,否則將導致程序復位。利用這一點,我們本章將通過一個 LED 燈來指示程序是否重啟,來驗證 STM32 的獨立看門狗。

四.實驗設備

硬件部分:PC計算機(宿主機)、亮點STM32實驗板、JLINK。

軟件部分:PC機WINDOWS系統、MDK KEIL軟件、ISP軟件、串口調試助手。

五.實驗步驟

1.2.3.4.參考教材獨立看門狗部分,編寫獨立看門狗驅動程序。建立和配置工程 編寫代碼

使用ISP下載到實驗板

記錄實驗過程,撰寫實驗報告

六.實驗結果及測試

源代碼:

在配置看門狗后,看到LED0 不停的閃爍,如果WK_UP 按鍵按下,就喂狗,只要WK_UP 不停的按,看門狗就一直不會產生復位,保持LED0 的常亮,一旦超過看門狗定溢出時間(Tout)還沒按,那么將會導致程序重啟,這將導致LED0 熄滅一次。

七.實驗總結

通過本次實驗,我掌握了啟動獨立看門狗的步驟: 1)向 IWDG_KR 寫入 0X5555。2)向 IWDG_KR 寫入 0XAAAA。3)向 IWDG_KR 寫入 0XCCCC。

通過上面 3個步驟,啟動 STM32 的看門狗,從而使能看門狗,在程序里面就必須間隔一定時間喂狗,否則將導致程序復位。利用這一點,本章通過一個LED 燈來指示程序是否重啟,來驗證 STM32 的獨立看門狗。在配置看門狗后,LED0 將常亮,如果 WK_UP 按鍵按下,就喂狗,只要 WK_UP 不停的按,看門狗就一直不會產生復位,保持 LED 0 的常亮,一旦超過看門狗溢出時間(Tout)還沒按,那么將會導致程序重啟,這將導致 LED 0 熄滅一次。

第五篇:嵌入式學習心得

嵌入式學習心得

當今社會,嵌入式系統已經滲透到人們工作、生活中的各個領域,嵌入式處理器已占分散處理器市場份額的94%。而嵌入式Linux系統也蓬勃發展,不僅繼承了Linux源碼開放、內核穩定高效、軟件豐富等優勢,還具備支持廣泛處理器結構和硬件平臺、占有空間小、成本低廉、結構緊湊等特點。

我很幸運接觸了嵌入式,在嵌入式實驗我知道了構建嵌入式系統的開發環境明白了交叉編譯:交叉編譯的環境建立在宿主機上,而對應的開發板為目標機。為了使宿主機上開發的程序能夠方便的下載到目標機上運行,一般還要在宿主機上配置好網絡,使其支持NFS或tftp等網絡服務,從而達到兩臺機器之間的文件共享,知道了宿主機與目標機之間的關系:在嵌入式系統開發過程中,由于可執行程序的編譯過程和執行過程分別在宿主機和目標機上完成,因此實現宿主機和目標機之間的實時交互能夠大幅度提高嵌入式系統開發的效率。由于目標機也帶有操作系統,因此可以通過實現不同機器之間的網絡共享來完成實時交互。宿主機開發程序,而目標機作為最后的執行機。兩者在開發時需要交替結合進行。知道了UBOOT移植、UBOOT編譯、UBOOT燒寫。LINUX內核的移植、LINUX內核燒寫。LINUX驅動程序的編寫系統調用是操作系統內核和應用程序之間的接口,設備驅動程序是操作系統內核和機器硬件之間的接口.設備驅動程序為應用程序屏蔽了硬件的細節,這樣在應用程序看來,硬件設備只是一個設備文件,應用程序可以像操作普通文件一樣對硬件設備進行操作.設備驅動程序是內核的一部分,它完成以下的功能:對設備初始化和釋放、把數據從內核傳送到硬件和從硬件讀取數據、讀取應用程序傳送給設備文件的數據和回送應用程序請求的數據、檢測和處理設備出現的錯誤.在Linux操作系統下有兩類主要的設備文件類型,一種是字符設備,另一種是塊設備.字符設備和塊設備的主要區別是:在對字符設備發出讀/寫請求時,實際的硬件I/O一般就緊接著發生了,塊設備則不然,它利用一塊系統內存作緩沖區,當用戶 進程對設備請求能滿足用戶的要求,就返回請求的數據,如果不能,就調用請求函數來進行實際的I/O操作.塊設備是主要針對磁盤等慢速設備設計的,以免耗費 過多的CPU時間來等待.、DM6446 USB驅動編寫。ARM+DSP雙處理器開發實驗。在這些實驗當中我遇到了很多問題,因為是第一次接觸linux,很多命令都不清楚,操作起來很不方便,使實驗進度很慢,并且很多命令也是比葫蘆畫瓢,根本不知道為什么這么用,所以導致命令不熟練,下次操作時依然需要回憶。在程序開發中我在課下熟悉了shell命令以后,對一般的操作也算了解,我明白了問題就如爬山:不怕慢就怕站,只要我慢慢積累我就會學到應該如何編寫我自己的程序,搭建我自己的嵌入式系統。盡管我們已經懂得了一些皮毛但是前方的路依然任重道遠,要想把我們專業的優勢發揮出來就需要軟硬件結合,這無疑是一次巨大的契機,我感覺在結

課以后我們一定仔細想在實驗中做的不足,以及實驗中給我的資源我如何合理的應用。畢竟學無止境,我也看看其他論壇上應該建議我們如何學習嵌入式,但是眾說紛紜,我不應該關注別人做了什么,但是我應該明白我的每一次付出會有什么收獲,畢竟再多的參考也比不上你的實際情況,正如我們的dm6446它的學習方式與一般的arm還是有區別的,所以要因材施教。其實在你想做嵌入式Linux的時候,要對自己有信心。很可能自己以前學習的不是這個專業或者以前沒有接觸過,就像我一樣,我以前也沒接觸過嵌入式,一旦我們確定了自己要做嵌入式,我想擺在我們面前的最大的一個難題就是,嵌入式對我們很模糊,好想心理面有好多好多陰霾,不用怕,請相信自己,新手都是這樣,有疑團,才會激發我們探索的動力和激情。相信自己,在不久的將來自己會摸到嵌入式的棱角的,摸清他的面貌的。把學習穿插到日常生活中。一旦決定要學,就從現在開始學習,永遠不要希望人的一生會騰出一段時間來讓你去專門學習嵌入式的,就像當你出生的時候,永遠不可能會專門騰出一段時間來讓你專門學走路,最終情況是你學走路的同時很可能也在學習說話,學習吃飯。所以,對于學生來說,永遠不要試圖把學習嵌入式挪到假期,因為你不能預料到假期你會發生什么而耽誤你學習的時間。需要用到什么學什么。不要企圖把Linux,arm等所謂的什么教程之內的書看完了再去做開發。個人覺得Linux,只要知道大概,只要知道簡單的命令,會用就可以了,但是gcc,gdb一定要掌握,然后就是要掌握嵌入式Linux和Linux開發環境的配置。嵌入式Linux是在開發板里面的Linux。而單純的說Linux說的是PC上的Linux。遇到問題,我們就去解決,要解決,我們就可以翻書,查資料,這樣既可以縮短項目開發周期,又可以學習,這樣就避免了可能你把一本關于Linux的書看完了,你還不知道如何去做嵌入式Linux開發。不管你要做什么開發,裝上Linux后,請安裝英文版的,并且盡量在無圖形界面寫工作。因為很多公司都明確禁止用Linux圖形界面和中文版的。不管做什么開發,應用開發,或者是驅動開發,都要先編譯內核,因為有好多文件是只有你編譯內核之后才能產生的,而這些文件,很可能就是你要用的。做應用開發,首先用從讀懂驅動入手。不要求你會寫驅動,但是起碼要讀懂驅動,這樣才有助于應用開發除非你的嵌入式開發板是跑裸機,也就是沒有Linux系統,你可以操作arm的寄存器,可以直接操作硬件,比如JTAG仿真就是。其他情況,一旦你有Linux系統,你的程序時不可能直接操作硬件的。明白這一點,你就不會向我一樣,開始做嵌入式Linux應用的時候以為可以和單片機一樣,直接控制引腳來寫程序了。有了Linux,用主要用的系統提供給用戶的接口。

要時刻把握每一次提高自己的機會!

下載嵌入式有感word格式文檔
下載嵌入式有感.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    嵌入式心得體會

    這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。 廣義上講,凡是帶有微處理器的專用軟硬件系統......

    嵌入式工程師(范文)

    什么是嵌入式工程師?與JAVA等通常的軟件工程師有什么區別?嵌入式軟件指嵌入在硬件中的非PC操作系統和開發工具軟件,它在產業中的關聯關系體現為:芯片設計制造\嵌入式系統軟件\嵌入......

    嵌入式報告

    嵌入式實訓報告姓名:張龍班級:電氣803學號:08010270嵌入式系統學習體會 一、 嵌入式發展前景 嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特......

    嵌入式實驗報告

    西安郵電大學 嵌入式處理器及應用實驗報告書 學院名稱學生姓名專業名稱班級 : : : :實驗一ADS 1.2 集成開發環境練習一、實驗目的: 了解ADS 1.2 集成開發環境的使用方法。 二、......

    嵌入式報告

    目錄 引言 ............................................................................................................................... 2 1. ARM概述 ...............

    嵌入式總結報告

    嵌入式實驗報告期末論文 學生姓名: 楊佳潔 學 號: 11570118 班 級: 11計算機2班 指導教師: 黃 靜 2014年5月20日 嵌入式程序設計與應用課程主要以理論與實驗結合的方式講授,包......

    嵌入式總結

    一、嵌入式系統原理與應用課程總結 這個學期我學習了《嵌入式原理與應用》這門課程,雖然這個學期馬上就要結束了,對嵌入式的學習也要告一段落了,但是我覺得收獲還是很大的。學......

    嵌入式實驗報告

    實驗一 ARM匯編語言程序設計 一、 實驗目的 1. 了解IAR Embedded Workbench 集成開發環境 2. 掌握ARM匯編指令程序的設計及調試 二、 實驗設備 1. PC操作系統WIN98或WIN2000......

主站蜘蛛池模板: 无码伊人66久久大杳蕉网站谷歌| 亚洲精品乱码久久久久久日本麻豆| 久久免费午夜福利院| 无码超乳爆乳中文字幕久久| 久久99精品久久久久久秒播| 少妇人妻偷人精品视频| 久久亚洲精品中文字幕无男同| 在线va无卡无码高清| 日韩人妻精品一区二区三区视频| 亚洲人成无码网站久久99热国产| 醉酒后少妇被疯狂内射视频| 欧美黑人巨大videos精品男男| 10000部拍拍拍免费视频| 亚洲国产日韩在线人高清| 精品亚洲成a人无码成a在线观看| 国产福利一区二区精品秒拍| 国产乱人无码伦av在线a| 亚洲综合最新无码2020av| 97se亚洲综合自在线| 久久国内精品自在自线波多野结氏| 国产成人无码免费网站| 国产成人免费ā片在线观看老同学| 无码中文人妻在线一区| a级国产乱理论片在线观看| 丰满人妻被公侵犯完整版| 少妇人妻在线无码天堂视频网| 欧美成人aaaa免费全部观看| 国产日韩欧美亚洲精品中字| 人妻少妇伦在线无码| 亚洲伊人成综合网| 国产午夜无码片在线观看影院| 天天躁日日躁狠狠躁人妻| 国产精品天堂avav在线观看| 免费国产裸体美女视频全黄| 无码爆乳超乳中文字幕在线| 在线天堂资源www在线中文| 日本精品无码一区二区三区久久久| 黄网站色视频免费观看| 亚洲精品国产av成拍色拍个| 日韩人妻无码精品久久| 国产亚洲精品a在线观看|