ucosii操作系统基础知识

本文详细介绍了系统软件与应用软件的区别,解释了操作系统、单片机、嵌入式系统及其实时操作系统的基本概念。此外,还探讨了MCU与SOC的不同之处,以及嵌入式操作系统和单片机内核的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.什么是系统软件?

系统软件是应用软件的基础,所有应用软件都要在系统软件上运行 Windows系列:windows98 windows2000 windows xp... 
Dos Linux Unix 等 
应用软件:能够实现某种特定任务的软件,例如: office系列 金山WPS 杀毒软件 工具软件等 

支持系统运行的软件叫:系统软件。 
完成特定任务的软件叫:应用软件。

各种应用软件,虽然完成的工作各不相同,但它们都需要一些共同的基础操作,例如都要从输入设备取得数据,向输出设备送出数据,向外存写数据,从外存读数据,对数据的常规管理,等等。这些基础工作也要由一系列指令来完成。人们把这些指令集中组织在一起,形成专门的软件,用来支持应用软件的运行,这种软件称为系统软件。 
系统软件在为应用软件提供上述基本功能的同时,也进行着对硬件的管理,使在一台计算机上同时或先后运行的不同应用软件有条不紊地合用硬件设备。例如,两个应用软件都要向硬盘存入和修改数据,如果没有一个协调管理机构来为它们划定区域的话,必然形成互相破坏对方数据的局面。 
有代表性的系统软件有: 
1、操作系统 
管理计算机的硬件设备,使应用软件能方便、高效地使用这些设备。在微机上常见的有:DOS、WINDOWS、UNIX、OS/2等 
2、数据库管理系统 
有组织地、动态地存贮大量数据,使人们能方便、高效地使用这些数据。现在比较流行的数据库有FoxPro、DB-2、Access、SQL-server等 
3、编译软件 
CPU执行每一条指令都只完成一项十分简单的操作,一个系统软件或应用软件,要由成千上万甚至上亿条指令组合而成。直接用基本指令来编写软件,是一件极其繁重而艰难的工作。为了提高效率,人们规定一套新的指令,称为高级语言,其中每一条指令完成一项操作,这种操作相对于软件总的功能而言是简单而基本的,而相对于CPU的一眇操作而言又是复杂的。 
用这种高级语言来编写程序(称为源程序)就象用预制板代替砖块来造房子,效率要高得多。但CPU并不能直接执行这些新的指令,需要编写一个软件,专门用来将源程序中的每条指令翻译成一系列CPU能接受的基本指令(也称机器语言)使源程序转化成能在计算机上运行的程序。完成这种翻译的软件称为高级语言编译软件,通常把它们归入系统软件

目前常用的高级语言有VB,C++,JAVA,它们各有特点,分别使用于编写某一类型的程序,它们都有各自的编译软件。

2 什么是操作系统?

操作系统是一种系统软件。他在计算机硬件与计算机应用程序之间,通过提供应用程序接口,屏蔽了计算机硬件工作的一些细节,从而使应用程序设计人员得以在一个友好的平台上进行应有程序的设计和开发,大大提高了应用程序的开发效率。

只有硬件构成的计算机叫做“裸机”。即没有程序。

硬件:人的骨骼和肌肉。

软件:人的思想。

所以没有软件的开发不能叫做一个系统。

操作系统的作用:操作系统通常是最靠近硬件层的软件层,主要完成计算机硬件资源的调度和分配,信息的存储和保护,并发活动的协调和控制等许多工作。

1.处理器的管理:对处理器进行调度,对中断的管理

2.存储的管理:如何分配和使用资源

3设备的管理:主要是外部设备,以便完成用户提供的I/O请求,加快输入/输出的速度,提高I/O的利用率。同时还要提供外部设备的驱动程序。

4.文件的管理:这就属于上层了,程序和数据往往存储在外存(硬盘。光盘等)并且他们的文件了极其巨大,所以必须要有良好的管理方式,

