cfsr matlab,创建线程提示SCB_CFSR_BFSR:0x04 IMPRECISERR 错误

1.系统版本: RTThread Nano 3.1.3 build Oct 19 2020

2.硬件版本:STM32F107RC

创建线程代码:#define THREAD_PRIORITY 25

#define THREAD_STACK_SIZE 512

#define THREAD_TIMESLICE 5

ALIGN(RT_ALIGN_SIZE)

static char thread2_stack[256];

static struct rt_thread thread2;

static rt_thread_t tid1 = RT_NULL;

/* 线程 2 入口 */

static void thread2_entry(void *param)

{

rt_uint32_t count = 0;

/* 线程 2 拥有较高的优先级,以抢占线程 1 而获得执行 */

for (count = 0; count < 10 ; count++)

{

/* 线程 2 打印计数值 */

// rt_kprintf("thread2 count: %d\n", count);

}

// rt_kprintf("thread2 exit\n");

/* 线程 2 运行结束后也将自动被系统脱离 */

}

int main(void)

{

MX_GPIO_Init();

rt_thread_t tid;

#ifdef RT_USING_HEAP

tid = rt_thread_create("thread", thread2_entry, RT_NULL,

128, THREAD_PRIORITY, 20);

RT_ASSERT(tid != RT_NULL);

#endif

rt_thread_startup(tid);

}

内存初始化代码:#define STM32_FLASH_START_ADRESS ((uint32_t)0x08000000)

#define STM32_FLASH_SIZE (256 * 1024)

#define STM32_FLASH_END_ADDRESS ((uint32_t)(STM32_FLASH_START_ADRESS + STM32_FLASH_SIZE))

/* Internal SRAM memory size[Kbytes] <8-64>, Default: 64*/

#define STM32_SRAM_SIZE 64

#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024)

#if defined(__CC_ARM) || defined(__CLANG_ARM)

extern int Image$$RW_IRAM1$$ZI$$Limit;

#define HEAP_BEGIN ((void *)&Image$$RW_IRAM1$$ZI$$Limit)

#elif __ICCARM__

#pragma section="CSTACK"

#define HEAP_BEGIN (__segment_end("CSTACK"))

#else

extern int __bss_end;

#define HEAP_BEGIN ((void *)&__bss_end)

#endif

#define HEAP_END STM32_SRAM_END

#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)

#define RT_HEAP_SIZE 10240

static uint32_t rt_heap[RT_HEAP_SIZE];

RT_WEAK void *rt_heap_begin_get(void)

{

return rt_heap;

}

RT_WEAK void *rt_heap_end_get(void)

{

return rt_heap + RT_HEAP_SIZE;

}

#endif

#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)

rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());

#endif

/* Heap initialization */

//#ifdef RT_USING_HEAP

//#if STM32_EXT_SRAM

// rt_system_heap_init((void*)STM32_EXT_SRAM_BEGIN, (void*)STM32_EXT_SRAM_END);

//#else

//#if defined(__CC_ARM) || defined(__CLANG_ARM)

// rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)STM32_SRAM_END);

//#elif __ICCARM__

// rt_system_heap_init(__segment_end("HEAP"), (void*)STM32_SRAM_END);

//#else

// /* init memory system */

// rt_system_heap_init((void*)&__bss_end, (void*)STM32_SRAM_END);

//#endif

//#endif /* STM32_EXT_SRAM */

//#endif /* RT_USING_HEAP */

/* Heap initialization */

#if defined(RT_USING_HEAP)

// rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END);

#endif

去除线程之后,正常。

错误信息

9c3a11675917074b86d690ce82af1bee.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值