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
#include
void main()
{
char *s;
char *l="abc" ;
strcpy(s,l);
puts(s);
}
后来才发现,又犯了低级错误:还没申请内存空间,改成如下:
#include
#include
void main()
{
char *s=(char *)malloc(20*sizeof(char));
//C++可以改成:char*s = new char[20]
char *l="abc" ;
strcpy(s,l);
puts(s);
}
申请内存空间时,如果改成如下,显示结果也对,但实际上是用了还没申请的内存空间:
#include
#include
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