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
阅读(993) | 评论(0) | 转发(0) |