完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
环境: 测试流程: 1 系统启动后,通过系统管理SRAM芯片内存,显示挂载成功。 [20:29:49.914]收←◆free sram 1048576 48 1048528 芯片内部SRAM剩余744的时候,再通过rt_malloc()申请一个超过1024Byte的或者更大的内存空间,就会报总线错误。 收←◆msh >psr: 0x01000000 uart 11 running 0x00000088 0x00001000 03% 0x00000014 000 通过单步跟踪进入程序,rt_malloc()函数分配内存地址,已经转到片外SRAM芯片地址上了,分配的地址指针都是0x68000000以上的了,但运行到在void *rt_memheap_alloc(struct rt_memheap *heap, rt_size_t size)函数中 以下语句的时候就会出现总线错误(memheap.c文件中213行)
我查看了本论坛中 “SCB_CFSR_BFSR”错误的贴子,但依然没有找到问题原因。 |
|
相关推荐
5个回答
|
|
|
连接脚本中有对SRAM区的定义和映射吗?
|
|
|
|
|
|
我是使用MDK环境进行编译的。
系统启动时候,已经添加了SRAM测试命令。通过串口输出信息看是SRAM测试没有问题。 [13:09:05.293]收←◆msh > [13:09:12.699]收←◆[0m[D/drv.sram] sram init success, mapped at 0x68000000, size is 1048576 bytes, data width is 16[0m 外部SRAM测试开始[0m[D/drv.sram] Writing the 262144 bytes data, waiting....[0m [13:09:12.964]收←◆[0m[D/drv.sram] Write data success, total time: 0.000S.[0m [0m[D/drv.sram] start Reading and verifying data, waiting....[0m [13:09:13.164]收←◆[0m[D/drv.sram] SRAM test end![0m 外部SRAM读写测试成功 | / - RT - Thread Operating System / | 4.0.3 build Dec 1 2020 2006 - 2020 Copyright by rt-thread team msh > |
|
|
|
|
|
sram启用后有个sram_test命令,你试一下
|
|
|
|
|
|
系统启动时候,已经添加了SRAM测试命令。通过串口输出信息看是SRAM测试没有问题。
[13:09:05.293]收←◆msh > [13:09:12.699]收←◆[0m[D/drv.sram] sram init success, mapped at 0x68000000, size is 1048576 bytes, data width is 16[0m 外部SRAM测试开始[0m[D/drv.sram] Writing the 262144 bytes data, waiting....[0m [13:09:12.964]收←◆[0m[D/drv.sram] Write data success, total time: 0.000S.[0m [0m[D/drv.sram] start Reading and verifying data, waiting....[0m [13:09:13.164]收←◆[0m[D/drv.sram] SRAM test end
淘帖
3564