5:网络和通信的管理:现在电脑都上网了,不用考虑了,这个必须要有了、

6:提供用户接口。计算机操作系统提供了这些功能之外,还要向用户提供这些功能的接口!以便用户更好的使用操作系统的功能,这个样子就可以有效的组织作业及其工作,并使系统高效的运行。

那么什么是嵌入式操作系统和嵌入式系统那?

人们把嵌入到对象体系张,为实现对象体系智能化的计算机系统,叫做嵌入式系统,,,,,,特点:嵌入性,专用性,计算机系统,方向:嵌入性能,控制能力,控制的可靠性。

嵌入式实时操作系统(RTOS):提供的功能:内存管理(动态内存的管理,当应用程序的某一部分需要使用内存时,可利用操作系统所提供的内存分配函数来获得足够的内存空间,),多任务管理(任务调度机制,控制任务的启动,运行,暂停,结束等状态),外围资源管理(除了系统本身的微处理器,内存之外还必须有多种外围设备的支持,如键盘,显示装置,通信端口,外接的控制器。)

什么是内存那?

集成在单片机芯片内的存储器,包括片内的ROM和片外的RAM。
首先我们 片内RAM就是在单片机内部的RAM,RAM是随机储存器,运行时所产生的数据,关机或复位后就没有了,而片外ROM你就把他当做你手机的储存卡吧,不是单片机内部的,而ROM是程序储存器,就像我说的,他是你手机的储存卡,你下载了什么资料进去,关机了,那些资料还在。

片内ROM为固定只读存储器,存放经过调试正确的应用程序和表格等固定常数。
flash写入的内容不会因电源关闭而失去,读取速度慢,成本较低,一般用作程序存储器或者低速数据读取的情况。
sram有最快的读写速度,但电源掉落后其内容也会失去,价格昂贵,一般用作cpu的二级缓存,内存条也不用这个,适合高速数据读取的场合。
两者的关系为flash为ROM,sram为RAM。
1. 类似51,AVR这类的单片机,程序只能在ROM或FLASH里运行。STC的芯片一般是标准51或增强51,用的是FLASH,程序只能在FLASH中运行。
2. ARM的程序即可以在FLASH里运行也可以在RAM里运行,不过能运行程序的FLASH只能使NorFlash,因为NANDFLASH的接口决定了其无法挂载在地址空间内。
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
 NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。
NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
3. 也就是说只要能挂载到ARM的程序地址空间的设备都可以直接放运行程序。否则其他存储设备只能存储程序或数据。如一般带LINUX或Wince的ARM板,一般会把主系统程序放在NorFlash或NANDFLASH中,上电后用Loader程序把主系统程序加载到RAM或SDRAM的可执行地址去,然后跳到主程序去执行。。。

3.MCU和SOC的区别?

