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