当前位置: 首页 > news >正文

做电影网站要买什么形容网站做的好处

做电影网站要买什么,形容网站做的好处,关于建设学校网站的报告,如何做家教网站赚钱对于FreeROTS#xff0c;我第一反应想到的就是通信里的TDM#xff08;时分多址#xff09;。不同任务给予分配不同的时间间隔#xff0c;也就是任务之间在每个timeslot都在来回切换。 这里有重要的一点#xff0c;就是中断要短小#xff0c;优先级是自高到底进行打断。 …对于FreeROTS我第一反应想到的就是通信里的TDM时分多址。不同任务给予分配不同的时间间隔也就是任务之间在每个timeslot都在来回切换。 这里有重要的一点就是中断要短小优先级是自高到底进行打断。 每个任务都是独立且无限循环 while(1){task1();} while(1){task2();} 每个任务都有自己的堆栈空间保存寄存器值 1:调度方法 抢占式调度优先级高大于低高优先级任务不停止低优先级就不进行。被抢占的任务会进行就绪状态。1-2-3-2-31最低被2抢占2被3抢占阻塞2已经就绪回到2执行3就绪执行3 时间片调度优先级相同任务顺序轮回调度。task1-task2-task1-task2遇到阻塞任务直接跳到下一个任务运行 携程式调度当前任务一直执行 2任务状态 就绪条件准备好了还没执行 阻塞因为延时等外部信号量进入阻塞 运行同一时刻只有1个任务运行 挂起暂停 在任务创建方面我感受最深的就是以前数据结构学的动态双向循环链表派上了用场虽然学的时间有些长忘记了很多但是没事看看源码或者脑图也能会议许多。本质上这些任务的是切换叫上下文切换任务的创建在内存中。就像任务创建是分配的堆栈空间内存。由人工进行内存管理分配叫做静态创建由freertos自己分配内存就叫做动态创建。 任务创建结束后迎来了任务切换涉及到根据优先级来决定任务出场顺序的抢占式和同优先级时分复用的时间片调度。这些任务创建切换跟内存有什么关系呢 任务由人为创建内存由操作系统自动申请。任务在执行时由内存中读出并出栈到cpu寄存器中符合一个先进后出的顺序或者叫单片机寄存器中加载现场。如果遇到了任务调度导致的任务切换或者中断之类的会将cpu寄存器中保存的内容入栈到相应的任务内存中保存现场。所有的任务都会有一个结构体任务控制块。当然所有任务也会属于任务链表的某一个比如就绪表、阻塞表、挂起表、运行表其中只有就绪列表中的任务会根据优先级来进行执行。阻塞就如其名字任务突然不运行了停住了不向下执行了就阻塞住了。一般会等待某个状态、信号量、延时之类的。我们平时将延时分为死延时和操作系统给出的延时函数死延时相当于一个任务语句不会涉及到任务阻塞。什么时候会阻塞比如你执行一个函数函数需要获取一个信号量但是该信号量未被释放别人拿走了你一定要拿到它就一直等然后你就阻塞了。由于任务调度你会把位置让出来给次优先级就绪任务运行。 在ARM Cortex-M微控制器架构中MSPMain Stack Pointer和PSPProcess Stack Pointer是两种特殊的寄存器它们用于管理不同的堆栈 1. **MSPMain Stack Pointer**    - MSP是主堆栈指针用于中断服务例程ISRs和系统初始化时的堆栈操作。    - 当发生中断时如果优先级更高的中断发生当前中断服务例程的上下文包括程序计数器PC、链接寄存器LR、以及一些通用寄存器将被保存到MSP指向的堆栈中。    - MSP通常在系统启动时由启动代码设置并指向一个预定的内存区域。 2. **PSPProcess Stack Pointer**    - PSP是进程堆栈指针用于用户代码和任务切换。    - 在多任务操作系统如FreeRTOS中PSP用于保存任务的上下文当任务被挂起或切换时其上下文将被保存到PSP指向的堆栈中。    - PSP可以在任务创建时被设置并且每个任务可以有自己的PSP从而拥有独立的堆栈空间。 MSP和PSP的主要区别在于它们的用途和上下文保存机制 - **用途**MSP主要用于中断处理而PSP用于任务切换。 - **上下文保存**MSP保存中断服务例程的上下文PSP保存任务的上下文。 - **独立性**MSP通常是全局的而PSP可以是任务特定的。 在FreeRTOS中当创建一个新任务时会为该任务分配一个堆栈并设置其PSP。当任务被切换出去时它的寄存器和堆栈指针状态将被保存在PSP指向的堆栈中。当任务再次被调度执行时FreeRTOS会从PSP指向的堆栈中恢复任务的状态。 在中断编程中MSP用于快速保存和恢复当前中断的上下文以便中断可以快速响应并返回到被中断的任务或另一个中断服务例程。 正确管理MSP和PSP对于确保程序的稳定性和实时性至关重要特别是在中断密集型或多任务环境中。 任务控制块就是一个大的结构体包含了很多东西。挂起一般我目前认为就是人为暂停了不像阻塞可以自动移除阻塞态进入就绪态挂起如果不进行解挂就会一直处于挂起态。 FreeRTOS能够管理 的中断等级经配置中断优先级分组为 抢占4子优先级0后分为0~15个级别其只能控制5~15这些越小中断优先级越高。0~4不受控制。任务优先级可以0~31越大优先级越高。 现在已经用到了两个数据结构栈和链表。 在队列中队列分为两个结构一个是队列结构体成员另一个就是队列项了。当然一个队列也是个大结构体队列一般是作为先进先出FIFO的代表。也可以设置为后进先出队列空的时候读不到东西要入队。队列满的时候读尾部成员会使其出队成员数减1.队列可以进行址传递。当然基于队列开发的信号量分为二值信号量、互斥信号量、计数信号量 二值信号量顾名思义就是只有01两种形式0代表有余1代表信号量被占用了。信号量动态创建的时候是没有释放的要人为释放才能获取。由于二值信号量这个特点会造成高优先级任务被阻塞掉低优先级任务会多执行会对实时操作系统的优先级造成影响。为了解决这个问题得到互斥信号量与二值信号量的区别就是低优先级任务会被提升至与高优先级任务同等优先级这样就可以解决优先级翻转问题。计数信号量就是在二值的基础上可以人为定义信号量大小。 事件标志组在裸机里经常会定义一个flag全局变量用来在按键或者其他位置进行事件判断。而freertos自带一个不需要我们再去定义。 任务通知固定在任务结构体内。除了队列信号量事件标志组不需要中介进行任务之间通信属于直接通信。局限性无法发送信息给ISRISR可以发送给任务通知无法转播给多个任务 不支持阻塞只能保持一个数据 任务通知可以模拟 信号量事件标志组 也可以模拟消息 可以把传递的消息保存给一个值类似于队列的功能 软件定时器任务调度器在创建的时候会有软件定时器任务和空闲任务。软件定时器任务会有一个超时回调函数其中不能使用可能会导致系统阻塞的函数比如延时函数。 跟中断的用法差不多用了发送队列就是运行态不用就休眠。超时就回调处理所有定时器都在定时器任务中处理。单次执行一次周期的就一直周期执行。整个过程其实开启超时回调休眠周期的就是开启 超时回调超时回调不主动停止就不会休眠。 低功耗模式本质经过cortex内核__WFI指令进入睡眠模式。空闲任务进入低功耗其他任务时退出低功耗。如果有更高的功耗需求可以在睡眠之前关闭外设时钟睡眠结束后打开外设时钟。 内存管理与栈Stack不同堆内存的分配和释放是由程序员控制的 根据划分的堆的大小heap 还有5个不同的内存分配函数heap1是只能分配不能释放heap2是在1的基础上能释放并且能够自适应的获取内存大小。释放的内存不能与相邻内存合并。假如申请一个30的你的一个块是35会切掉5个给后面的内存块。而且内存碎片不能合并。heap3是C、库的内存方案线程安全没有考虑到heap4在3的基础上可以合并内存碎片heap5在4的基础上可以管理多个非连续区域
http://www.dnsts.com.cn/news/244749.html

