三级最后一波

举报
ReCclay 发表于 2022/02/22 01:59:19 2022/02/22
【摘要】 2018年3月24日10:32:08。。。13点考试。。。莫慌,稳住。。。 任务调度 任务级的调度是由函数OSSched()完成的。OSSched()函数是任务调度的前导函数。中断级的调度是调用O...

2018年3月24日10:32:08。。。13点考试。。。莫慌,稳住。。。


任务调度

  • 任务级的调度是由函数OSSched()完成的。OSSched()函数是任务调度的前导函数。
  • 中断级的调度是调用OSInitExit()完成的
  • 判断进行任务调度的三个条件是否满足
    (1)中断嵌套层数共享全程变量OSIntNesting=0,也就是所有的ISR已经执行完毕。(注意中断服务子程序代码完成会将OSIntNesting置1)
    (2)任务调度加锁层数共享全程变量OSLockNesting=0,也就是调度没有被禁止
    (3)就绪表查找到的最高优先级任务的优先级比当前任务的优先级高。当发生任务级的任务调度时,内核进行任务级的任务切换,保存当前任务的上下文,并恢复新任务的上下文。

调用OSTimeDly()函数会使μC/OS-II进行一次任务调度
OSTimeDly()能使系统从运行态转入等待态
OSSemPost()使等待态任务转入就绪态
OSSemPend()能使系统从运行态转入等待态。

用户必须在多任务系统启动以后再激活时钟节拍信号发生器

在调用OSStart()之后做的第一件事是初始化定时器中断

使用JTAG进行嵌入式系统的调试,无需目标存储器,也不占用目标机任何I/O端口

低端嵌入式硬件大多采用【4/8】位单片机。

目前网站上应用最多的音频编码格式是MP3
应用最多的视频编码格式是AVI

以太网采用的通信协议802.11

连接在以太网中的每台计算机必须至少有一个全球唯一的MAC地址。

ARM7、【RAM9】和ARM11属于经典ARM处理器,ARM Cortex-M0/Cortex-M1/Cortex-M3/Cortex-M4等Cortex-M系列归属于【RAM Cortex嵌入式处理器】

NVIC - 嵌套向量中断控制器
VIC - 向量中断控制器
WIC - 唤醒向量中断控制器

HI - 无符号数大于
CC - 无符号数小于
CS - 无符号数大于等于
LS - 无符号数小于等于

两个无符号数在寄存器R0和R1中,如果R0>=R1,则将R0与R1进行带借位减法操作,结果放入R2中,并要求更新CPSR状态寄存器的状态位:CMP R0, R1SBCCSS R2, R0, R1

在ARM指令中,如果两个无符号数在寄存器R1和R2中,R1>R2,则将R1减去R2,结果放R3中,用两条指令完成,则分别为【CMP R1,R2】【SUBHI R3,R1,R2】

在ARM的指令中,如果R5与R6不相等,则将R5与R6进行逻辑异或操作,结果放R0中,并要求更新程序寄存器的状态位,用两条指令完成,则分别为【CMP R5,R6】【EORNES R0,R5,R6】

引用一个在其它文件中的标号Lable1的伪指令为【IMPORT Lable1】, 声明一个全局标号Lable2以便其它文件引用,该伪指令为【EXTERN Lable2】

CAN总线的数据帧由7个不同的域组成,按照传输顺序,它们是:帧起始、仲裁域、控制域、数据域、校验域、应答域、帧结尾。

S3C2410芯片的nGCS×连接到其CS引脚(低电平有效),那么读写AX88796芯片内部寄存器的首地址有:
nGCS2是【0x10000000】
nGCS3是【0x18000000】
nGCS5是【0x28000000】。

U-Boot是一种广泛使用的引导程序,支持多种体系结构的处理器。

需要在页面程序代码中,嵌入【CGI】接口程序代码,完成与设备操控组件的信息交互。

【99】启动引导;目标系统需先运行启动引导程序。【100】浏览器;客户机一般用浏览器访问因特网。

量化就是把每个样本的模拟值转换成数字量来表示;
量化后的样本一般用8位、12位或16位二进制整数表示

RGB的像素深度是24

ADSL即不对称数字用户线,利用普通电话线作为传输介质将计算机接入互联网;借助有线电视网接入互联网时,主机端仍采用传统的以太局域网技术与电缆调制调解器(Cable Modem)连接,后者通过同轴电缆接入HFC;

光纤接入网指的是使用光纤作为主要传输介质的互联网接入系统,包括使用光纤或者光纤+双绞线作为传输介质;

无线局域网通常与有线局域网连接并通过路由器接入互联网。

ARM中多数为哈佛结构,ARM7采用冯诺依曼结构

S3C2410片内的USB**主控制器与芯片内部的AHB总线相连,USB设备接口与芯片内部的**APB总线相连。

HAL它是嵌入式硬件电路板的最基本软件

嵌入式系统加电后执行的第一批最初操作称为引导或者自举,对应的程序称为引导程序或者引导加载程序(Bootloader),主要完成内存加电自检、外设存在自检、初始化外围设备、加载和启动操作系统

只有任务可以等待另一个任务或中断服务子程序通过事件控制块ECB给它发送信号,而中断服务子程序是不能等待事件控制块ECB给它发送信号的

ARMv7A处理器的典型代表是Cortex-A系列,ARM11采用的是ARM11采用的是ARMV6的体系结构
Thumb-2状态是ARMV7版本的ARM处理器所具有的新状态,如Cortex,ARM9不具有Thumb-2的状态!

ARM的七种工作状态取决于CPSR寄存器的低5位的值

影响CPU性能的主要因素有:主频、指令系统、高速缓冲器的容量和结构,逻辑结构

CPSR寄存器可读当然也可写!!!

TST是位测试指令,将寄存器的值与立即数按位与。

新型存储器FRAM和MRAM是非易失性存储器

微硬盘内部的存储器主体是NAND Flash

各个USB版本均采用全双工通信能力是错误的!!!USB1.0和2.0有4根信号线,采用半双工差分方式。
各个版本的USB均采用差分方式传输数据!

CAN发送的字节必须可以是0~8字节!!!

U-BOOT是支持多种嵌入式CPU的BootLoader

Linux内核主要作用是:进程管理和调度,内存管理、文件管理,网络接口和进程间通信

Linux使用宏内核结构。

驱动程序可以被直接编译到Linux内核中并在内核启动时加载到内存,亦可以模块形式存储在文件系统中并在需要时被动态加载和卸载。

中断服务子程序代码完成的操作不包括将中断的任务挂起

RAM9TDMI - S中T的含义是16位Thumb指令,D表示支持片上调试。

26位地址线和8位数据线,存储容量是512Mb,即64MB。
20位地址线和16位数据线,存储容量16Mb,即2MB

ARM7 采用3级流水线,Cortex-A15采用13级流水线。

MMU - 可完成虚拟存储器技术

程序状态寄存器的值保存到寄存器R0 是,,,MRS R0, CPSR
R1的值放到程序状态寄存器是:MSR CPSR, R1

解决优先级反转:互斥信号量
适合处理多事件同步:事件标志组

执行不可分割的代码成为临界区
锁定任务调度器:OSSchedLock

软件系统的四大重要部分:客户端浏览器,WEB服务器,WEB页面,设备操控程序。
CGI接口用来和设备操控程序进行信息交互。


2018年3月24日13:50:02,考完了。感觉抽的题简单了。。哈哈哈哈。。。。

文章来源: recclay.blog.csdn.net,作者:ReCclay,版权归原作者所有,如需转载,请联系作者。

原文链接:recclay.blog.csdn.net/article/details/79675477

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。