Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
memheap
关于【SRAM】大小设置问题 。急急急!
发布于 2019-09-07 13:42:38 浏览:2297
订阅该版
**一、**如题,我在将`.\bsp\stm32\stm32f407-atk-explore`r这个BSP 【STM32F407ZGT6,192KB SRAM、1024KB FLASH】修改移植到我自己的板卡【STM32F407VE,192KB SRAM、512KB FLASH】上时; 按照【STM32 系列 BSP 制作教程】文档: 1、使用CubeMX根据自己的板卡外设重新生成了stm32f4xx_hal_msp.c 2、修改了board.c中的`SystemClock_Config()`,修改了board.h中 `STM32_SRAM_SIZE` 为`192` 3、修改了`link.sct`连接脚本中的RAM大小为192K ```c LR_IROM1 0x08000000 **0x00080000** { ; load region size_region ER_IROM1 0x08000000 **0x00080000** { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x20000000 **0x00030000** { ; RW data .ANY (+RW +ZI) } } ``` 二、编译后,将程序烧到板卡,程序死在了 `rt_system_heap_init` 中 `heap_end = 0X2002FFF4 mem_size_aligned = 0x0002E810` 不知道啥原因哦?????????? 还有我看 `\bsp\stm32\stm32f407-atk-explore` 这个BSP中的SRAM大小设的是128K,但芯片实际是192K的。 `\bsp\stm32\stm32f429-atk-apollo`这个BSP中的SRAM大小设的是192K,但实际芯片大小是256K的。
查看更多
8
个回答
默认排序
按发布时间排序
WillianChan
2019-09-07
-
因为这192KB当中,有64KB是CCM data RAM,挂载在D-Bus上的,所以这64KB不能用。192KB-64KB=128KB,就只能用这128KB的SRAM了。如下图: [attach]10827[/attach] [attach]10828[/attach]
libing
2019-09-07
这家伙很懒,什么也没写!
不能改为192Kb,stm32f407的192kb是由两部分的组成的
hurryddddd
2019-09-07
这家伙很懒,什么也没写!
>因为这192KB当中,有64KB是CCM data RAM,挂载在D-Bus上的,所以这64KB不能用。192KB-64KB=128KB,就只能用 ... 那么这64K大小的CCM可以使用memheap 管理算法来管理吗,想给它用起来。还有是不是DMA不能访问这块区域呢
WillianChan
2019-09-07
-
CCM是不能被其他组件访问的,因为它不属于BusMatrix的一部分,所以DMA也不能访问这块CCM。
WillianChan
2019-09-07
-
想要使用这块CCM内存的话,可以自己手动在link.sc文件中添加指定分配的内存:;我就要使用CCM ``` RW_IRAM2 0x10000000 0x00010000 { RAM2.O (RAM2,+RW +ZI) } ```
hurryddddd
2019-09-07
这家伙很懒,什么也没写!
>CCM是不能被其他组件访问的,因为它不属于BusMatrix的一部分,所以DMA也不能访问这块CCM。 ... 不能被其他组件访问 这个怎么说? 那我要用这块内存的话,只能是我自己在进行管理是吧? 就比如我用来暂存网络接收的数据如OTA固件,该怎么用,直接将存放数据的地址指定到 IRAM2吗?
WillianChan
2019-09-07
-
因为CCM是挂在D-Bus上的,只能被Cortex-M内核访问,如下图: [attach]10829[/attach]
WillianChan
2019-09-07
-
>不能被其他组件访问 这个怎么说? 那我要用这块内存的话,只能是我自己在进行管理是吧? 就比如我用来 ... 因为CCM是挂在D-Bus上的,只能被Cortex-M内核访问,如下图:[attach]10830[/attach]
撰写答案
登录
注册新账号
关注者
0
被浏览
2.3k
关于作者
hurryddddd
这家伙很懒,什么也没写!
提问
12
回答
40
被采纳
0
关注TA
发私信
相关问题
1
关于利用0x68000000作为扩展sram?
2
STM32F407 添加外部 SRAM
3
RTT内存使用情况的问题
4
ramfs中的memheap问题
5
rt_system_heap_init函数加入多块物理内存是否有计划解决
6
list_memheap 显示的 max used size
7
求助,外部SDRAM使用memheap管理后系统起不来了
8
C++应用memheap内存管理方法挂死
9
rt_memheap_free 引起的死机
10
探索者f407 使用rt_malloc分配外部sram作为lvgl缓存异常?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部