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

正文內(nèi)容

嵌入式系統(tǒng)設(shè)計(jì)實(shí)例(編輯修改稿)

2024-10-27 16:39 本頁面
 

【文章內(nèi)容簡介】 選擇狀態(tài)機(jī) ?簡單狀態(tài)機(jī) 28 數(shù)控系統(tǒng)設(shè)計(jì)-任務(wù)設(shè)計(jì) ? 分配優(yōu)先級(jí),由于采用 ucos操作系統(tǒng),操作系統(tǒng)采用基于優(yōu)先權(quán)可搶占的調(diào)度方式 ?采用靜態(tài)固定分配,優(yōu)先級(jí)與周期成反比,周期越短優(yōu)先級(jí)越高。非周期性任務(wù)則按照重要性分配,重要性越高優(yōu)先級(jí)越高 ?系統(tǒng)的優(yōu)先級(jí)分配情況如下:伺服最高,插補(bǔ)次之,邏輯處理次之,譯碼次之,人機(jī)界面最低 29 數(shù)控系統(tǒng)設(shè)計(jì)-任務(wù)之間通訊 ? 任務(wù)間通訊 ?ucosII提供郵箱,消息隊(duì)列,全局變量,共享內(nèi)存的方式提供任務(wù)間通訊 ? 各種通訊方式的比較 ?郵箱 ?消息隊(duì)列 ?全局變量 ?共享內(nèi)存 ? 共享內(nèi)存是最快的通訊方式 30 數(shù)控系統(tǒng)設(shè)計(jì)-共享內(nèi)存 ? OSMemCreate()創(chuàng)建內(nèi)存 ? void initCNCMem(void) { ? INT8U err。 ? pCNCMem=OSMemCreate(CNCMemPart, CNCMemSize, CNCblkSize, amp。err)。 ? if(pCNCMem==NULL){ ? Uart_Printf(Failed to Create CNC Message quote)。 ? } ? } ? OSMemGet()獲得內(nèi)存 ? void initManual_data(void) { ? INT8U err。 ? manual_data= (MANUALDATA * )OSMemGet(pCNCMem,amp。err)。 ? } // end initManual_data 31 數(shù)控系統(tǒng)設(shè)計(jì)-共享內(nèi)存 任務(wù) 1 任務(wù) 2 任務(wù) 3 全局變量表 局部變量表 局部變量表 TM4 TM3 TM1 TM2 32 數(shù)控系統(tǒng)設(shè)計(jì)-共享內(nèi)存 局部變量表數(shù)據(jù)結(jié)構(gòu) 全局變量表數(shù)據(jù)結(jié)構(gòu) GIFitem1 name GIF_nvar GIF_size GIF_time GIF_lock GIF_dirt GIF_first GIF_last GIFitem3 GIFitem2 GIFitemn next GIF_type GIF_ts GIF_next GIF_spot 到下一個(gè)元素 gdata_spot qdata_spot ldata_type ditem2 ditemn ….. ldata_type gdata_spot ditem1 litemn itemVarCopyToG size time gptr literm1 litem2 ….. itemPCopyToG qitem[n] itemVarCopyFromG itemPCopyFromG 存放數(shù)據(jù) 的內(nèi)存區(qū) 數(shù)據(jù)項(xiàng) nvar name 34 數(shù)控系統(tǒng)設(shè)計(jì)-同步 ? 優(yōu)先級(jí)逆轉(zhuǎn) ? 一般是在兩個(gè)任務(wù)訪問共享數(shù)據(jù)時(shí)出現(xiàn),為了保證數(shù)據(jù)的一致性,這兩個(gè)訪問必須串行,如果優(yōu)先級(jí)高的任務(wù)首先獲得訪問權(quán),則優(yōu)先級(jí)的順序保持一致,如果優(yōu)先級(jí)低的任務(wù)首先獲得訪問權(quán),這時(shí)優(yōu)先級(jí)高的任務(wù)請(qǐng)求訪問,則優(yōu)先級(jí)高的任務(wù)必須等到優(yōu)先級(jí)低的任務(wù)完成訪問為止 ? 解決方法 ? 優(yōu)先級(jí)繼承 ? 優(yōu)先級(jí)上界 35 數(shù)控系統(tǒng)設(shè)計(jì)-執(zhí)行時(shí)間的測量 ? 時(shí)間測量 ? 主要目的是測量單個(gè)任務(wù)的執(zhí)行時(shí)間 ? 評(píng)估系統(tǒng)的整個(gè)實(shí)時(shí)性能 ? 精確的實(shí)時(shí)調(diào)度分析 ? 優(yōu)化代碼 ? 調(diào)試時(shí)間錯(cuò)誤 36 數(shù)控系統(tǒng)設(shè)計(jì)-執(zhí)行時(shí)間的測量 ? 方法: ? 秒表 ? Date ? Time ? prof和 gprof ? 軟件分析儀 ? 定時(shí)器 /定時(shí)器時(shí)間片 ? 邏輯分析儀 37 數(shù)控系統(tǒng)設(shè)計(jì)-執(zhí)行時(shí)間的測量 方法 分辨率 精度 粒度 使用難度 秒表 程序 容易 date 程序 容易 time 程序 容易 Prof和 gprof 10msec 10msec 函數(shù) 中等 clock 1530msec 1530msec 行 中等 軟件分析儀 10usec 20usec 函數(shù) 中等 定時(shí)器 /時(shí)間片 18usec 行 難 邏輯分析儀/ICE 50nsec 半秒 行 難 39 數(shù)控系統(tǒng)開發(fā)-周期任務(wù)的實(shí)現(xiàn) ucos- II的任務(wù)是個(gè)無限循環(huán)不是周期任務(wù) Void task(void *prio) { for(。) { Do stuff } } 利用 OSTimeTickHook()函數(shù)實(shí)現(xiàn)周期性函數(shù) ,不過只能實(shí)現(xiàn) ticks整數(shù)倍的周期任務(wù) 40 數(shù)控系統(tǒng)開發(fā)-周期任務(wù)的實(shí)現(xiàn) void task(void *prio) { ? for(。) { ? OSTaskSuspend( pri)。 ? Do stuff。 ? } ? } int periodic=0。 OSTimeTickHook() { periodic++。 if(periodic=n) { //任務(wù)周期= n*ticks OSTaskResume(pri) } } 41 設(shè)計(jì)原則--越簡單越好 ? 系統(tǒng)詳細(xì)設(shè)計(jì)指南 ? 使用查找表和指針函數(shù)而不是 if else or switch ? 使用固定大小的數(shù)組 ? 避免動(dòng)態(tài)分配內(nèi)存 ? 降低系統(tǒng)中的任務(wù)數(shù) ? 避免任務(wù)互相依賴 ? 避免多線程設(shè)計(jì) ? 避免一個(gè)大的循環(huán) ? 對(duì)經(jīng)常執(zhí)行的部分進(jìn)行優(yōu)化
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1