OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4970|回复: 5

关于内存管理或者数据读写方面的问题,请大家指教。

[复制链接]

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
发表于 2014-6-7 15:11:06 | 显示全部楼层 |阅读模式
5金钱
为了较深入理解STM32工作原理,一直在想有关内存管理方面的问题:下面是我个人对内存管理的认识,肯定有不到或错误之处!请牛人补充或指正错误,不胜感激!
为什么需要内存管理呢?个人认为:1,当在程序中定义一个数组或者一个结构体时,其实就是在向内存申请了相应的内存空间,但是这种申请内存的方法只适合于申请小容量的内存空间或者只适合于小型程序,如果程序中需要大容量存储或者程序代码量很大的话,很有可能内存空间会不够用了,因为数组或者结构体在整个程序运行当中是一直占用内存而不能自己释放的;为了高效利用内存,使用内存管理的方法就可以解决这个问题,当用完了所申请的内存空间时,就通过Free()函数及时将其释放,使得内存可以被反复使用从而提高了内存空间的利用率;2,通过内存管理函数malloc()可以很方便的对申请到的内存进行操作,如,向内存读写数据,查询内存的使用情况;还有在ISP情况下的使用;3,在uc/os-ii操作系统中也有内存管理方面的操作,如内存控制块和对内存操作的那几个函数,一般在操作系统里都有内存管理模块,可见,内存管理是很有用的;4,在没有外扩存储空间时,还可以将内存当作flash用。这里所说的内存管理只是针对MCU片上内存而言,对于STM32,代码可以存储在flash和RAM里,而对于大容量存储介质(如SD卡)的数据存储与管理一般用fat32文件系统进行管理,SD卡不能用于存储代码(理论上应该可以),只是因为各自硬件结构决定的,MCU片上内存属于高速缓冲。如STM32的FSMC是用来扩展存储空间用的,如LCD的GRAM和IS62WV51216芯片,它们与片上地址形成映射关系。

总之,个人认为学会并深刻理解数据的读写或存储,对于提高嵌入式系统的编程能力很有好处。错误之处,敬请指正!

手艺人要内外兼修。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

274

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
336
金钱
336
注册时间
2013-12-3
在线时间
0 小时
发表于 2014-6-7 15:17:15 | 显示全部楼层
内存太重要了,尤其是以后跑图形界面和算法时。
不用谢了……
回复

使用道具 举报

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
 楼主| 发表于 2014-6-7 15:22:47 | 显示全部楼层
嗯,GUI还没有涉及到
手艺人要内外兼修。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-8 00:07:33 | 显示全部楼层
内存管理的目的就是为了更合理的使用内存。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
 楼主| 发表于 2014-6-8 10:42:30 | 显示全部楼层
谢谢!我觉得主要是一些有关cpu原理方面的知识必须搞清楚,例如sram和flash的区别;SP和PC等等那几个寄存器怎么切换的,看了很多资料,莫衷一是,搞得好乱。比如在SRAM启动是什么意思还不清楚,麻烦能说一下
手艺人要内外兼修。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-8 20:01:22 | 显示全部楼层
回复【5楼】wangyan915205:
---------------------------------
就是讲code放到sram里面,然后运行sram里面的code,就叫从sram启动,基本没用.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-7 17:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表