OpenEdv-开源电子网

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

Lwip是否可以不用外扩内存?Emwin,不外扩内存是否能运行?听我给大家说一说

[复制链接]

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-2-7 17:03:13 | 显示全部楼层 |阅读模式
发现有不少客户,对我们开发板何时用了外部SRAM,何时没用外部SRAM,很是不明了,分不清。比如战舰/探索者客户,在使用LWIP例程的时候,发现代码里面有初始化外部SRAM,然后就不知道到底是否需要外部SRAM才能跑?
比如精英板客户,在使用EMWIN例程的时候,发现代码里面居然有初始化外部SRAM,实际上板子并没有外部SRAM,于是就认为代码肯定不能跑,真是这样么?

答案是:不需要外部SRAM的。

然后很多客户不明白,不需要为什么还初始化了SRAM?
我这里打个比方:
假设你要开车回家,此时,我车上的油箱加满了油,后备箱我再存储 了一罐油,然后开车回家,在高速路上,我这个后备箱里面的这罐油掉了,请问,此时,我的车还能开么?

答案肯定是可以开的。

这里,车载油箱里面的油,就好比内部SRAM。  后备箱存储罐里面的油,好比外部SRAM。
这个存储罐的油,在车载油箱油耗尽之前,是无关紧要的。可以留着,也可以丢掉。
留着的好处,就是车载油箱没油的时候,可以加油,继续跑。
丢掉了,则只能用车载油箱的油了,用完了就没了。

说道这里,大家应该明白了吧?
外部SRAM,只要是例程里面,没有用到,则可以不要。

至于如何查看外部SRAM是否用到呢?
我们例程都是使用内存管理,来使用外部SRAM的。
所以,可以全文 搜索:mymalloc,看看是否有用外部SRAM(看第一个参数,如果是SRAMEX,则说明用了)。

这里,我改了一个精英板的EMWIN例程,将里面的sram.c删了,没用到外部SRAM了,照样可以运行。见附件。
说明确实是不需要的。
EMWIN实验3 文本显示_删除外部SRAM.rar (3.65 MB, 下载次数: 141)
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-8-16
在线时间
5 小时
发表于 2019-11-7 15:36:49 | 显示全部楼层
原子哥有没有不使用外部SRAM的429 LWIP移植工程?求提供
回复 支持 1 反对 0

使用道具 举报

12

主题

70

帖子

0

精华

高级会员

Rank: 4

积分
888
金钱
888
注册时间
2016-3-29
在线时间
178 小时
发表于 2017-2-7 17:38:55 | 显示全部楼层
顶一个
回复 支持 反对

使用道具 举报

2

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2016-11-2
在线时间
42 小时
发表于 2017-2-7 19:38:11 | 显示全部楼层
原子哥,还有个问题,就是keil软件编译后显示程序代码占多少空间。不是说明了程序运行需要多少flash和ram吗。而精英版程序编译后keil显示的代码大小远超了硬件上的数值的。那或者说,怎么知道程序代码运行时所需要的内存空间呢。初学菜鸟,可能问的很小白,还望指点下,谢谢了。
回复 支持 反对

使用道具 举报

34

主题

322

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1835
金钱
1835
注册时间
2014-12-4
在线时间
717 小时
发表于 2017-2-8 08:31:52 | 显示全部楼层
tainan 发表于 2017-2-7 19:38
原子哥,还有个问题,就是keil软件编译后显示程序代码占多少空间。不是说明了程序运行需要多少flash和ram吗 ...

在工程根目录搜索.map文件,里面写了程序占用的Flash和Rom大小以及分布
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2017-2-8 08:35:36 | 显示全部楼层
不是有宏编译了?
为0就可以了。
呵呵。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
 楼主| 发表于 2017-2-9 18:45:56 | 显示全部楼层
无名氏 发表于 2017-2-8 08:35
不是有宏编译了?
为0就可以了。

不是开关的问题。
是他搞不懂。为什么有,但是没用到,想不通。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2019-7-29
在线时间
12 小时
发表于 2021-11-23 17:43:47 | 显示全部楼层
yande820 发表于 2019-11-7 15:36
原子哥有没有不使用外部SRAM的429 LWIP移植工程?求提供

我也想要一份可以吗
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2019-9-21
在线时间
1 小时
发表于 2022-4-24 13:02:59 | 显示全部楼层
我也想要一份,按道理lwip的例程里面没有用到sram,我把sram初始化和malloc.c删除之后应该能运行的,但实际却不能正常运行了,可能lwip移植的时候有什么操作吧
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 11:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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