是电脑软体与硬体的综合体.ppt_第1页
是电脑软体与硬体的综合体.ppt_第2页
是电脑软体与硬体的综合体.ppt_第3页
是电脑软体与硬体的综合体.ppt_第4页
是电脑软体与硬体的综合体.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/7/24,1,Programming Embedded System in C and C+,What is Embedded System? 是電腦軟體與硬體的綜合體,亦可涵蓋機械或其他附屬裝置;整個綜合體設計的目的,在於滿足某種特殊功能. 例如 : ABS,微波爐,PS,PDA,電視,滑鼠等.,2020/7/24,2,C:眾望所歸,C的優點: 跨越各個系統平台. 輕巧而容易學習的語言. 是一個的低階的高階語言. C+的優點: 包含C的優點 加強資料抽象並提供物件導向. 適合於大型研發團隊的崁入式軟體發展,2020/7/24,3,一個典型的崁入式系統,記憶體,處理器,輸入,輸出,2

2、020/7/24,4,“Hello World” too Hard,P2LTCH: Port2 I/O Latch Register 與CPU在同一晶片,所存的是晶 片外八個I/O pin的latch狀態.,Intel 80188EB 崁入式處理器 P2LTCH:0100 0000,Intel 80188EB 崁入式處理器 P2LTCH:0000 0000,綠色LED,紅色LED,2020/7/24,5,崁入式系統軟體開發程序,C/C+,C/C+,組語,compiler,compiler,assembler,Object code,Object code,Object code,Linker,

3、Relocation code,定位器,可執行檔,2020/7/24,6,硬體與軟體的初始化程序,Reset: ;Reset Code ;(in assembly) Jmp hw_init,Hw_init: ;Hardware ;Initialization ;(in assembly) Jmp startup,Startup: ;Startup Code ;(in assembly) Call main,Main() /*the C/C+ code Start here */ ,2,3,4,1,2020/7/24,7,記憶體的種類,記憶體,RAM,混合型,ROM,DRAM,SRAM,Flas

4、h,NVRAM,EPROM,PROM,Masked,EEPROM,2020/7/24,8,測試記憶體,Data bus test Address bus test Chip test,2020/7/24,9,週邊,On-chip peripheral :常用的裝置通常包含在與處理器相同的晶片中. External peripheral:位於處理器旁邊的硬體裝置,2020/7/24,10,Device Driver的設計哲學,Device driver的唯一目的就是要將所有的硬體隱藏. 他應該是整套軟體中唯一能和硬體溝通的窗口. 他能直接讀取或寫入特定裝置控制及狀態暫存器, 如果裝置發生中斷,那

5、ISR也要整合到裝置驅動程 式.,2020/7/24,11,控制暫存器與狀態暫存器,是週邊裝置與崁入式處理器之間的基本介面. 週邊裝置可分別稱為memory-mapped peripheral跟I/O mapped peripheral. Memory-mapped peripheral較易控制. volatile unsigned short *pP2LTCH=(unsigned short*) 0 x7200005E; void toggleLed(void) *pP2LTCH = LED_GREEN; / read,XOR,set ,2020/7/24,12,作業系統,要提供虛擬的硬體作

6、業平台,簡化應用程式的編寫. 作業系統可有可無,但適合複雜的崁入式系統. 介紹ADEOS(A Decent Embeded OS) 原始碼不超過1000行,其中有四分之三與硬體平台無關,而且是用C+撰寫,其餘的部份和硬體與處理器的型式有關,用組語寫成.,2020/7/24,13,Task,作業系統的任務就是負責協調輪替Task,由他決定那一個Task在那一個時間使用CPU.,運作中 (Running),備妥 (Ready),等待中 (Waiting),2020/7/24,14,Scheduler,在作業系統中負責要挑選要執行那個Task,並且管理各個Task優先程度的機制.有 FIFO , S

7、horest First , Round Robin 等. 多數崁入式系統需要Priority-based排程原則,所以需要有scheduling point. Scheduling point是scheduler檢查各個Task的優先程度的時間點. scheduling point通常在:建立task及刪除task及 clock tick.,2020/7/24,15,Context Switch,由一個Task切換到另一個Task的程序 因為實際的切換程序與處理器有關,所以這部分 的程式碼以組語來編寫.,2020/7/24,16,Task Synchronization,使用Mutex來保護多個task所共享的資料, 讀取或修改Mutex之前必須

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论