打印
[ZLG-ARM]

lpc23xx问题求解!谢谢

[复制链接]
2354|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shkliu|  楼主 | 2007-1-20 12:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
hotpower| | 2007-1-20 12:34 | 只看该作者

昨天看见有人做先用lpc214x软仿真试试,不知可行否???

硬件估计可以跑起来,但软仿真用lpc23xx估计不行...

使用特权

评论回复
板凳
db10| | 2007-1-20 13:45 | 只看该作者

malloc是不太好用,跟库有关

 你可以查查00的内存申请程序.俺现在程序里用他的,感觉不错.以前我在用2132的时候,用系统的malloc也是不稳定的,后来用了00的就好了.

使用特权

评论回复
地板
computer00| | 2007-1-20 14:30 | 只看该作者

哈哈~~~~还真用上了.....不过出了事偶可不负责滴.....

使用特权

评论回复
5
shkliu|  楼主 | 2007-1-20 14:56 | 只看该作者

我是下载进取调试的。因为程序超过32k的ram:)

00 写的malloc? 我再找找看。

使用特权

评论回复
6
shkliu|  楼主 | 2007-1-20 20:26 | 只看该作者

还是没有解决,高手请支招阿。

使用特权

评论回复
7
lpc2000| | 2007-1-22 07:46 | 只看该作者

我以前提到过

嵌入系统,malloc要自己写,不要去用现成的。

有的时候,malloc(0)回答1,还有free什么也不回,你怎么知道是不是free了呢?最好的是,写自己的malloc和free,自己定malloc的范围,自己来回挪指针。这样你就不用担心是malloc不对,还是free不对了。

例子的话,网上都有。比如,

#define NULL 0
#define ALLOCSIZE 100

static char allocbuf[ALLOCSIZE];
static char *allocptr = allocbuf;

char *alloc(n)
{
    if ( allocptr + n <= allocbuf + ALLOCSIZE)
    {
      allocptr += n;
      return( allocptr - n );
    }
    else
    {
      return ( NULL );
    }
}

free( p )
{
    if ( p >= allocbuf && p < allocbuf + BUFSIZE )
    {
       allocptr = p;
    }
}

使用特权

评论回复
8
汽车电子| | 2007-1-22 08:59 | 只看该作者

支持7楼

  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

96

帖子

0

粉丝