龙芯开发板软件应用常见问题
本文旨在记录龙芯开发板,上手调试以及软件编译过程中遇到的,属于非常规开发的问题(或特定知识点)及解决方法。这些问题在龙芯和开发文档上没有提及或没有彻底解决,故此记录以便后续查阅。
目录
1.开发板调试FAQ (3)
1.1we can't locate root directory in super block! (3)
1.2Can't assign requested address (3)
1.3Unable to mount root fs on unknown-block (4)
1.4The MEMSIZE is not supported (4)
1.5如何判断PMON、kernel、FS是否成功加载 (5)
1.6内核加载后控制台串口没有输出 (5)
1.7上电后显示器花屏 (6)
2.软件编译FAQ (7)
2.1bin/sh: mipsel-linux-gcc: 未到命令 (7)
2.2bin/sh: pmoncfg: 未到命令 (7)
2.3'make menuconfig' requires the ncurses libraries. (8)
1.开发板调试FAQ
1.1we can't locate root directory in super block!
用U盘加载方式引导开发板内核启动时可能会出现这个问题,原因是龙芯的PMON使用该加载方式时,会对存储器进行检查,要求存储器必须保留一段未分配的存储空间。
在制作内核U盘时,需要格式化U盘为ext2格式,此时可留出约5M的存储空间不要分配,如下图红区域。
再在其它分区放入文件系统和内核即可。
1.2Can't assign requested address
用网口tftp方式加载内核时可能会出现此问题,原因是PMON环境下开发板的网络端口没有配置成功。
flex软件PMON本身有设置网络参数的命令:
setmac eth0 00:82:93:45:61:57
ifaddr eth0 192.168.1.200
set ifconfig eth0:192.168.1.200
但由于一些版本的PMON驱动存在问题,这些设置可能不会起作用。解决办法是在PMON的自动执行命令变量(autocmd)中,设置一条配置网口的命令,如下:
set autocmd 'ifconfig eth0 192.168.1.1 255.255.255.0'
即可自动配置网络参数,然后即可用ping命令测试网口是否配置成功。
1.3Unable to mount root fs on unknown-block
文件系统挂载失败时会出现此问题,原因是内核没有到PMON里设置的文件系统位置。
此时内核会在控制台打印出存储空间分区列表,如下字样:
List of all partitions:
0800        30244864 sda driver: sd
0802        10240000 sda2
0803        19999744 sda3
确认开发板PMON环境变量“append”中,指定的文件系统位置是否正确,即root=指定的位置是否是上面列表里文件系统的位置,如我的FS放在sda2,控制台为串口,则 append 的值应设置如下:
set append 'root=/dev/sda console=ttyS0,115200 rootdelay=5'
1.4The MEMSIZE is not supported
开发板上电后可能会出现该问题,同时板上蜂鸣器会响,问题原因是内存卡大小不匹配。
目前龙芯3A2H开发板不支持4G及以上内存,建议两个芯片的内存插槽都使用
2G的同频(DDR3)内存条。3A的内存插在CON5上,2H的内存插在CON17上,即可解决该问题。
1.5如何判断PMON、kernel、FS是否成功加载
PMON加载时kernel加载前会有一个读秒的倒计时等待时间,此时敲击空格键,即进入PMON的命令行(提示符为PMON>),PMON加载即完成。
kernel加载成功后会有版本提示如:
Linux version 2.6.32-14.11.06.loongson3 (wanghongmei@localhost.localdomain) (gcc version 4.4.0 (GCC) ) #15 SMP Thu Dec 11 09:57:53 CST 2014 FS加载完成后会有Linux的登录界面或login命令行。
1.6内核加载后控制台串口没有输出
在加载内核后可能会出现这个问题,原因是串口插针没有接到控制台串口。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。