Chinaunix首页 | 论坛 | 博客
  • 博客访问: 81933
  • 博文数量: 21
  • 博客积分: 591
  • 博客等级: 中士
  • 技术积分: 165
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-02 11:40
文章分类
文章存档

2011年(18)

2010年(3)

我的朋友

分类:

2010-11-21 21:33:07

 
1、使用mini2440, 用 SD 卡作根文件系统时,拷贝别人弄好的文件系统后,开机遇到这样的警告: WARNING: Unable to open an initial console ,而且串口终端没有显示控制台。
 
这个主要是没有建立控制台,缺少 /dev/console 和 /dev/null,解决方式:

进入SD卡根目录。输入以下命令:

cd /dev
mknod -m 660 console c 5 1
mknod -m 666 null c 1 3


 
 
2、c语言做实验课时,下面这段程序运行到strcpy(s,l)就出错:编译没错,但有警告,运行时提示内存出错。
 

#include<stdio.h>
#include<string.h>
void main()
{
  char *s;
  char *l="abc" ;
  strcpy(s,l);
  puts(s);
}

后来才发现,又犯了低级错误:还没申请内存空间,改成如下:

#include<stdio.h>
#include<string.h>
void main()
{
  char *s=(char *)malloc(20*sizeof(char));  

                              //C++可以改成:char *s = new char[20]

  char *l="abc" ;
  strcpy(s,l);
  puts(s);
}


申请内存空间时,如果改成如下,显示结果也对,但实际上是用了还没申请的内存空间:

#include<stdio.h>
#include<string.h>
void main()
{
  char *s=(char *)malloc(sizeof(char));    
  char *l="abc" ;
  strcpy(s,l);
  puts(s);
}

 

3、u-boot 2009.08版本 移植问题

编译u-boot,出现如下警告:

arm-linux-objcopy -O srec hello_world hello_world.srec 2>/dev/null

make[1]: *** [hello_world.srec] 错误 127

make[1]: Leaving directory `/root/桌面/临时文件夹/u-boot-2009.08/examples/standalone'

make: *** [examples/standalone] 错误 2

 

可能是不同版本的gcc,编译结果不一样,无法产生hello_world.srec文件,解决办法:

修改examples/standalone目录下的Makefile:

 

SREC= hello_world.srec
BIN= hello_world.bin


改为

SREC= hello_world.o
BIN= hello_world.o


或者更换GCC版本


4修改U-boot路径后(例如把u-boot发给其他电脑),会出现类似的错误:
错误提示:***没有规则可以创建“mkimage.o”需要的目标“/……/include/image.h”

make unconfig
make clean
make clobber (important, 它将删除 原来生成的旧tools,参考makefile)

make XXXXXX_config  (修改成自己的开发板)
make
阅读(984) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:C++的cin/cout高阶格式化操作

给主人留下些什么吧!~~