freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

vxworks培訓(xùn)講稿(嵌入式系統(tǒng))(參考版)

2024-09-08 10:02本頁(yè)面
  

【正文】 remove (filename) 2. 驅(qū)動(dòng)程序表: (I/O System Driver Table: iosDrvShow()) Driver Num create delete open close read write ioctl 1 2 3 myOpen NULL myOpen myClose myRead myWrite myIoctl 4 設(shè)備表:( Devs List: devs()) 文件描述符表( File Descriptor Table) : iosFdShow() Driver Device ID (Index in driver table) (Driver dependent value) 1 2 3 4 “/pipe/abc” 2 “/pipe/xyz” 2 “/tyCo/0” 1 “sacto:” 4 Drv driver data Serial driver data Pipe driver data Pipe driver data 28 5 3. Driver的操作規(guī)整,參數(shù)規(guī)整和 I/O管理: xxOpen(pDevHdr, pName, flags, mode): 返回設(shè)備 Id 號(hào); xxClose(deviceId) xxRead(deviceId, pBuf, nBytes) xxWrite(deviceId, pBuf, nBytes) xxIoctl(deviceId, cmd, arg) xxDrv(args,…) : iosDrvInstall (xxCreat, xxDelete, xxOpen,xxClose, xxRead, xxWrite, xxIoctl) 往I/O 系統(tǒng)驅(qū)動(dòng)程序表添加 Driver。 ioctl (fd, mand, arg) write (fd, amp。 read (fd, amp。 第二節(jié) Driver的執(zhí)行邏輯 3. 2. 1 Driver的層次結(jié)構(gòu) 1. 任務(wù)與 VxWorks的接口: ?fd =open (filename, flags, mode) (Init exception handling) wdbConfig()。 iosInit()。 sysClkRateSet()。 sysClkConnect()。 Handle all init needed before kernel start Start the kernel by calling kernelInit():。 Init all processor registers to known default states。 If cache applicable Invalidate cache。 Initialize the unused memory。 If ROMresident Image Copy the text and data to RAM。 Clear caches。 2. 系統(tǒng)硬件初始化函數(shù): sysHwInit(),sysHwInit2() 3. 內(nèi)存相關(guān)的函數(shù): sysMemTop(),sysNvRamGet(),sysNvRamSet() 4. 串口相關(guān)的函數(shù): sysSerialHwInit(),sysSerialHwInit2(),sysSerialChanGet() 5. 雜項(xiàng)函數(shù): sysBspRev(),sysModel(),sysToMonitor() 6. 其它可選函數(shù):如:輔助時(shí)鐘中斷相關(guān)函數(shù),總線相關(guān)函數(shù) 第三章 BSP 的執(zhí)行邏輯 第一節(jié) Init的邏輯 1. Boot Init邏輯: Disable interrupt。 :中斷向量或中斷號(hào); I/O設(shè)備地址;設(shè)備寄存器位的含義定義;系統(tǒng)時(shí)鐘和輔助時(shí)鐘最大和最小時(shí)鐘速率。 :包含與板子相關(guān)的宏定義。 :串口驅(qū)動(dòng)程序的安裝和初始化。這是 Boot Rom起來以后執(zhí)行的第一段代碼, ,但它不必設(shè)計(jì)成 PIC,且可調(diào)用其它庫(kù)中的函數(shù)。 (2) 配置內(nèi)存系統(tǒng),通常包括關(guān)閉 cache,初始化內(nèi)存控制器; (3) 初始化堆棧指針和其它寄存器以執(zhí)行 C語言,然后調(diào)用 romStart(). Note:romInit()函數(shù)必須設(shè)計(jì)成與內(nèi)存地址無關(guān)的代碼( PIC) ,必要的初始化,其余的初始化工作可放到 sysHwInit()中實(shí)現(xiàn)。 其 中 定 義 了 一 些 宏 , 如 :ROM_TEXT_ADRS,ROM_WARM_ADRS,ROM_SIZE,RAM_LOW_ADRS,RAM_HIGH_ADRS; :包含所有的頭文件和與 CPU相關(guān)的宏定義,如:對(duì) Cache和 MMU的配置, RAM和 ROM的定位以 及大小配置 ,外部總線地址映射, PCI地址宏; : 該文件包含 Boot Rom和 Rombased VxWorks Image的初始化入口匯編代碼,即實(shí)現(xiàn)了 romInit()。首先把 text和 data段從 ROM拷到 RAM中,然后初始化部分 RAM,進(jìn)行解壓; :包含 VxWorks Image 的主要初始化代碼。 Boot Image 不使用 MMU庫(kù)( SPARC 除外)。 END FOR END 第二節(jié) 怎樣理解 BSP 分析 BSP可以從兩個(gè)角度出發(fā): 1. BSP在宿主機(jī)上由什麼函數(shù)和文件組成,以及目錄情況 2. BSP在目標(biāo)機(jī)上是以什麼邏輯執(zhí)行的 第二章 BSP 的函數(shù)與文件 第一節(jié) BSP的文件構(gòu)成 VxWorks的 BSP組成文件主要包含在四個(gè)目錄下: Tornado\target\config\all :所有 BSP的公共部分 Tornado\target\config\ps\vxworks :基本模塊描述文件( *.cdf) Tornado\target\config\ps\src :模塊配置文件(被 ) Tornado\target\config\bspname :與目標(biāo)板相關(guān)的部分 下面分別介紹這兩個(gè)目錄下的文件: 1. config\all:在該目錄下主要有如下幾個(gè)文件 :是所有 Boot Rom 的主要初始化與控制文件。 Break。 第二章 系統(tǒng)調(diào)用 第四部分 BSP 第一章 BSP 常識(shí) 第一節(jié) BSP的功能 1. Initialization: 2. Driver: 舉例: BEGIN 命令 ?Rc。 2. 針對(duì)不同目標(biāo)環(huán)境,修改編譯規(guī)則可通過 Project facility進(jìn)行。 4.編譯生成 VxWorks的 IMAGE。 VxWorks有兩個(gè)源程序空間,所以編程主要是指編寫應(yīng)用程序代碼和 BSP源代碼。 第四章 設(shè)計(jì)實(shí)例 一個(gè)飛機(jī)控制的例子: 1. 功能劃分:輸入:傳感器:時(shí)間耗盡線 50ms 駕駛員操作:隨機(jī) 輸 出:傳動(dòng)器:時(shí)間耗盡線 50ms 駕駛室的顯示:時(shí)間耗盡線 200ms 控制算法: 存儲(chǔ): 2. 任務(wù)劃分:外設(shè)原則、大量運(yùn)算原則 3. 多任務(wù)流程圖: P 23 定時(shí)器 50ms、 200ms ISR ISR ISR 傳動(dòng)器 driver Driver 傳感器 Device device ISR ISR 顯示 driver driver 駕駛 device 存儲(chǔ)器 device 第三部分 Programming 第一章 編程常識(shí) 第一節(jié) 創(chuàng)建工程 1. 工程( Project)與工作空間( Workspace)的關(guān)系 : 用 Tornado 可創(chuàng)建兩類工程,即downloadable工程和 bootable 工程; Workspace 包含相關(guān)的一組工程( Projects) ,在一個(gè) Workspace中,可以同時(shí)包含 downloadable和 bootable工程 ,而且不同的 Workspace可以共享一個(gè)工程;工程( Project)用于管理應(yīng)用程序源文件、 vxworks操作系統(tǒng)的配置和編譯規(guī)則的配置,不同的工程可以共享同一源文件。 7. Signal的規(guī)范:用于出錯(cuò)或異常處理,而不要用于任務(wù)間的通訊 8. ISR的規(guī)范:短、精、直接硬相關(guān),不調(diào)用可能阻塞中斷的系統(tǒng)服務(wù) 9. 編程風(fēng)格:靜態(tài)資源 提前創(chuàng)建,類比: C語言中的靜態(tài)變量提前聲明 10. 避免死鎖的算法:公用資源排序,申請(qǐng)時(shí)按順序,使矢量朝一個(gè)方向,不會(huì)產(chǎn)生“鏈”狀結(jié)構(gòu),即可避免死鎖。 semTake()。 {msgQreceive()。 5. 避免使用 taskSuspend和 taskResume: sigwaitinfo( ) sigHandler OS P R D S 22 OS被事件驅(qū)動(dòng) OS被人驅(qū)動(dòng),破壞了任務(wù)狀態(tài)的自然流動(dòng) 類似于 goto之于 C語言,破壞了程序設(shè)計(jì)的結(jié)構(gòu)化。 kill() 定時(shí)器 任務(wù) ISR 第四節(jié) 實(shí)時(shí)設(shè)計(jì)的規(guī)范與評(píng)估 1. 任 務(wù)劃分符合 2. 任務(wù)占用的代碼體要被終止或死循環(huán) taskcode() taskcode() { initialize 或 { initialize while(1){ } } } 3. 任務(wù)占用代碼體的模樣 taskcode() { initialize 接收 處理 發(fā)送 } 4. taskDelete:任務(wù)要自殺,不要他殺:任務(wù)一般既是生產(chǎn)者又是消費(fèi)者,任務(wù)先與系統(tǒng)脫離耦合,然后自殺,以免任務(wù)之間的相互干擾。利用該互斥信號(hào)量可解決以上問題: 21 3. Signal:軟件中斷信號(hào),任何任務(wù)或 者中斷服務(wù)程序可發(fā)送一 signal 給指定的任務(wù),主要用于出錯(cuò)或者異常處理,而不適用于通常意義上的任務(wù)間通訊。 semFlush: 廣播信號(hào)量 信號(hào)量狀態(tài)保持不變 。 程序 pas
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1