abc9981

  • 2020-09-17
  • 回复了主题帖: 颁奖:ADI & 世健 新基建系列第一期——工业以太网 答题赢好礼!

    确认奖品还能自己选的啊  

  • 2020-09-15
  • 加入了学习《基于 C2000 的数字车载电源控制系统》,观看 TI C2000 在电动车辆上的数字电源应用 - 常见电源拓扑介绍

  • 加入了学习《基于 C2000 的数字车载电源控制系统》,观看 TI C2000 在电动车辆上的数字电源应用 - 介绍

  • 加入了学习《TI Jacinto 系列产品在 ADAS 中的应用》,观看 TI Jacinto 系列产品在 ADAS 中的应用-2

  • 加入了学习《TI Jacinto 系列产品在 ADAS 中的应用》,观看 TI Jacinto 系列产品在 ADAS 中的应用-1

  • 加入了学习《回放 : TI mmWave 毫米波雷达在汽车车内的应用》,观看 TI 毫米波雷达传感器在车内应用的情况简介

  • 2020-09-14
  • 回复了主题帖: 颁奖:跟着cruelfox,打卡学习FreeRTOS的获奖者们、他们的学习分享

    已更新信息,通过本次学习也算是入门了FreeRTOS,浅尝FreeRTOS,后续有时间还是要深入了解

  • 2020-09-09
  • 回复了主题帖: 中秋快乐!芯币兑换月饼开始啦!

    225能换啥?

  • 2020-09-06
  • 回复了主题帖: FreeRTOS打卡学习终点站:大作业来啦,挑战时间7天(关门时间9月6日)

    http://969.ib939.com/thread-1139972-1-1.html 第二题,设计考虑,后期有时间在验证补充

  • 发表了主题帖: 挑战FreeRTOS学习+stm32 实现shell 任务

        这个是学习FreeRTOS最后一个任务     第二题,在FreeRTOS下实现一个shell任务, 它的主要功能是从片外存储如Flash、SD卡中读取程序二进制文件,新建任务并运行。请详细描述如何实现这个shell创建任务的细节,以及如何生成被载入的二进制程序文件。       准备工作       硬件环境     FreeRTOS内核文件     Flash或SD卡驱动程序          设计考虑     任务划分,任务一,识别串口数据,任务二,片外存储处理,任务三,新建任务     内部存储区域划分,这个主要是为了确定外部代码该放在那个内部存储区域,这个划分很关键,如果没有严格的划分,可能会导致程序跑飞       任务一,具体是识别串口数据,识别具体指令,及动作执行;在执行动作前会去识别任务是否运行     任务二,主要处理将外部存储bin数据读取到,内部存储空间     任务三,这个就是这个题目的关键,以下方案均未验证,仅个人想法                     方案一,之前做过IAP,是可以实现代码的跳转,但是IAP是全部的代码跳转,这里如果使用跳转的方案,不知道会不会影响到我们任务调度器,以及任务堆栈                     方案二,在新建任务时,修改PC值至我们内部存储地址          bin文件的生成     正常我们编译代码都是使用keil或者IAR,这个确实是可是生产bin文件,但是这个bin里面包含了很多硬件的初始化过程,不知道这些过程会不会影响到我们原来程序的运行,所以我考虑生成这个bin文件还是使用gcc去编译生成bin文件

  • 2020-08-29
  • 回复了主题帖: 【FreeRTOS打卡第六站开启】实验:串口后台打印,关门时间8月29日

    在FreeRTOS环境下,要设计一个UART接收指定数量字符的函数,可以用怎样的途径?请描述你的思路,并分析优缺点,以及还可能怎么改进。 审题:UART接收指定数量字符,然后触发后续任务 方案一:中断收到UART数据,将UART数据存入消息队列,统计数量,达到数量任务通知或信号量触发后续任务 方案二:中断收到UART数据,将UART数据存入环形缓冲区,统计数量,达到数量任务通知或信号量触发后续任务 方案三:中断收到UART数据,将UART数据存入DMA,统计数量,达到数量任务通知或信号量触发后续任务 方案一,可能导致数据丢失,方案二,解决方案一的数据丢失问题,方案三,释放了CPU

  • 2020-08-26
  • 回复了主题帖: 【FreeRTOS打卡第五站开启】中断与任务切换,关门时间8月26日

    源码中宏定义 #define portNVIC_INT_CTRL_REG ( * ( ( volatile uint32_t * ) 0xe000ed04 ) ) #define portNVIC_PENDSVSET_BIT ( 1UL << 28UL ) #define portYIELD() vPortYield() #define portEND_SWITCHING_ISR( xSwitchRequired ) if( xSwitchRequired ) portNVIC_INT_CTRL_REG = portNVIC_PENDSVSET_BIT #define portYIELD_FROM_ISR( x ) portEND_SWITCHING_ISR( x ) 可见置位的是寄存器地址为0xe000ed04 查看寄存器表 中断控制状态寄存器 中断控制状态寄存器用于: 设置一个挂起(pending)NMI 设置或清除一个挂起 SVC  设置或清除一个挂起 SysTick 查找挂起异常  查找最高优先级挂起异常的向量号 查找激活异常的向量号 寄存器地址、访问类型和复位状态: 地址 0xE000ED04 访问类型 读/写或只读 复位状态 0x00000000 中断控制状态寄存器的位分配如图 所示。   由源码宏定义可知,该宏定义主要是挂起pendSV   PendSV 的典型使用场合是在上下文切换时(在不同任务之间切换)。     操作系统,上下文切换 实例: 场景假设:一个系统(按时间片轮转调度的系统)中有两个就绪的任务(A任务、B任务), 上下文切换被触发的场合可以是: 执行一个系统调用 系统滴答定时器(SYSTICK)中断,(轮转调度中需要) A、B两个就绪任务,通过SysTick 异常启动上下文切换。如图7.15 所示。 上图是两个任务轮转调度的示意图。 但若在产生SysTick 异常时正在响应一个中断,则SysTick 异常会抢占其ISR。 在这种情况下,操作系统 不可以执行上下文切换,否则将使中断请求被延迟, 而且在真实系统中延迟时间还往往不可预知——任何有一丁点实时要求的系统都决不能容忍这种事。 因此,在CM3 中也是严禁没商量——如果操作系统 在某中断活跃时尝试切入线程模式,将触犯用法fault 异常。 为解决此问题,早期的操作系统 大多会在SysTick 异常中 检测当前是否有中断在活跃中,只有没有任何中断需要响应时,才执行上下文切换(切换期间无法响应中断)。 然而,这种方法的弊端在于, 它可能把任务切换动作拖延很久(因为如果抢占了IRQ,则本次SysTick 在执行后不得作上下文切换,只能等待下一次SysTick 异常),尤其是当某中断源的频率和SysTick 异常的频率比较接近时,会发生“共振”。 现在好了,PendSV 来完美解决这个问题了(产生SysTick 异常时正在响应一个中断,SysTick 异常会抢占其ISR。此时,操作系统 不可以执行上下文切换,否则将使中断请求被延迟): 把PendSV 编程为最低优先级的异常,PendSV 异常会自动延迟上下文切换的请求,直到其它的ISR 都完成了处理后才放行。 如果操作系统 检测到某IRQ 正在活动并且被SysTick 抢占,它将悬起一个PendSV 异常,以便缓期执行上下文切换。如图7.17 所示   流水账记录如下: 1. 任务 A 呼叫SVC 来请求任务切换(例如,等待某些工作完成) 2. OS 接收到请求,做好上下文切换的准备,并且pend 一个PendSV 异常。 3. 当 CPU 退出SVC 后,它立即进入PendSV,从而执行上下文切换。 4. 当 PendSV 执行完毕后,将返回到任务B,同时进入线程模式。 5. 发生了一个中断,并且中断服务程序开始执行 6. 在 ISR 执行过程中,发生SysTick 异常,并且抢占了该ISR。 7. OS 执行必要的操作,然后pend 起PendSV 异常以作好上下文切换的准备。 8. 当 SysTick 退出后,回到先前被抢占的ISR 中,ISR 继续执行 9. ISR 执行完毕并退出后,PendSV 服务例程开始执行,并且在里面执行上下文切换 10. 当 PendSV 执行完毕后,回到任务A,同时系统再次进入线程模式。   部分资料来源:网络

  • 2020-08-25
  • 回复了主题帖: 【FreeRTOS打卡第五站开启】中断与任务切换,关门时间8月26日

    ddllxxrr 发表于 2020-8-24 19:53  portYIELD_FROM_ISR(pdTRUE),让调度器切换任务。对于 Cortex-m3 平台,portYIELD_FROM_ISR() 除了检 ...
    这个就是复制粘贴啊,标准答案?

  • 2020-08-23
  • 回复了主题帖: 【FreeRTOS打卡第四站开启】任务间通信,关门时间8月23日

    本次学习主要针对的是任务间通讯 正常来说想计算器这样的程序一般裸奔是很好解决了,但是为了更好的了解本章的内容做了以下修改 原本的裸奔扩展为几个任务 任务一,扫描键盘,识别键盘输入,将数据传输至运算任务,与显示任务,优先级最高(由于该程序是计算器,使用到的按键会比较多,而且并无其他实时任务占用资源,所以这里使用扫描键盘的做法,节省硬件资源) 任务二,运算任务,存储任务一传输过来的数据,进行存储或运算,具体更具传输指令触发动作 任务三,显示任务,显示其他任务传输过来的数据,及指令触发动作   根据本章学习到的内容定义了三个方案   方案一:任务通知 个人理解,每个任务都有相应的任务通知,应该是可以触发某个任务的任务通知,如果以上不成立,该方案不可行, 任务一,实时在扫描,识别到触发信号,通知到任务二,与任务三,执行相应动作 任务二,等待任务通知,并执行相应动作,运算结果发送至任务三 任务三,等待任务通知,并执行相应动作   方案二:队列 任务一,实时在扫描,识别到触发信号发送队列数据到任务二 任务二,做相应触发动作,并发送队列数据到任务三 任务三,根据指令执行相应动作   方案三:信号量 前提定义全局变量 任务一,实时在扫描,识别到触发信号,发送与任务二的信号量 任务二,识别信号量,获取相应数据,并发送与任务三的信号量 任务三,识别信号量,获取相应数据,并触发相应动作

  • 2020-08-19
  • 回复了主题帖: 【FreeRTOS打卡第三站开启】任务状态及切换,关门时间8月20日

    思考题: 在FreeRTOS任务程序中,常使用 xTaskDelay() 函数来达到延时执行的目的。若在某一个任务里调用了 xTaskDelay(20), 想等待20个时间单位,结果这一回延时操作却超过了25个时间单位。请分析有可能是哪些原因造成的? 答:首先这个xTaskDelay(20),20个时间单位肯定是硬吃的,毋庸置疑,主要是要分析后面这个多出来的5个时间单位被谁吃了。 1、被更高优先级抢占,就是当前任务到等到19个时间单位时,有一个高优先级任务抢占资源,运行了6个时间单位才释放资源 2、被同优先级抢占,当前任务到等到19个时间单位时,有一个同优先级任务正好在就绪态,肯定时可以接手资源运行6个时间单位再释放资源 3、被中断吃了,不管是裸奔还是,上rtos硬件中断始终优先级是最高的,正常编程过程中,我们是不会再中断中做了很多东西,但不排除有些人在中断中写了应用代码,甚至写了延时函数

  • 2020-08-17
  • 回复了主题帖: 【FreeRTOS打卡第二站开启】堆栈—任务切换的关键,关门时间8月17日

    个人觉得这章应该是RTOS的核心 正常裸奔基本不考虑堆栈问题,只有调用中断的时候会调用到栈的功能,正常使用比较多的也是定义变量,动态内存使用的也比较少 当使用了RTOS就无时不刻的在调用堆栈,TCB基本就是动态获取堆,任务切换就要一直压栈出栈,同时还要考虑到系统中断的堆栈调用 这里RTOS针对各任务的整个堆栈操作,就要是由任务调度器来完成,整个过程大概就是 保存任务1现场,恢复任务2现场,保存任务2现场,恢复任务1现场不断的切换   什么是现场呢,就是CPU运行状态寄存器 51与contex-m核其实比较大的区别就是现场的不同,51的资源相较于contex-m的资源要少,cpu调用的寄存器也少,可以理解为现场小,所以在保存现场的数据上,contex-m是会比51要大一些的   以上为个人理解,如果理解有误,请大家指正,其实看这章也是挺懵的,查了很多资料,希望大家相互交流共同进步

  • 2020-08-13
  • 回复了主题帖: FreeRTOS打卡第一站开启:应用场景站,关门时间8月14日

    应用:数据网关(数据集中器) 功能:故名思意,主要功能就是汇总终端设备数据,统一上报之后台,根据终端设备的类型不同,数据网关将调用的硬件资源也是不一样的 例如:2路串口,1路无线,1路iic采集数据,1路spi数据存储,同时还要处理后端发送的指令,及定时上传数据至后台 在没有rtos情况下,可按流程进行数据处理,但是数据采集过程中肯定会出现通信超时等情况导致资源分配不均,以及无法及时处理后台数据等问题 引入rtos架构 1、能合理分配等待的空闲时间的资源 2、代码简单化,在硬件资源独立的情况下只需要考虑当前任务的处理逻辑 3、机动性更高了,威尼斯人买澳门同网上娱乐场:当需要添加一路数据采集是,直接添加一个任务,并不影响其他任务运行 具体任务划分 任务1,串口1数据采集,由于串口资源属于硬件资源,为了减少硬件资源在不同任务间调用可能会出问题,所以独立开一个任务 任务2,串口2数据采集, 任务3,无线数据采集 任务4,iic数据采集 任务5,数据汇总及数据存储 任务6,后台通讯处理

  • 2020-08-10
  • 加入了学习《电子电路基础知识讲座》,观看 3.3.1 共射放大电路一般性质

  • 加入了学习《电子电路基础知识讲座》,观看 3.5.3 乙类功率放大电路

  • 2020-08-08
  • 加入了学习《电子电路基础知识讲座》,观看 1.2.2 电感

最近访客

< 1/1 >

统计信息

已有16人来访过

  • 芯币:1068
  • 好友:1
  • 主题:3
  • 回复:94
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 华人娱乐官网登入


现在还没有留言

皇家福彩3D时时彩平台网址 红姐心水高手论坛 惠州明升 网络赌徒被抓网上娱乐场 澳门威尼斯人线上投注
166彩票网是正规的吗 申博代理登录游戏 菲律宾申博MG电子开奖 申博北京赛车(PK10)开奖时刻表 金马国际香港六合彩官网
正大国际BBIN电子助赢软件 澳门赌钱自杀网上娱乐场 爱彩网平台 太阳城导航澳门赌场 永利DS太阳城彩票
澳门博彩网站赌博游戏 淘金吉林快3网址 澳门金沙线路检测中心 永利快3开奖记录 线上娱乐百利宫官方网