基于S1C33L11的JPEG圖像實(shí)時(shí)顯示和數(shù)據(jù)傳送系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
電子論壇 您現(xiàn)在的位置:LQ022B8DD05 的貨源和報(bào)價(jià) LQ022B8DD05 的相關(guān)技術(shù)信息 其他型號(hào) 深圳市硅宇電子有限公司聯(lián)系人:銷售部
電話:0755-83246984/83251574 上海丹蘭電子有限公司聯(lián)系人:SUSHAN
電話:021-53082716轉(zhuǎn)18 深圳市杰洲科技有限公司聯(lián)系人:劉小姐
電話:0755-83249867/83242395/83242392 深圳市福田區(qū)鴻鑫電子商行聯(lián)系人:陳先生
電話:0755-83797878/83798310/83798320/83797993/81630565 >>更多供應(yīng)商 基于S1C33L11的JPEG圖像實(shí)時(shí)顯示和數(shù)據(jù)傳送系統(tǒng)的設(shè)計(jì) 摘 要:本文介紹了將mC/OS-II嵌入式操作系統(tǒng)移植到S1C33L11微處理器的方法,并給出了以S1C33L11為核心構(gòu)成的一個(gè)JPEG圖像實(shí)時(shí)顯示和數(shù)據(jù)傳送系統(tǒng)的設(shè)計(jì)方案。
關(guān)鍵詞:S1C33L11;JPEG;嵌入式系統(tǒng);mC/OS-II 引言
近年來,隨著微處理器性能的不斷提高,嵌入式應(yīng)用越來越廣泛?;谀硞€(gè)操作系統(tǒng)的實(shí)時(shí)、多任務(wù)系統(tǒng)的設(shè)計(jì)和應(yīng)用成為微處理器應(yīng)用的熱點(diǎn)。S1C33L11是由精工愛普生推出的32位高速、低功耗和低電壓微處理器。本文介紹了將mC/OS-II嵌入式操作系統(tǒng)移植到S1C33L11微處理器的方法,并給出了以S1C33L11為核心構(gòu)成的JPEG圖像實(shí)時(shí)顯示和數(shù)據(jù)傳送系統(tǒng)的設(shè)計(jì)方案。mC/OS-II的移植
mC/OS-Ⅱ的源碼絕大部分是用移植性很強(qiáng)的ANSI C寫的,只是和微處理器硬件相關(guān)的那部分采用匯編語言,這樣把mC/OS-II移植到S1C33L11中主要是要修改與處理器有關(guān)的代碼,如:OS_CPU.H、OS_CPU_C.C 、OS_CPU_A.ASM。
OS_CPU.H文件
OS_CPU.H文件主要是定義和處理器有關(guān)的數(shù)據(jù)類型及有關(guān)中斷禁止、中斷允許、堆棧的增長方向的設(shè)置。
S1C33L11處理器所使用的編譯器中規(guī)定char為8位有符號(hào)數(shù)、short為16位有符號(hào)數(shù)、int和long都是32位有符號(hào)數(shù)。S1C33L11中堆棧的增長方向?yàn)閺母叩刂返降偷刂贰?BR>OS_CPU_C.C文件
在OS_CPU_C.C文件中包含6個(gè)簡單的C函數(shù),而和移植密切相關(guān)的是OSTaskInit()函數(shù),它的功能是模擬中斷發(fā)生時(shí)處理器壓棧過程,把CPU的寄存器內(nèi)容壓到任務(wù)堆棧中。
在S1C33L11中,堆棧是32位的,中斷的產(chǎn)生是先把PC壓棧然后是PSR壓棧。S1C33L11中OSTaskInit()函數(shù)模擬壓棧過程是:首先任務(wù)函數(shù)地址壓棧然后是PSR值壓棧,接著是16個(gè)32位通用寄存器(R15~R0)的壓棧模擬、AHR、ALR和SP的壓棧模擬,最后返回棧頂?shù)闹羔樀刂贰F渲蠵SR的值為 0x00000010設(shè)為中斷使能。
OS_CPU_A.ASM文件
在OS_CPU_A.ASM文件中包含四個(gè)匯編語言的函數(shù):OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()和OSTickISR()。
OSStartHighRdy()函數(shù)由OSStart()函數(shù)調(diào)用,功能是運(yùn)行優(yōu)先級最高的就緒任務(wù)。在這個(gè)函數(shù)的移植中,關(guān)鍵之一是從OSTCB HighRdy中得到所指堆棧中的SP,其二是出棧操作。由于在本移植中SP是最后壓棧的,在出棧時(shí),應(yīng)是彈出完16個(gè)通用寄存器后的SP值才是中斷返回指令執(zhí)行前的SP,因而在出棧操