2015.07.15-编译stm32-soft在初始化BOOT任务时挂死(KEIL)
来源:互联网 发布:医疗器械专用软件 编辑:程序博客网 时间:2024/06/10 23:11
【问题现象】
修改后
容器类的定义:
初始化BOOT任务过程中发生FAULT故障。
【问题原因】
对象容器的长度与容器中POOL的数量有关,但在初始化对象容器时,使用默认的容器长度进行初始化导致对象容器长度计算错误覆盖对象链表,当对象链表上检查重名对象时,链表首指针为NULL导致MemFault故障。
修改前:
EXPORT E_STATUS CORE_CreatePoolContainer(LPCORE_CONTAINER lpManager, LPCSTR lpName, BYTE_PTR lpTable, BYTE Pools, BYTE BlockPrePool, SIZE_T BytePreBlock, BOOL AllocForInit){ KPOOL_ID_T Pid = 0; memset(lpManager, 0, sizeof(CORE_CONTAINER)); SetContainerName(lpManager, lpName);
修改后
EXPORT E_STATUS CORE_CreatePoolContainer(LPCORE_CONTAINER lpManager, LPCSTR lpName, BYTE_PTR lpTable, BYTE Pools, BYTE BlockPrePool, SIZE_T BytePreBlock, BOOL AllocForInit){ KPOOL_ID_T Pid = 0; memset(lpManager, 0, sizeof(CONTAINER_ATTRIBUTE) + sizeof(CORE_POOL) * Pools); SetContainerName(lpManager, lpName);
容器类的定义:
struct tagCORE_CONTAINER{ CONTAINER_ATTRIBUTE Attribute; CORE_POOL Pool[CONFIG_CORE_POOL_MAX]; /**< Pools */};
CONFIG_CORE_POOL_MAX = 8容器实例定义:
struct tagOBJECT3_CONTAINER{ CONTAINER_ATTRIBUTE Attribute; CORE_POOL Pool[CONFIG_OBJECT3_POOL_MAX + !CONFIG_OBJECT3_POOL_MAX]; /**< Pools */};
CONFIG_OBJECT3_POOL_MAX = 1
0 0
- 2015.07.15-编译stm32-soft在初始化BOOT任务时挂死(KEIL)
- stm32在keil编译环境下使用printf函数
- KEIL调用GCC编译STM32
- 在keil开发stm32问题
- 解决STM32在MDK-ARM(KEIL)编译时出现 已停止工作
- KEIL在STM32下面如何仿真!
- Keil MDK之RTX任务管理 初始化 创建 删除
- stm32库开发之keil编译报错
- KEIL编译STM32程序出现test.sct(7)…
- 【mark】keil STM32学习的总结编译调试错误
- STM32经keil mdk编译产生的.map文件分析
- Keil开发STM32更换MCU造成的编译不通过解决办法
- STM32 在 KEIL 下使用 SWV 输出调试信息
- STM32在Keil MDK5环境下RAM上代码调试
- 不需要移植,在keil上打个勾就让stm32跑起操作系统
- 在Keil里面仿真stm32程序出现Communication failure错误
- STM32在KEIL MDK环境下建立新工程
- 不需要移植,在keil上打个勾就让stm32跑起操作系统
- csharp: 用Enterprise Library对象实体绑定数据
- CentOS 6.5升级Python和安装IPython
- codeforces 简单计数问题收集
- Linux(android) 磁盘及分区基础知识
- lvs 负载均衡fullnat 模式clientip 怎样传递给 realserver
- 2015.07.15-编译stm32-soft在初始化BOOT任务时挂死(KEIL)
- android5.0使用requestWindowFeature(Window.FEATURE_NO_TITLE)隐藏标题栏的报错的解决方法
- 深入学习请求响应(三)---request的应用
- [Leetcode]Minimum Window Substring
- 【Open】内存MAP需要通过配置文件生成
- 【程序员创业】商业计划书怎么写才能与众不同?
- Zookeeper入门实验——安装配置
- zookeeper原理(转)
- C#设计模式(1)单例模式