嵌入式开发系统概况ppt课件

上传人:仙*** 文档编号:179475858 上传时间:2023-01-01 格式:PPT 页数:76 大小:528.50KB
返回 下载 相关 举报
嵌入式开发系统概况ppt课件_第1页
第1页 / 共76页
嵌入式开发系统概况ppt课件_第2页
第2页 / 共76页
嵌入式开发系统概况ppt课件_第3页
第3页 / 共76页
点击查看更多>>
资源描述
嵌入式开发系统概略嵌入式开发系统概略和设备驱动n开发平台硬件资源n开发平台软件资源n嵌入式开发平台的硬件规划n嵌入式系统开发流程n集成开发环境n可以练习的实验工程开发平台硬件资源n1CPU:ARM7TDMI构造芯片S3C44B0X,任务频率60MHz;n2BIOS:2M,NOR FLASH;n3内存:8M,SDRAM;n4海量存储器:16M,NAND Flash;n5键盘:17键数字小键盘;n6显示:320240、256色LCD,带四线电阻式触摸屏;n7USB接口:D12芯片,USB 1.1规范;n8串口:2路,最高波特率115200 b/s;n9网络接口:RTL8019,10M以太网;n10CAN接口:波特率125Kb、250Kb、500Kb、1Mb;n11调试接口:JTAG,14针、20针;n12电机:直流电机,步进电机带1/64减速器;n13A/D:ARM自带8路10位A/D,满量程2.5V,4路电位器,4路扩展;n14D/A:10位,满量程4.096V;n15LED:8个,共阴,与键盘同由ZLG7289芯片驱动;n16音频输出:IIS总线,UDA1341芯片,44.1KHz音频;n17扩展插槽:2个,提供系统总线以及空余资源接口;嵌入式微处置器n嵌入式微处置器EMPU、嵌入式微控制器MCU、嵌入式DSP处置器EDSP、嵌入式片上系统SOCnARM、MIPS、68K、DSP、nARM7、ARM9、ARM11、XSCALE、n本开发系统的选择:ARM7TDMI构造芯片S3C44B0X ARMAdvanced RISC Machines nARMAdvanced RISC Machines,既可以以为是一个公司的名字,也可以以为是对一类微处置器的通称,还可以以为是一种技术的名字。nARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片消费,靠转让设计答应由协作公司消费各具特征的芯片,世界各大半导体消费商从ARM公司购买其设计的ARM微处置器核,根据各自不同的运用领域,参与适当的外围电路,从而构本钱人的ARM微处置器芯片进入市场。ARM微处置器的特点 n采用RISC架构的ARM微处置器普通具有如下特点:n1、体积小、低功耗、低本钱、高性能;n2、支持Thumb16位/ARM32位双指令集,能很好的兼容8位/16位器件;n3、大量运用存放器,指令执行速度更快;n4、大多数数据操作都在存放器中完成;n5、寻址方式灵敏简单,执行效率高;n6、指令长度固定;ARM微处置器系列 nARM微处置器目前包括下面几个系列,以及其它厂商基于ARM体系构造的处置器,除了具有ARM体系构造的共同特点以外,每一个系列的ARM微处置器都有各自的特点和运用领域。n ARM7系列n ARM9系列n ARM9E系列n ARM10E系列n SecurCore系列n Inter的Xscalen Inter的StrongARMARM7微处置器系列 nARM7系列微处置器为低功耗的32位RISC处置器,最适宜用于对价位和功耗要求较高的消费类运用。ARM7微处置器系列具有如下特点:n具有嵌入式ICERT逻辑,调试开发方便。n极低的功耗,适宜对功耗要求较高的运用,如便携式产品。n可以提供0.9MIPS/MHz的三级流水线构造。n代码密度高并兼容16位的Thumb指令集。n对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。n指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品晋级换代。n主频最高可达130MIPS,高速的运算处置才干能胜任绝大多数的复杂运用。nARM7系列微处置器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前运用最广泛的32位嵌入式RISC处置器,属低端ARM处置器核。ARM7TDMI构造nT取至THUMB,表示支持16bit的高代码密度的THUMB指令集。THUMB指令集是ARM指令集的子集,并且紧缩到16bit字长。在系统中合理地交叉运用ARM和THUMB指令集,可以使系统在到达设计要求的同时,尽能够地减小代码量。nD取至Debug,表示支持Debuging功能。nM取至Multiplier,表示具备32bit硬件乘法器。nI取至ICE,表示支持Embedded-ICE接口,可进展在线仿真。ARM微处置器的存放器构造 nARM处置器共有37个存放器,被分为假设干个组BANK,这些存放器包括:n 31个通用存放器,包括程序计数器PC指针,均为32位的存放器。n 6个形状存放器,用以标识CPU的任务形状及程序的运转形状,均为32位,目前只运用了其中的一部分。ARM微处置器的任务形状 n从编程的角度看,ARM微处置器的任务形状普通有两种,并可在两种形状之间切换:n第一种为ARM形状,此时处置器执行32位的字对齐的ARM指令;n第二种为Thumb形状,此时处置器执行16位的、半字对齐的Thumb指令。n当ARM微处置器执行32位的ARM指令集时,任务在ARM形状;当ARM微处置器执行16位的Thumb指令集时,任务在Thumb形状。在程序的执行过程中,微处置器可以随时在两种任务形状之间切换,并且,处置器任务形状的转变并不影响处置器的任务方式和相应存放器中的内容。ARM处置器方式 nARM微处置器支持7种运转方式,分别为:n 用户方式usr:ARM处置器正常的程序执行形状n 快速中断方式fiq:用于高速数据传输或通道处置n 外部中断方式irq:用于通用的中断处置n 管理方式svc:操作系统运用的维护方式n 数据访问终止方式(abt):当数据或指令预取终止时进入该方式,可用于虚拟存储及存储维护。n 系统方式sys:运转具有特权的操作系统义务。n 未定义指令中止方式und:当未定义的指令执行时进入该方式,可用于支持硬件协处置器的软件仿真。Samsung S3C44B0XSamsung S3C44B0XnSamsung S3C44B0X微处置器是三星公司专为手持设备和普通运用提供的高性价比和高性能的微控制器处理方案,它运用ARM7TDMI核,任务在66MHZ。为了降低系统总本钱和减少外围器件,这款芯片中还集成了以下部件:n8KB Cache、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、1个多主I2C总线控制器、1个IIS总线控制器,5通道PWM定时器及一个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等。基于基于ARMARM的嵌入式硬件平台体系构的嵌入式硬件平台体系构造造开发平台软件资源 n1UarmJtag并口仿真器驱动程序;n223个实验案例源代码n3UCOS-II操作系统、文件系统、驱动程序、API函数的库文件;嵌入式操作系统嵌入式操作系统n近200种操作系统,WinCE、Linux、Vxworks、QNX、Nucleus、n适于学习的源代码开放的操作系统:Linux、C/OSnLinux:层次构造且内核完全开放、网络功能强大、完好开发工具、广泛的硬件支持、遵照通用国际规范,便于程序的移植 nC/OS:源代码公开、实时内核、易懂、易学、易用嵌入式开发平台的硬件规划 微处置器与接口设计微处置器与接口设计嵌入式操作系统嵌入式操作系统嵌入式系统编程嵌入式系统编程嵌入式软硬件协同设计嵌入式软硬件协同设计嵌入式系统开发实际嵌入式系统开发实际根底平台:根底平台:ARM/DSP/FPGA/SOPC嵌入式系统设计集成开发环境nARM SDT 2.5开发环境 nADS1.2 开发环境 n集成开发环境的运用,参看实验指点讲义可以练习的实验工程n实验一A:ARM SDT 2.5开发环境n实验一B:ADS1.2 开发环境n实验一C:超级终端设置及BIOS功能运用n实验二 ARM的串行口实验n实验三 键盘及LED驱动实验n实验四 D/A接口实验n实验五 ARM的A/D接口实验n实验六 电机转动控制实验n实验七 LCD的驱动控制实验n实验八 触摸屏程序设计n实验九 CAN总线通讯实验n实验十 定时器中断和驱动程序实验n实验十一 BOOTLOADER实验n实验十二A C/OS-II在ARM微处置器上的移植及编译n实验十二B 完善的C/OS-开发框架n实验十三 音频实验n实验十四 绘图的API函数n实验十五 系统的音讯循环n实验十六 文件的运用n实验十七 列表框控件的运用n实验十八 文本框控件n实验十九 多义务和系统时钟n实验二十UDP通讯实验n实验二十一 综合实验n实验二十二 模拟电子画板实验触摸屏运用n实验二十三 基于ARM的多通道仪表信号采集实验多义务与A/D转换嵌入式系统课题设计可选课题nGPS通讯与路况信息系统 n车辆照明模拟实验 n车内空调系统实验 n车内音频播放系统 n车速控制和刹车系统 n系统综合实验看人数情况实验方式及要求n46人一组,每组选定一个课题工程n课题内部进展义务规划与分配n对课题进展功能、性能方面的分析n完成硬件及操作系统裁减的规划设计n在开发平台上实现操作系统的移植与裁减n完成课题各个义务模块的分析、模拟与仿真n系统调试n实验过程及阅历总结嵌入式系统开发流程n系统功能、性能分析n系统方案总体设计n硬件平台的选择与裁减n操作系统的选择与裁减n最小系统的设计与验证n运用程序的设计n性能目的优化n开发阅历总结GPS通讯与路况信息系统通讯与路况信息系统n1.背景背景n全球定位系统全球定位系统Global Positioning System,通常简称,通常简称GPS,是一个中间隔圆,是一个中间隔圆型轨道卫星定位系统。它可以为地球外表绝大型轨道卫星定位系统。它可以为地球外表绝大部分地域提供准确的定位和高精度的时间基准。部分地域提供准确的定位和高精度的时间基准。n车辆自动导航系统,它根据车辆自动导航系统,它根据GPS接纳机提供的接纳机提供的车辆当前位置和用户输入的车辆目的地,参照车辆当前位置和用户输入的车辆目的地,参照电子地图计算适宜的行驶道路并在行驶中以适电子地图计算适宜的行驶道路并在行驶中以适当的方式给驾驶员提供必要的信息。当的方式给驾驶员提供必要的信息。2.车辆车辆GPS导航系统的功能:导航系统的功能:n及时显示汽车在预先制定的电子地图中的位置、及时显示汽车在预先制定的电子地图中的位置、行驶速度以及与目的地间隔;行驶速度以及与目的地间隔;n输入目的地后自动生成一条去目的地的最正确输入目的地后自动生成一条去目的地的最正确行驶道路,并在转弯时用言语提示用户,使其行驶道路,并在转弯时用言语提示用户,使其去任何地方不用问路就可直接到达;去任何地方不用问路就可直接到达;n随时可查询沿途的酒店、商店、加油站、修缮随时可查询沿途的酒店、商店、加油站、修缮厂、车站、码头等处的最新路况信息,为用户厂、车站、码头等处的最新路况信息,为用户提供方便;提供方便;n可在汽车遭遇抢劫后,在指定范围内停顿发动可在汽车遭遇抢劫后,在指定范围内停顿发动机的运转,并把汽车所出的位置报告警察;机的运转,并把汽车所出的位置报告警察;运用途置流程n用户输入目的地。输入方法主要有下面几种。n在系统显示的电子图上直接点击选取地点;n借助外接键盘,以类似PC机的中文输入法将地名输入导航系统;n确定位置。n行驶道路。在用户输入了目的地之后,导航系统根据电子地图上存储的地图信息,就可以自动算出一条最适宜的道路,指示给用户;n行驶中的导航。在必要时辰向驾驶员提示信息。比如,车辆行驶到系统引荐道路中应转弯的路口前,系统应提示驾驶员:“200m后请向左转。3系统总体设计系统总体设计n由于实验平台没有配备GPS模块,本实验经过模拟实现。在LCD上显示模拟电子地图,实验者在触屏上直接点击选取目的地,然后实验者从PC机键盘输入汽车当前位置,经过串口传到ARM,用以模拟GPS模块接纳到的从地面控制中心传来的汽车位置数据。导航系统将传回的数据与电子地图对比,得到汽车的当前位置,然后计算出一条最正确行车道路,并显示在LCD上。4硬件平台选择与剪裁硬件平台选择与剪裁n剪裁后的硬件:nCPU:ARM7TDMI构造芯片S3C44B0X;nBIOS:2M,NOR FLASH;n内存:8M,SDRAM;n海量存储器:16M,NAND FLASH;nUSB接口:D12芯片,USB 1.1规范;n显示:320*240像素、256色LCD,带4线电阻式触摸屏;5操作系统的移植与裁剪操作系统的移植与裁剪n5.1 操作系统的选择n5.2 操作系统的移植n5.3 操作系统的裁剪n文件系统的建立;n必要的外设的驱动程序;n实现基于Unicode的汉字字库;n绘图等适用API;6.最小系统的设计与验证 n6.1 最小系统的设计n6.2 最小系统的验证7运用程序设计 n7.1 程序功能n7.2 界面设计n7.3 程序流程8目的优化目的优化n时间目的n资源占用目的n系统稳定性 9总结总结n在实验课题设计中,实现了哪些部分,运用到了哪些知识,掌握了哪些。n在方案设计与系统调试过程中遇到的问题与处理方案n系统方案中还存在的缺陷n对该课题提出的创新性的见解n在实验中,希望能加强掌握的知识与实验有哪些?车辆照明模拟实验 n背景n智能化的汽车照明系统又称顺应性的照明系统Adaptive Lighting Systems,它包括自顺应前照灯系统AFSAdaptive Frontlighting Systems、改良的的信号照明和车内照明控制三部分。顺应性的前方照明系统AFSn顺应性的前方照明系统AFS是EUREKA的1403号工程,欧洲的汽车公司、车灯公司和光源公司共同承当了这个工程,美国和日本的一些公司也参与了此一工程。AFS具有弯道照明BLBending Light、高速公路照明MLMotorway Light/乡间照明CLCountry Light/城镇照明TLTown Light和恶劣天气照明ALAdverse Weather Light等功能。在城区驾驶时路面情况复杂,因此光形较宽,又由于车速不快,因此照射的间隔不要很远。在高速公路,车速快,因此ML光束照射得远。在弯道处,BL应该给弯道以良好的照明。实验要求:n本次实验主要设计模拟AFS系统的部分功能。经过处置器对车速信息和方向信息的采集来控制车灯的照明方向和强度。同时接纳控制信息,对车灯进展控制。实验模拟条件:n由于实验板上资源有限,对于AFS系统只能作简单的模拟,用8个共阴极LED模拟两个前大灯,点亮不同的LED表示不同的照明焦点。从正中间起对8个LED作对称编号,1号LED用于模拟正常前大灯,2号LED用于模拟高速行驶时的远光灯,3号LED用于模拟转向时的侧光灯,4号LED用于模拟转向时的信号灯。由于没有复杂的传感器,所以对道路情况和天气情况的传感转变为对油门和车速的传感。用AD1模拟方向盘,采样其值用作对3号和4号LED的控制,用AD2模拟油门,当油门超越一定值时以为进入高速行驶路段,点亮远光灯。n利用键盘作为用户输入,模拟车内控制信息。车内空调系统 n背景:n汽车空调系统作为影响汽车温馨性的主要总成之一,为汽车提供制冷、取暖、除霜、空气过滤和温度控制功能。实验要求:n车内智能空调系统将可以采样车内温度,读取用户输入温度,根据两个温度的差别,确定供暖风和还是冷风,并根据所需温差的大小控制风力的大小。同时,可以根据用户的需求,改动供风的风向和形状。实验模拟条件:n鉴于实验开发板上的资源有限,在模拟空调系统时,用直流电机的转动模拟空调紧缩机运转,用步进电机的转动模拟空调风向的变化。用两个AD转换器分别表示车内温度和用户输入温度,用键盘的上下调整风向变化。空调运转形状的信息显示在LCD上。车内音频播放 n背景:nMP3等多种音乐格式的广泛流行。设计一套适宜人们放松精神,缓解疲劳的音频播放系统是非常必要的。播放系统需求可以显示音乐列表、按照驾驶员的控制播放音乐、方便的调理音量和切换歌曲、并且播放系统带有传感器,当出现复杂道路情况,车速变化频繁时自动停顿播放以免干扰司机驾驶。实验要求:n1.可以对.wav文件实现单声道,多声道选择播放n2.可以自动存储播放列表.n3.自在调整播放声音大小n4.当车开动后能自动封锁播放,以免妨碍司机开车n5.自在控制播放与停顿.实验模拟条件:n实验箱曾经可以满足音频播放的硬件要求MCUScreenKeyboardFLASHIIS 总线D/A主控器输出执行检测输入控制框图控制框图物理框图物理框图播放器车速控制和刹车系统车速控制和刹车系统n背景及规划:n速度控制系统,英文为Speed Control System;又称为巡航控制系统Crusle Control System,缩写为CCS.n速度控制系统是一种减轻驾车者疲劳的安装。当汽车在长间隔的高速公路行驶时,启动速度控制系统就可以自动将汽车固定在特定的速度上,免除驾车者长时间脚踏油门踏板之苦。另外,还有节省燃料和减少排放的益处,由于汽车都有对应的经济速度,当驾驶者将速度控制系统调置在经济速度上就可以起到省油的作用.实验模拟条件:n指令开关部分可以经过按键模拟。车速调置开关、制动踏板、恢复开关n车速传感器可以用一个模拟信号,经ad转换模拟。n油门执行模块用直流电机和步进电机模拟。系统设计主要完成ECU控制部分的设计,可以在ucos操作系统下实现。ECU车速传感器指令开关油门执行器系统综合实验n1.背景n完好的汽车电子系统,是一个有机整体,把上述部分进展系统整合,构成汽车车载系统的完益处理方案,将很有实践意义实验要求:n利用CAN总线,把各个模块衔接起来n实现CAN总线的通讯n对于数据通讯协议的规划实验条件:n实验箱已具备CAN总线资料下载:n网上搜集n以往的总结资料n联络方式:n gaoyi_01126n:89538345uC/OS-II移植实验移植实验实验目的n了解uC/OS-II内核的根本原理和主要构造n掌握将uC/OS-II内核移植到ARM处置器上的根本方法n掌握uC/OS-II下根本多义务运用程序的编写实验内容n学习uC/OS-II再ARM处置器上的移植过程n编写简单的多义务运用程序,同时实现跑马灯和数码管显示的功能预备知识n了解嵌入式操作系统的构架以及详细的uC/OSII的组成n了解操作系统的移植方法uC/OS-II概述nuC/OS-II在特定处置器上的移植任务绝大部分集中在多义务切换的实现上,由于这部分代码主要是用来保管和恢复处置器现场,许多操作如读写存放器操作不能用C言语,只能运用特定的处置器的汇编言语来完成。n将uC/OS-II移植到ARM处置器上,需求完成的任务非常简单,大部分的修正任务集中在三个和体系构造相关的文件中,代码量大约是500行。这三个文件是OS_CPU_C.c、OS_CPU_C.H以及OS_CPU_A.S。移植的主要任务n用#define设置一个常量的值(OS_CPU.H)n声明10个数据类型(OS_CPU.H)n用#define声明三个宏(OS_CPU.H)n用C言语编写六个简单的函数(OS_CPU_C.C)n编写四个汇编言语函数(OS_CPU_A.ASM)n根据处置器的不同,一个移植实例能够需求编写或改写50至300行的代码,需求的时间从几个小时到一星期不等。OS_CPU.Hn1.数据类型(与编译器相关)n2.与处置器相关的代码 nOS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()n OS_ENTER_CRITICAL();n/*C/OS-II 临界代码段*/OS_EXIT_CRITICAL();nOS_STK_GROWTH n3.OS_TASK_SW()n它是在C/OS-从低优先级义务切换到最高优先级义务时被调用的。OS_CPU.H的移植q数据类型定义qtypedef unsigned char BOOLEAN;qtypedef unsigned char INT8U;/*Unsigned 8 bit quantity */qtypedef signed char INT8S;/*Signed 8 bit quantity */qtypedef unsigned int INT16U;/*Unsigned 16 bit quantity */qtypedef signed int INT16S;/*Signed 16 bit quantity */qtypedef unsigned long INT32U;/*Unsigned 32 bit quantity */qtypedef signed long INT32S;/*Signed 32 bit quantity */qtypedef float FP32;/*Single precision floating point */qtypedef double FP64;/*Double precision floating point */q/*Define data types for backward compatibility.*/q#define BYTE INT8S q/*.to uC/OS V1.xx.Not actually needed for.*/q#define UBYTE INT8U q/*.uC/OS-II.*/q#define WORD INT16S q#define UWORD INT16Uq#define LONG INT32Sq#define ULONG INT32Uq堆栈单位定义qtypedef unsigned int OS_STK;/*Each stack entry is 16-bit wide */OS_CPU.H的移植nARM处置器相关宏定义n#define OS_ENTER_CRITICAL()ARMDisableInt()n#define OS_EXIT_CRITICAL()ARMEnableInt()n堆栈增长方向n 堆栈由高地址向低地址增长,这个也是和编译器有关的,当进展函数调用时,入口参数和前往地址普通都会保管在当前义务的堆栈中,编译器的编译选项和由此生成的堆栈指令就会决议堆栈的增长方向。n#define OS_STK_GROWTH OS_CPU_C.CnOSTaskStkInit()nOSTaskCreateHook()nOSTaskDelHook()nOSTaskSwHook()nOSTaskStatHook()nOSTimeTickHook()n独一必要的函数是OSTaskStkInit(),其它五个函数必需得声明但没必要包含代码。OS_CPU.c的移植q 义务堆栈初始化q 该函数由OSTaskCreate()或OSTaskCreateExt()调用,用来初始化义务的堆栈并前往新的堆栈指针stk。q 初始形状的堆栈模拟发生一次中断后的堆栈构造。在ARM体系构造下,义务堆栈空间由高至低依次将保管着pc、lr、r12、r11、r10、r1、r0、CPSR、SPSR,以下图阐明了OSTaskStkInit()初始化后的也是新创建义务的堆栈内容。q 堆栈初始化任务终了后,OSTaskStkInit()前往新的堆栈栈顶指针,OSTaskCreate()或 OSTaskCreateExt()将指针保管在义务的OS_TCB中。OS_CPU.c的移植n系统HOOK函数:在这个文件里面还需求实现几个操作系统规定的hook函数,这些函数为用户定义函数,它将在相应的操作系统调用后执行由用户定义的这些hook函数,执行特定的用户操作,假设没有特殊需求,那么只需求简单地将它们都实现为空函数就可以。这些函数包括:nOSSTaskCreateHook()nOSTaskDelHook()nOSTaskSwHook()nOSTaskStatHook()nOSTimeTickHook()OS_CPU.c的移植n中断级义务切换函数n该函数由OSIntExit()和OSExIntExit()调用。它是在时钟中断效力例程中发现有高优先级义务等待的时钟信号到来,那么需求在中断退出后并不前往被中断义务,而是直接调度就绪的高优先级义务执行。这样做的目的主要是可以尽快地让高优先级的义务得到呼应,保证系统的实时性能。n该函数经过设置一个全局变量need_to_swap_context标志以表示在中断效力程序中进展义务切换,并在OSTickISR()中判别该变量以进展正确的动作。n其函数如下:nvoid OSIntCtxSw(void)nnneed_to_swap_context=1;nOS_CPU_A.ASMnC/OS-的移植实例要求用户编写四个简单的汇编言语函数:nOSStartHighRdy()nOSCtxSw()nOSIntCtxSw()nOSTickISR()OSStart()调用本函数;OSStart()担任使就绪形状的义务开场运转;OSStartHighRdy()担任获取新义务的堆栈指针并从堆栈指针中恢复新义务的一切处置器存放器。OSStart()调用本函数;OSStart()担任使就绪形状的义务开场运转;OSStartHighRdy()担任获取新义务的堆栈指针并从堆栈指针中恢复新义务的一切处置器存放器。OSIntExit()调用本函数;OSIntExit由OSTickISR调用,担任在定时中断中义务之间的切换;OSIntCtxSw()主要保管当前义务堆栈指针,并将新义务对应的处置器存放器从堆栈中恢复出来。定时中断函数;OSTickISR()主要担任在进入时保管处置器存放器,完成义务的切换,退出时恢复存放器并前往。OSStartHighRdy()n运转优先级最高的就绪义务nvoid OSStartHighRdy(void)n n Call user definable OSTaskSwHook();Get the stack pointer of the task to resume:Stack pointer=OSTCBHighRdy-OSTCBStkPtr;/设置新的当前义务的地址 n OSRunning=TRUE;nRestore all processor registers from the new tasks stack;nExecute a return from interrupt instruction;nOSCtxSw()n义务级的义务切换函数nvoid OSCtxSw(void)n n保管处置器存放器;n将当前义务的堆栈指针保管到当前义务的OS_TCB中:OSTCBCur-OSTCBStkPtr=Stack pointer;n调用用户定义的OSTaskSwHook();nOSTCBCur =OSTCBHighRdy;nOSPrioCur=OSPrioHighRdy;n得到需求恢复的义务的堆栈指针:nStack pointer=OSTCBHighRdy-OSTCBStkPtr;n 将一切处置器存放器重新义务的堆栈中恢复出来;n执行中断前往指令;nOSIntCtxSw()n中断级的义务切换函数nvoid OSIntCtxSw(void)n n调整堆栈指针去掉在调用OSIntExit(),OSIntCtxSw()过程中压入堆栈的多余内容;n将当前义务堆栈指针保管到当前义务的OS_TCB中:OSTCBCur-OSTCBStkPtr=堆栈指针;n调用用户定义的OSTaskSwHook();n OSTCBCur =OSTCBHighRdy;nOSPrioCur=OSPrioHighRdy;n 得到需求恢复的义务的堆栈指针:堆栈指针=OSTCBHighRdy-OSTCBStkPtr;n将一切处置器存放器重新义务的堆栈中恢复出来;n执行中断前往指令;nOSTickISR()n时钟节拍ISRnvoid OSTickISR(void)n n保管处置器存放器;n调用OSIntEnter()或者直接将 OSIntNesting加1;n调用OSTimeTick();n调用OSIntExit();n恢复处置器存放器;n执行中断前往指令;n多义务运用程序的编写nC言语入口函数Mainn调用函数ARMTargetInit初始化ARM处置器n调用OSInit进展操作系统初始化n调用OSTaskCreate函数两个义务:TaskLED和TaskSEGn调用ARMTargetStart函数启动时钟节拍中断n调用OSStart启动系统义务调度n义务处置函数nvoid Main(void)nnARMTargetInit();/硬件初始化硬件初始化nOSInit();/uC/OS初始化初始化nOSTimeSet(0);/系统时间设置系统时间设置n /创建主义务创建主义务nOSTaskCreate(TaskStart,(void*)0,&StackMainSTACKSIZE-1,0);nOSStart();/启动操作系统启动操作系统n
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!