相关文章:

  • 怎么设计网络营销方案网站怎样做有利于seo
  • 郑州网站设计收费网站用户细分
  • 中国建设银行互联网网站物流百度推广怎么做网站
  • 全网营销网站建设特点iosapp开发用什么语言
  • 百度网站推广一年多少钱公司网站建设外包
  • 公关公司职级wordpress菜单优化插件
  • 地图销售网站17网站一起做网店登录
  • 哪些设计网站可以赚钱中国建设银行投标再什么网站上
  • 百度不收录什么网站吗wordpress不能编辑
  • 一个网站可以绑定几个域名网站栏目策划方案
  • 学做热干面网站深圳开发小程序
  • 石家庄专业网站营销用php写的网站有哪些
  • 响应式网站设计欣赏请人代做谷歌外贸网站
  • 刷粉网站推广免费dw8做网站步骤图
  • 山东国舜建设集团网站维护网站英语
  • wordpress js代码编辑器插件网站seo监测
  • pedl中文模组网站商城模板网站模板
  • 中联汇科 网站建设建站平台
  • 移动端网站交互效果最好的网络营销有哪些推广方式
  • 天津市建设工程监理公司网站网页开发书籍
  • 上海大型网站制作公dede网站优化
  • 如何查询网站的空间商中国网站访问量排行
  • gta5线下办公室网站正在建设工商注册公司的流程
  • 沈阳快速建站公司有哪些网站类网站怎么做
  • 用腾讯云做网站的好处太原做网站效果怎么样
  • 环评登记表在哪个网站做比价网站
  • 企业运营网站建设wordpress运行php文件
  • 曾舜晞网站是哪个公司做的网站建设毕业答辩ppt
  • 合肥做网站的网络公司wordpress 小视频插件
  • 网站定制开发内容微信推广加人