ARM裸机开发 malloc函数测试中的问题 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6749|回复: 4

[未解决] ARM裸机开发 malloc函数测试中的问题

[复制链接]

5

主题

8

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
发表于 2018-7-27 17:00:29 | 显示全部楼层 |阅读模式

- s; R# {9 J) t一段很简单的malloc动态内存分配测试程序,当MaxNum为600时,动态内存申请就失败,malloc返回值为NULL。当MaxNum为较小值是就可以。- G. C6 W$ b# J6 `9 h* B
所以这是一个内存大小限制的问题。我想知道这个内存大小限制在哪里。创龙的软件硬件工程师们,能否帮我解答一下这个问题。以下是我的.cmd文件。将动态内存分配的段放在DDR2下,但是DDR2的大小并不是我上文中提到的这个”限制“所在。* H3 n1 [* ]  D

) f- x; S, f9 j2 a# I- c0 Q# D3 M6 g3 ?1 s" p/ o
1 i; q( _  P0 C

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

3

主题

524

帖子

2083

积分

创龙

Rank: 8Rank: 8

积分
2083
发表于 2018-7-31 08:40:48 | 显示全部楼层
您好:5 W$ Y' c) h% h3 F, I, [
        您可以在.cmd文件那里去修改堆栈的大小。
/ L2 h6 q" r9 ~* m
回复 支持 反对

使用道具 举报

5

主题

8

帖子

1065

积分

金牌会员

Rank: 6Rank: 6

积分
1065
 楼主| 发表于 2018-7-31 14:48:21 | 显示全部楼层
本帖最后由 lzy9634 于 2018-7-31 14:50 编辑 0 A- s5 m$ s9 ^
广州创龙莫工 发表于 2018-7-31 08:40" I. m, r! {# }9 a3 J
您好:
" U  ^9 z' D/ n) s# P0 H1 p* ]        您可以在.cmd文件那里去修改堆栈的大小。

3 K: M7 {, @4 `莫工,您好!0 e" q5 W# F& s! P- X4 U7 U/ l
" G  b* \6 o( {. c8 x7 L
这是我的.cmd文件,我将malloc产生内存的区域.sysmem段放在32KB的L1DRAM下。理论上malloc 600个int也就是2400个字节才2~3KB理论上空间是足够的。但就是malloc失败,如下图,所以能否帮忙测试解答一下呢?万分感谢!2 Q" q4 R0 Q% v  V2 e

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

12

主题

169

帖子

731

积分

QQ游客

积分
731
发表于 2018-8-2 11:07:11 | 显示全部楼层
您好,黎工,如果您将.system定义到其他空间,例如DDR中,请问程序,是否可以正常编译通过呢?需要先排查一下,问题是出在哪个地方
回复 支持 反对

使用道具 举报

10

主题

17

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
发表于 2020-7-12 22:16:24 | 显示全部楼层
广州创龙莫工 发表于 2018-7-31 08:40
0 W8 S5 K& Z7 |您好:7 F* }% D: ?2 c: Y; t! T) R
        您可以在.cmd文件那里去修改堆栈的大小。
+ b# D& W. d' {
我在ccs中用malloc动态分配内存也遇到了这个问题,就是查看map文件可以发现修改cmd不能改变堆栈大小,只是改变了system的MEMORY。在工程设置中Basic options中可改变堆和栈的大小。希望可以给有同样问题的朋友一个参考。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-4-17 03:24 , Processed in 0.039597 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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