江蘇省高等教育自學考試大綱29945 嵌入式軟件技術概論
2025-07-08 來源:中國教育在線
南京航空航天大學編(2021年)
江蘇省高等教育自學考試委員會辦公室
一、課程性質及其設置目的與要求
(一)課程性質和特點
《嵌入式軟件技術概論》是高等教育自學考試計算機網絡專業(獨立本科段)考試計劃規定必考的一門專業課。通過本課程的學習,不僅使學生了解嵌入式系統的基本概念和組織構成,并以ARM Cortex-M4F系列微處理器為基礎掌握嵌入式系統軟件的開發方法,重點培養學生嵌入式計算機系統的軟件開發能力。
(二)本課程的基本要求
本課程共分為14章。在對嵌入式系統的學科基礎、研究和應用領域以及ARM Cortex-M4F微處理器和MSP432子系列微控制器進行簡要介紹的基礎上,重點闡述了如何基于MSP432子系列微控制器開發一個相對完整的嵌入式系統的具體過程,以及嵌入式系統中所包含的基本接口及模塊的編程方法,包括串行通信、中斷、定時器、GPIO、FLASH、ADC、DAC、CMP、SPI、I2C、TSI、USB2.0、系統時鐘及其它接口與模塊。通過對本書的學習,要求應考者對嵌入式計算機系統有一個全面和正確的了解。具體應達到以下要求:
1.了解嵌入式系統的基本概念、發展過程、現狀和發展趨勢,嵌入式系統的應用范疇,嵌入式系統與通用計算機系統的區別與聯系;
2.理解并掌握嵌入式系統的基本構成和基本原理;
3.掌握基于MSP432子系列微控制器的嵌入式軟件系統開發的方法以及對嵌入式系統各基本接口及模塊的開發編程方法。
(三)本課程與相關課程的聯系
嵌入式軟件技術概論是一門綜合性和應用性都比較強的課程,其內容涉及計算機相關專業的大部分專業課程,學習者需要具有一定的數字電路及編程基礎,也要對計算機的一般組成有所了解。因此,本課程的前修課程應至少包含《數字電路》、《程序設計語言》(以C語言為主)以及《計算機組成原理》,這些課程可以幫助學生很好的理解嵌入式系統的硬件結構及盡快掌握嵌入式系統的軟件編程方法。
二、課程內容與考核目標
第1章 概述
(一)課程內容
本章簡要而全面地介紹了嵌入式系統的定義、由來及特點,以及其知識體系和相關術語,總結并收攏C語言基礎知識,為后續學習打下基礎。
(二)學習要求
了解和掌握嵌入式系統的定義、由來及特點,以及其知識體系和相關術語;總結和復習C語言基礎知識。
(三)考核知識點和考核要求
1.領會:嵌入式系統的知識體系及相關術語、微控制器與應用處理器;
2.掌握:嵌入式系統的定義及特點、嵌入式系統常用C語言中的運算符、數據類型、程序設計基本結構。
第2章 ARM Cortex-M4F處理器
(一)課程內容
本章簡要概述了ARM Cortex處理器,重點介紹ARM 及ARM Cortex-M4F處理器的內部結構特點及匯編指令。
(二)學習要求
通過本章的學習,要求了解ARM Cortex處理器的-A、-A50、-M及-R系列各自的特點和應用范圍;了解和掌握ARM Cortex-M4F處理器的特點、內核結構、存儲器映像、內部寄存器、尋址方式及指令系統;能讀懂ARM Cortex-M4F匯編代碼。
(三)考核知識點和考核要求
1.領會:ARM Cortex處理器的-A、-A50、-M及-R系列各自的特點和應用范圍;ARM、ARM Cortex-M4F處理器的特點及內核結構。
2.掌握:ARM Cortex-M4F處理器的存儲器映像、內部寄存器、尋址方式及指令系統。
3.熟練掌握:讀懂ARM Cortex-M4F匯編代碼并能給出一段匯編代碼的運行結果。
第3章 存儲映像、中斷源與硬件最小系統
(一)課程內容
本章介紹了MSP432系列MCU的各子系列特性及應用領域,并通過對MSP432系列MCU進行分析,闡述了MSP432系列MCU的基本知識、實現構架。重點介紹了MSP432 MCU的存儲映像、中斷源、引腳功能和硬件最小系統。
(二)學習要求
了解MSP432系列MCU的各子系列特性、應用領域、基本知識及實現構架;了解MSP432 MCU的引腳功能和硬件最小系統結構以及中斷源;掌握MCU硬件最小系統概念及MSP432 MCU的存儲映像。
(三)考核知識點和考核要求
1.領會:MSP432系列MCU的各子系列特性、應用領域、基本知識及實現構架;了解MSP432 MCU的中斷源、引腳功能和硬件最小系統結構。
2.掌握:最小系統概念及MSP432 MCU的存儲映像。
第4章 GPIO及程序框架
(本章4.4.2~4.6節內容不做考核要求)
(一)課程內容
本章給出通用I/O基本概念和連接方法,簡要給出MSP432 MCU的端口控制模塊與GPIO模塊的編程結構;闡述了給直接映像寄存器地址賦值的方法,點亮一盞小燈的編程步驟;闡述制作構件的必要性及基本方法并給出第一個構件化編程框架、GPIO構件、Light構建編程實例。
(二)學習要求
了解通用I/O基本概念和連接方法;了解MSP432 MCU的端口控制模塊與GPIO模塊的編程結構;掌握給直接映像寄存器地址賦值的方法及點亮一盞小燈的編程步驟;了解制作構件的必要性及基本方法。
(三)考核知識點和考核要求
1.領會:通用I/O基本概念和連接方法;MSP432 MCU的端口控制模塊與GPIO模塊的編程結構;制作構件的必要性及基本方法。
2.掌握:給直接映像寄存器地址賦值的方法及點亮一盞小燈的編程步驟。
第5章 嵌入式硬件構件與底層驅動構件基本規范
(一)課程內容
本章介紹了嵌入式硬件構件的概念及分類,給出了硬件構件原理圖設計規則,分析了嵌入式底層驅動構件的概念及層次模型;給出了底層驅動構件封裝規范,介紹了硬件構件及底層軟件構件的重用與移植方法。
(二)學習要求
通過本章的學習,了解嵌入式硬件構件及底層驅動構件的概念有層次模型,了解底層驅動構件的封裝規范,了解軟硬件構件的重用和移植方法。
(三)考核知識點和考核要求
1.領會:嵌入式硬件構件的分類;嵌入式硬件構件電路設計簡明規則;嵌入式底層軟件構件的分類;構件設計的基本思想和基本原則以及編碼風格基規范;硬件和軟件構件結合的的層次模型;軟硬件構件的重用和移植方法;底層驅動構建封裝規范及公共要素文件編寫技巧。
2.掌握:嵌入式硬件構件的定義和分類;嵌入式軟件構件及嵌入式底層驅動構件的定義;重用概念;移植概念。
第6章 串行通信模塊及第一個中斷程序結構
(一)課程內容
本章主要闡述了串口相關的基礎知識及MSP432 MCU的串口模塊功能概要并介紹了串口模塊驅動構件編程時涉及的寄存器;設計并封裝了串行通訊的驅動構件;分析了MSP432 MCU的中斷機制并給出了中斷的編程步驟和實例。
(二)學習要求
通過本章的學習,了解串口相關的基礎知識及MSP432 MCU的串口模塊功能并掌握串口模塊驅動構件編程時涉及的寄存器;了解串行通訊驅動構件的設計和封裝方法;了解MSP432 MCU的中斷機制并掌握中斷編程方法及編程時涉及的寄存器。
(三)考核知識點和考核要求
1.領會:串行通信相關的基礎知識及MSP432 MCU的串口模塊功能;RS232總線標準及邏輯電平轉換;串行通訊驅動構件的設計和封裝方法;MSP432 MCU的中斷機制。
2.掌握:串口模塊驅動構件編程方法及編程時涉及的寄存器;中斷編程方法及編程時涉及的寄存器。UART接收中斷處理的方法。
第7章 定時器相關模塊
(一)課程內容
本章講述了計數器/定時器的一般工作原理,主要介紹了MSP432 MCU的內核定時器和定時器接口模塊的基本功能和基本編程方法。
(二)學習要求
通過本章的學習,了解計數器/定時器的一般工作原理;了解內核時鐘的功能并掌握內核時鐘的相關寄存器及設置方法;了解內核定時器SysTick的基本特性,定時器/PWM模塊的功能、對應外部引腳并掌握該模塊相關的寄存器及編程設置方法;了解Timer_A模塊的PWM輸出、間隔定時、輸入捕捉和輸出比較功能相關的寄存器及編程設置方法;了解Timer32定時器模塊的自由運行模式、周期定時器模式、單次定時器模式相關的寄存器及編程設置方法;了解實時時鐘RTC_C模塊可配置時鐘計數器的功能、對應外部引腳并掌握該模塊相關的寄存器及編程設置方法。
(三)考核知識點和考核要求
1.領會:計數器/定時器的一般工作原理;內核時鐘的工作原理及驅動構件封裝;SysTick定時器的功能和特點,定時器/PWM模塊的工作原理及驅動構件封裝;Timer_A模塊的PWM輸出、間隔定時、輸入捕捉和輸出比較工作原理及驅動構件封裝;Timer32定時器模塊的工作原理及驅動構件封裝,Timer32定時中斷服務程序;實時時鐘RTC_C模塊的工作原理及驅動構件封裝。
2.掌握:各計數器/定時器模塊的功能、相關寄存器及編程設置方法及驅動構件結構,
第8章 GPIO應用——鍵盤、LED與LCD
(一)課程內容
本章講述了MSP432 MCU GPIO模塊的一般工作原理,主要介紹了鍵盤、LED與LCD等GPIO模塊典型應用的構件化設計編程方法及上述構件的綜合應用范例。
(二)學習要求
通過本章的學習,了解和掌握GPIO接口模塊的一般工作原理;了解和掌握鍵盤掃描基本原理和編程方法;了解和掌握LED掃描基本原理和編程方法;了解和掌握字符型LCD的基本原理和編程方法。
(三)考核知識點和考核要求
1.領會:單個按鍵的簡單原理,鍵盤掃描基本原理; LED掃描基本原理;字符型LCD的基本原理。
2.掌握:單個按鍵及鍵盤驅動構件結構;LED發光二極管的工作原理,LED驅動構件結構;LCD驅動構件結構。掌握用匯編語言和C語言判斷單個按鍵及控制發光二極管的編程。
第9章 Flash在線編程
(本章內容不做考核要求)
第10章 ADC、DAC與CMP模塊
(本章內容不做考核要求)
第11章 SPI、I2C與TSI模塊
(本章內容不做考核要求)
第12章 DMA編程
(本章內容不做考核要求)
第13章 系統時鐘與其他功能模塊
(本章內容不做考核要求)
第14章 進一步學習指導
(本章內容不做考核要求)
三、有關說明和實施要求
(一)關于“課程內容與考核目標”中有關提法的說明
在大綱的考核要求中,提出了“領會”、“掌握”、“熟練掌握”等三個能力層次的要求,它們的含義是:
1.領會:要求應考者能夠記憶規定的有關知識點的主要內容,并能夠領會和理解規定的有關知識點的內涵與外延,熟悉其內容要點和它們之間的區別與聯系,并能根據考核的不同要求,做出正確的解釋、說明和闡述。
2.掌握:要求應考者掌握有關的知識點,正確理解和記憶相關內容的原理、方法步驟等。
3.重點掌握:要求應考者必須掌握的課程中的核心內容和重要知識點。
(二)自學教材
本課程使用教材為:《嵌入式技術基礎與實踐(第5版)》,王宜懷、許粲昊、曹國平著,清華大學出版社,2019年版。
(三)自學方法的指導
本課程作為一門的專業課程,綜合性強、內容多、難度大,應考者在自學過程中應該注意以下幾點:
1.學習前,應仔細閱讀課程大綱的第一部分,了解課程的性質、地位和任務,熟悉課程的基本要求以及本課程與有關課程的聯系,使以后的學習緊緊圍繞課程的基本要求。
2.在閱讀某一章教材內容前,應先認真閱讀大綱中該章的考核知識點、自學要求和考核要求,注意對各知識點的能力層次要求,以便在閱讀教材時做到心中有數。
3.閱讀教材時,應根據大綱要求,要逐段細讀,逐句推敲,集中精力,吃透每個知識點。對基本概念必須深刻理解,基本原理必須牢固掌握,在閱讀中遇到個別細節問題不清楚,在不影響繼續學習的前提下,可暫時擱置。
4.學完教材的每一章節內容后,應認真完成教材中的習題和思考題,這一過程可有效地幫助自學者理解、消化和鞏固所學的知識,增加分析問題、解決問題的能力。
(四)對社會助學的要求
1.應熟知考試大綱對課程所提出的總的要求和各章的知識點。
2.應掌握各知識點要求達到的層次,并深刻理解各知識點的考核要求。
3.對應考者進行輔導時,應以指定的教材為基礎,以考試大綱為依據,不要隨意增刪內容,以免與考試大綱脫節。
4.輔導時應對應考者進行學習方法的指導,提倡應考者“認真閱讀教材,刻苦鉆研教材,主動提出問題,依靠自己學懂”的學習方法。
5.輔導時要注意基礎、突出重點,要幫助應考者對課程內容建立一個整體的概念,對應考者提出的問題,應以啟發引導為主。
6.注意對應考者能力的培養,特別是自學能力的培養,要引導應考者逐步學會獨立學習,在自學過程中善于提出問題、分析問題、做出判斷和解決問題。
7.要使應考者了解試題難易與能力層次高低兩者不完全是一回事,在各個能力層次中都存在著不同難度的試題。
(五)關于命題和考試的若干規定
1.本大綱各章所提到的考核要求中,各條細目都是考試的內容,試題覆蓋到章,適當突出重點章節,加大重點內容的覆蓋密度。
2.試卷對不同能力層次要求的試題所占的比例大致是:“領會”20%,“掌握”60%,“熟練掌握”為20%。
3.試題難易程度要合理,可分為四檔:易、較易、較難、難,這四檔在各份試卷中所占的比例約為2:3:3:2。
4.本課程考試試卷采用的題型:單項選擇題、名詞解釋、簡答題、案例分析題及應用題。(見附錄題型示例)。
5.考試方式為閉卷筆試,考試時間為150分鐘。評分采用百分制,60分為及格。
附錄 題型舉例
一、單項選擇題
如:MSP432芯片每個GPIO端口的寄存器數量是( )
答案為D
A.4個 B.6個 C.8 個 D.12個
二、判斷改錯題
如:系統總線負責連續系統的外圍慢速度模塊
三、名詞解釋題
如:構件移植
四、簡答題
如:簡述BLX指令的用途。
五、案例分析題
如:分析下列代碼執行結果
LDR R2,[R1]
MOV R1,R2
ADD R2,R4,R1
STR R2,[R1]
六、應用題
如:將下列代碼中空白部分補充完整。
//================================================================
//函數名稱: gpio_init
//函數返回: 無
//參數說明: port_pin:(____)|(_____)(例如:_________________)
// dir:引腳方向(0=_______,1=__________,可用引腳方向宏定義)
// state:端口引腳初始狀態(0=__________,1=__________)
//功能概要: ______指定端口引腳為GPIO引腳功能,并定義為________,若是輸出,// 還指定____狀態是低電平或高電平
//================================================================
void GPIO_init(uint16 port_pin, uint8 dir, uint_8 state)
{
:
}