fans-rt 遗留问题跟踪
长相很安全
这个作者很懒,什么都没留下…
展开
-
【open】fans-rt系统全局内存管理和全局堆管理优化点
MMS服务的BUDDY算法部分抽取为公共库 kbuddy.c MMS和HMS通过调用kbuddy.c中的公共函数实现域/堆的创建/分配/释放功能。原创 2015-07-10 23:46:35 · 292 阅读 · 0 评论 -
【Open】fans-rt 0.11 重要需求和遗留问题跟踪
1.Message Queue 未实现 2.Pipe 暂未实现 3.KEIL 连接脚本(.sct)和GCC连接脚本(.ld)生成工具。 4.应用层异常(内存访问异常、除法错误、无效指令等)后强制结束任务。 5.内核异常后自动复位系统 6.内核和应用定时器 7.软件看门狗 8.移植到 STM8S207 MCU 9.多CPU(LPC4357)环境下的对象管理需要加入引用计数和SPINLO原创 2015-08-17 01:18:55 · 504 阅读 · 0 评论 -
fans-rt 0.11 版本交付计划
版本: 0.11 交付时间: 2015.09.30交付需求:1. 任务管理优化 -- 任务创建流程优化(已完成)2. 任务管理优化 -- 任务堆栈管理优化(已完成)3. 任务管理优化 -- 任务局部变量(已完成)4. 支持事件对象(已完成)5. 支持互斥体对象(已完成)6. THUMB2 ARMASM汇编自动转换GNU汇编(已完成)7. Cortex-M3 AR原创 2015-07-26 22:34:21 · 381 阅读 · 0 评论 -
【Open】2015.08.03-连接脚本配置错误导致“不精确的数据访问违例”
【问题现象】MUTEX测试用例中发生“不精确的数据访问违例”testmutex.c 文件内定义在 .UserRWdata 段的变量 g_lpWakeupTaskName 连接后地址为 0x0800bd88。【问题原因】0x0800bd88 为片上FLASH地址,查看stm32-soft.map文件发现 g_lpWakeupTaskName 连接后被放入data gr原创 2015-08-03 02:05:39 · 805 阅读 · 0 评论 -
【Close】使用GCC编译运行无法完成测试用例
【问题】使用GCC编译后不能正常完成所有测试用例,在TASK TEST阶段切换任务时宕机。[0000000000000000][0045][INFOR][ShowSystemInformation] Starting Fans-RT 0.11.1298 for board stm32-mini ...[0000000000000000][0047][INFOR][ShowSystemIn原创 2015-07-19 23:57:45 · 889 阅读 · 0 评论 -
【close】任务局部变量相关功能
【需求】1.创建局部变量对象2.获得局部变量键3.释放局部变量键4.根据局部变量键设置变量值5.根据局部变量键查询变量值原创 2015-07-12 02:02:34 · 323 阅读 · 0 评论 -
【close】任务上下文对象长度超过128字节
原因: 包含在TASK_CONTEX 对象中的 ARCH_CONTEX 长度32字节,需要从任务上下文中移除,使用指针处理。需要为ARCH_CONTEXT单独分配空间。原创 2015-07-15 01:40:49 · 339 阅读 · 0 评论 -
【Open】内存MAP需要通过配置文件生成
配置文件需要描述的内容包括:1.有多少个内存REGION2.各Region的起始地址和长度3.每个Region中包含哪些代码和数据段通过以上信息使用shell脚本生成.sct脚本和.ld脚本供keil和gcc连接时使用,并生成配置定义头文件供启动时初始化MPU使用。原创 2015-07-26 03:50:11 · 347 阅读 · 0 评论 -
【close】fans-rt 对象管理支持同类不同长度的对象(新需求)
对象管理需要支持同类且不同长度的对象的分配和释放(新需求,来源于任务局部变量)。原创 2015-07-10 23:48:54 · 280 阅读 · 0 评论 -
【open】fans-rt 任务销毁的对象释放流程
任务销毁的对象释放流程未完成。任务创建流程包括1.任务上下文对象分配2.任务用户栈对象分配3.任务内核栈对象分配4.任务局部变量对象分配5.任务局部堆分配以上动作的逆向操作如果全部一次在内核服务中完成可能严重影响系统实时性,如果按步骤调用单个服务分次完成则无法解决任务自销毁问题,如果放到IDLE中处理则可能导致任务再分配失败。原创 2015-07-12 01:48:22 · 407 阅读 · 0 评论 -
【Open】多处理器并行环境下,对象释放时可能导致阻塞队列链表损坏
【问题原因】多处理器并行执行,任务A被同步对象阻塞并且已经超时,CPU0正在释放同步对象,CPU1进入任务调度中断为任务A处理阻塞超时,将导致多个处理器同时执行链表删除动作。【问题影响】同步对象阻塞链表损坏或CPU0陷入死循环。【解决方案】在任务调度器中检测阻塞对象状态,如果状态为DEATH,则不执行链表删除动作。原创 2015-08-06 01:34:09 · 320 阅读 · 0 评论