TI中文支持网
TI专业的中文技术问题搜集分享网站

ti rtos 定义大变量的问题

typedef struct
{
  uint8_t Lock_Pattern;      
  uint8_t Lock_Status;       
//  uint8_t Lock_OPState;     
} LockOPStruct_t;

LockOPStruct_t LockOPStruct[LOCK_OP_NUM];

LOCK_OP_NUM=1000;//500

定义如上结构数组、当LOCK_OP_NUM=1000时,即占用了2K内存空间、编译通过

  92 602 bytes of readonly  code memory
  10 389 bytes of readonly  data memory
  12 281 bytes of readwrite data memory

但执行时部分ble任务功能异常。

LOCK_OP_NUM=500时、全部功能正常。

编译时内存空间没问题,感觉上连续的大内存会覆盖部分任务空间。请各位帮忙分析问题出在哪里?

还有我现在需要定义一个大概6K空间的结构数组,ti rtos是否可以定义这种大变量?

user5925450:

cc2640r2、simplelink_cc2640r2_sdk_1_40_00_45版本库、iar编译环境

Alvin Chen:

回复 user5925450:

芯片自身资源有限不支持定义这种大变量。

Viki Shi:

根据描述,应是内存不足导致的问题。执行过程中,内存可能没有及时释放。TI RTOS的memory介绍请看:
dev.ti.com/…/tirtos_basics.html 以及sdk中的SYS/BIOS (TI-RTOS Kernel) User's Guide

赞(0)
未经允许不得转载:TI中文支持网 » ti rtos 定义大变量的问题
分享到: 更多 (0)