三級最后一波
2018年3月24日10:32:08。。。13點考試。。。莫慌,穩住。。。
任務調度
任務級的調度是由函數OSSched()完成的。OSSched()函數是任務調度的前導函數。
中斷級的調度是調用OSInitExit()完成的
判斷進行任務調度的三個條件是否滿足
(1)中斷嵌套層數共享全程變量OSIntNesting=0,也就是所有的ISR已經執行完畢。(注意中斷服務子程序代碼完成會將OSIntNesting置1)
(2)任務調度加鎖層數共享全程變量OSLockNesting=0,也就是調度沒有被禁止
(3)就緒表查找到的最高優先級任務的優先級比當前任務的優先級高。當發生任務級的任務調度時,內核進行任務級的任務切換,保存當前任務的上下文,并恢復新任務的上下文。
調用OSTimeDly()函數會使μC/OS-II進行一次任務調度
OSTimeDly()能使系統從運行態轉入等待態
OSSemPost()使等待態任務轉入就緒態
OSSemPend()能使系統從運行態轉入等待態。
用戶必須在多任務系統啟動以后再激活時鐘節拍信號發生器
在調用OSStart()之后做的第一件事是初始化定時器中斷
使用JTAG進行嵌入式系統的調試,無需目標存儲器,也不占用目標機任何I/O端口
低端嵌入式硬件大多采用【4/8】位單片機。
目前網站上應用最多的音頻編碼格式是MP3
應用最多的視頻編碼格式是AVI
以太網采用的通信協議802.11
連接在以太網中的每臺計算機必須至少有一個全球唯一的MAC地址。
ARM7、【RAM9】和ARM11屬于經典ARM處理器,ARM Cortex-M0/Cortex-M1/Cortex-M3/Cortex-M4等Cortex-M系列歸屬于【RAM Cortex嵌入式處理器】。
NVIC - 嵌套向量中斷控制器
VIC - 向量中斷控制器
WIC - 喚醒向量中斷控制器
HI - 無符號數大于
CC - 無符號數小于
CS - 無符號數大于等于
LS - 無符號數小于等于
兩個無符號數在寄存器R0和R1中,如果R0>=R1,則將R0與R1進行帶借位減法操作,結果放入R2中,并要求更新CPSR狀態寄存器的狀態位:CMP R0, R1 和SBCCSS R2, R0, R1
在ARM指令中,如果兩個無符號數在寄存器R1和R2中,R1>R2,則將R1減去R2,結果放R3中,用兩條指令完成,則分別為【CMP R1,R2】和【SUBHI R3,R1,R2】。
在ARM的指令中,如果R5與R6不相等,則將R5與R6進行邏輯異或操作,結果放R0中,并要求更新程序寄存器的狀態位,用兩條指令完成,則分別為【CMP R5,R6】和【EORNES R0,R5,R6】。
引用一個在其它文件中的標號Lable1的偽指令為【IMPORT Lable1】, 聲明一個全局標號Lable2以便其它文件引用,該偽指令為【EXTERN Lable2】。
CAN總線的數據幀由7個不同的域組成,按照傳輸順序,它們是:幀起始、仲裁域、控制域、數據域、校驗域、應答域、幀結尾。
S3C2410芯片的nGCS×連接到其CS引腳(低電平有效),那么讀寫AX88796芯片內部寄存器的首地址有:
nGCS2是【0x10000000】
nGCS3是【0x18000000】
nGCS5是【0x28000000】。
U-Boot是一種廣泛使用的引導程序,支持多種體系結構的處理器。
需要在頁面程序代碼中,嵌入【CGI】接口程序代碼,完成與設備操控組件的信息交互。
【99】啟動引導;目標系統需先運行啟動引導程序。【100】瀏覽器;客戶機一般用瀏覽器訪問因特網。
量化就是把每個樣本的模擬值轉換成數字量來表示;
量化后的樣本一般用8位、12位或16位二進制整數表示
RGB的像素深度是24
ADSL即不對稱數字用戶線,利用普通電話線作為傳輸介質將計算機接入互聯網;借助有線電視網接入互聯網時,主機端仍采用傳統的以太局域網技術與電纜調制調解器(Cable Modem)連接,后者通過同軸電纜接入HFC;
光纖接入網指的是使用光纖作為主要傳輸介質的互聯網接入系統,包括使用光纖或者光纖+雙絞線作為傳輸介質;
無線局域網通常與有線局域網連接并通過路由器接入互聯網。
ARM中多數為哈佛結構,ARM7采用馮諾依曼結構
S3C2410片內的USB**主控制器與芯片內部的AHB總線相連,USB設備接口與芯片內部的**APB總線相連。
HAL它是嵌入式硬件電路板的最基本軟件
嵌入式系統加電后執行的第一批最初操作稱為引導或者自舉,對應的程序稱為引導程序或者引導加載程序(Bootloader),主要完成內存加電自檢、外設存在自檢、初始化外圍設備、加載和啟動操作系統
只有任務可以等待另一個任務或中斷服務子程序通過事件控制塊ECB給它發送信號,而中斷服務子程序是不能等待事件控制塊ECB給它發送信號的
ARMv7A處理器的典型代表是Cortex-A系列,ARM11采用的是ARM11采用的是ARMV6的體系結構
Thumb-2狀態是ARMV7版本的ARM處理器所具有的新狀態,如Cortex,ARM9不具有Thumb-2的狀態!
ARM的七種工作狀態,取決于CPSR寄存器的低5位的值。
影響CPU性能的主要因素有:主頻、指令系統、高速緩沖器的容量和結構,邏輯結構
CPSR寄存器可讀當然也可寫!!!
TST是位測試指令,將寄存器的值與立即數按位與。
新型存儲器FRAM和MRAM是非易失性存儲器
微硬盤內部的存儲器主體是NAND Flash
各個USB版本均采用全雙工通信能力是錯誤的!!!USB1.0和2.0有4根信號線,采用半雙工差分方式。
各個版本的USB均采用差分方式傳輸數據!
CAN發送的字節必須可以是0~8字節!!!
U-BOOT是支持多種嵌入式CPU的BootLoader
Linux內核主要作用是:進程管理和調度,內存管理、文件管理,網絡接口和進程間通信
Linux使用宏內核結構。
驅動程序可以被直接編譯到Linux內核中并在內核啟動時加載到內存,亦可以模塊形式存儲在文件系統中并在需要時被動態加載和卸載。
中斷服務子程序代碼完成的操作不包括:將中斷的任務掛起
RAM9TDMI - S中T的含義是16位Thumb指令,D表示支持片上調試。
26位地址線和8位數據線,存儲容量是512Mb,即64MB。
20位地址線和16位數據線,存儲容量16Mb,即2MB
ARM7 采用3級流水線,Cortex-A15采用13級流水線。
MMU - 可完成虛擬存儲器技術
程序狀態寄存器的值保存到寄存器R0 是,,,MRS R0, CPSR
R1的值放到程序狀態寄存器是:MSR CPSR, R1
解決優先級反轉:互斥信號量
適合處理多事件同步:事件標志組
執行不可分割的代碼成為臨界區
鎖定任務調度器:OSSchedLock
軟件系統的四大重要部分:客戶端瀏覽器,WEB服務器,WEB頁面,設備操控程序。
CGI接口用來和設備操控程序進行信息交互。
2018年3月24日13:50:02,考完了。感覺抽的題簡單了。。哈哈哈哈。。。。
ARM 嵌入式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。