单片机 是 一种带有处理功能的集成电路集成电路的 内核 就是 把引脚 封装的外壳去掉 后的硅晶片,经过特种工艺 加工 各种电路芯片,单片机就是 一种,常见的 51 系列的单片机,
我们称为 51 内核。
什么是单片机那?
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU  随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统
发展历程。
MCU微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。
SoC嵌入式系统(System on Chip)式的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决,因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
SOC,是个整体的设计方法概念,它指的是一种芯片设计方法,集成了各种功能模块,每一种功能都是由硬件描述语言设计程序,然后在SOC内由电路实现的;每一个模块不是一个已经设计成熟的ASIC“器件”,只是利用芯片的一部分资源去实现某种传统的功能。这种功能是没有限定的,可以是存储器,当然也可以是处理器,如果这片SOC的系统目标就是处理器,那么做成的SOC就是一个MCU;如果要做的是一个完整的带有处理器的系统,那么MCU就是整个SOC中的一个模块,一个IP。SOC可以做成批量生产的通用器件,如MCU;也可以针对某一对象专门设计,可以集成任何功能,不像MCU那样有自身架构的限定。它的体积可以很少,特殊设计的芯片可以根据需要减少体积、降低功耗,在比较大的范围内不受硬件架构的限制(当然,它也是会受芯片自身物理结构的限制,如晶圆类型、大小等)。 
SOC的一大特点就是其在仿真时可以连同硬件环境一起仿真,仿真工具不只支持对软件程序的编译调试,同时也支持对硬件架构的编译调试,如果不满意硬件架构设计,想要加一个存储器,或是减少一个接口都可以通过程序直接更改,这一点,MCU的设计方法是无法实现的,MCU的方法中,硬件架构是固定的,是不可更改的,多了只能浪费,少了也只能在软件上想办法或是再加,存储空间不够可以再加,如果是接口不够则只能在软件上想办法复用。仿真之后可以通过将软、硬件程序下载到FPGA上进行实际硬件调试,以便更真实地进行器件测试。 
如果硬件调试成功后直接投片生产成“固定结构的芯片”,则其为普通的SOC;如果其硬件就是基于FPGA的,也就是说它是“用FPGA做为最终实现” 的,它在以后也可以随时进行硬件升级与调试的,我们就叫它为SOPC的设计方法,所以说SOPC是SOC的一种解决方案。 
FPGA只是一种仿真,我们FPGA最基本的东西也就是门阵列,这些东西,我们可以通过来模拟他,现在还是不太明白,一定得学习学习FPGA。
SOPC设计灵活、高效,且具有成品的硬件可重构特性(SOC在调试过程中也可硬件重构),它的适用性可以很广,针对不同的对象,它可以进行实时的结构调整,如减少程序存储空间、增加接口数目等,这一附加价值是任何固定结构IC所无法具备的,但它的价格可能会比批量生产的固定结构IC要贵得多! 
4.什么是嵌入式操作系统的内核?什么是单片机的内核?

单片机内核:如8051的内核,这些东西都有的,即常有的呗。。

嵌入式操作系统内核:看书吧EDA技术 (潘松)。






关于UCOSII实时操作系统 第一讲 初识uCOSII 4 1、uCOSII单任务实验: 4 2、uCOSII多任务实验: 6 3、任务状态之间的转换: 9 4、空闲任务和统计任务简介: 9 5、任务的三要件: 9 程序代码、私有堆栈、任务控制块 9 6、任务控制块TCB(P80) 9 7、创建任务 9 8、任务的栈空间 10 9、栈的增长方向: 10 第二讲 调度运行机制 11 1、任务挂起和恢复 11 2、任务挂起、恢复的状态转换 13 3、时钟节拍ISR 15 4、时钟节拍函数OSTimtick() 16 5、延时系统调用 16 第三讲 任务管理uCOSII 17 1、任务删除 17 2、任务请求删除实验 19 3、在源码中增加打印信息一般步骤 24 4、OSTaskDelReq()函数理解流程图 25 第四讲 互斥性信号量管理 26 1、优先级反转 26 2、信号量SEM使用 26 3、互斥信号量Mutux使用 29 4、关于信号量程序分析 32 5、关于互斥信号量分析 32 6、OSMutexPend()函数流程图 33 7、OSMutexPost()函数流程图 33 第五讲 消息邮箱 34 1、基本概念 34 2、对于OSMboxPend()理解 34 3、对于OSMboxPost()理解 34 4、消息邮箱管理一般程序 35 5、使用OSMboxQuery() 38 6、OSMboxPend()函数Timeout等待超时程序 38 7、OSMboxPost()函数邮箱状态为FUll程序 40 8、关于OSTimeTickHook(void)使用 41 第六讲 信号量集 43 1、信号量集案例 43 2、OSFlagPend()源码 46 3、OSFlagPost()源码 51 第七讲 动态内存 54 1、内存管理基本概念 54 2、内存管理基本概念 54 3、内存管理案例 54 4、案例分析 69 5、教学案例: 71
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值