想请问下,8168的板子在linux启动过程中,如下错误大概是什么原因?
Freeing init memory: 204K
INIT: version 2.86 booting
Error opening /dev/fb0: No such file or directory
Please wait: booting…
Starting udev
udevd (68): /proc/68/oom_adj is deprecated, please use /proc/68/oom_score_adj instead.
Root filesystem already rw, not remounting
Caching udev devnodes
。。。
PRCM Initialization completedSysLink version : 2.10.03.20
SysLink module created on Date:Apr 29 2012 Time:20:45:11
FIRMWARE: I2cInit will be done by M3
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments===<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3<Location of Firmware> firmware binary file<start|stop> to start/stop the firmware===Optional arguments===-mmap input memory map bin file name-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3FIRMWARE: isI2cInitRequiredOnM3: 1
FIRMWARE: Default memory configuration is used
MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1
FIRMWARE: Memory Configuration status : In Progress
FIRMWARE: 1 start Successful
Loading HDVPSS Firmware
FIRMWARE: I2cInit will be done by M3
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments===<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3<Location of Firmware> firmware binary file<start|stop> to start/stop the firmware===Optional arguments===-mmap input memory map bin file name-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3FIRMWARE: isI2cInitRequiredOnM3: 1
FIRMWARE: Default memory configuration is used
MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1
FIRMWARE: Memory Configuration status : In Progress
FIRMWARE: 2 start Successful
HDMI W1 rev 2.0
I2C No Ack
Starting system message bus: dbus.
Starting telnet daemon.
Starting syslogd/klogd: done
Starting thttpd.
Starting PVR
Starting SGX fixup for ES6.x
Starting Matrix GUI application.
_____ _____ _ _| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_| | _| .'| . | . | | __| _| . | | | -_| _| _|
|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_| |___| |___|
Arago Project http://arago-project.org dm816x-evm ttyO2
Arago 2011.09 dm816x-evm ttyO2
dm816x-evm login: root
VPSS_FVID2: contrl event 0x10040018 timeout
VPSS_DCTRL: failed to get node input status
VPSS_GRPX : failed to set grpx0 nodes
ti81xxfb ti81xxfb: fvid2 create failed.
root@dm816x-evm:~#
Robin Edson:
你这个不是 opening /dev/fb0的问题,根本原因在于FVID2句柄调用失败。
yun zhou:
那想再请教一下,FVID2失败可能是什么原因呢?谢谢
Robin Edson:
仔细看你的syslog:
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
有这么个提示,可能是你的firmware没加载吧。
yun zhou:
想再请教下老师,firmware没加载又可能是什么原因引起的呢?现在这个问题很头疼了,麻烦老师指教下。
Haijun Guo:
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments===
<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3
<Location of Firmware> firmware binary file
<start|stop> to start/stop the firmware
看上去像是firmware_loader用法错误,请确认一下版本匹配问题,是否使用了新的SDK/RDK 而firmware_loader没有相应更新?
yun zhou:
老师,我想再继续请教下,我们做的板子是照着8168的demo版做的,然后用的是ezsdk_dm816x-evm_5_04_00_11_setuplinux这个SDK,然后照着里面的命令做了一个SD卡的启动环境,然后从uboot启动SD里面的linux,然后根文件系统用的是NFS方式,也是EZSDK里面的ezsdk-dm816x-evm-rootfs,结果就出这个问题,我找了下根文件系统里面有个shell脚本,是load-hd-firmware.sh,内容是:
PATH=$PATH:/usr/share/ti/ti-media-controller-utils
HDVICP2_ID=1
HDVPSS_ID=2
case "$1" in
start)
echo "Loading HDVICP2 Firmware"
prcm_config_app s
modprobe syslink
until [[ -e /dev/syslinkipc_ProcMgr && -e /dev/syslinkipc_ClientNotifyMgr ]]
do
sleep 0.5
done
firmware_loader $HDVICP2_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvicp.xem3 start
echo "Loading HDVPSS Firmware"
firmware_loader $HDVPSS_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvpss.xem3 start
modprobe vpss sbufaddr=0xBFB00000 mode=hdmi:1080p-60,dvo2:1080p-60,hdcomp:1080p-60 i2c_mode=1
modprobe ti81xxfb vram=0:24M,1:16M,2:6M
fbset -depth 32 -rgba 8/16,8/8,8/0,0/0
modprobe ti81xxhdmi
;;
stop)
echo "Unloading HDVICP2 Firmware"
firmware_loader $HDVICP2_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvicp.xem3 stop
echo "Unloading HDVPSS Firmware"
rmmod ti81xxfb
rmmod ti81xxhdmi
rmmod vpss
firmware_loader $HDVPSS_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvpss.xem3 stop
rmmod syslink
;;
*)
echo "Usage: /etc/init.d/load-hd-firmware.sh {start|stop}"
exit 1
;;
esac
exit 0
我uboot的启动参数是:
setenv bootcmd 'dhcp;run addip; mmc rescan 0;fatload mmc 0 0x81000000 uImage;bootm 0x81000000'
setenv hostname ti8168
setenv addip 'setenv bootargs ${bootargs} ip=${ipaddr}:${nfsserver}:${gatewayip}:${netmask}:${hostname}:eth0:off'
setenv autoload no
setenv nfsserver 192.168.1.101
setenv bootargs 'console=ttyO2,115200n8 notifyk.vpssm3_sva=0xBF900000 root=/dev/nfs nfsroot=192.168.1.101:/home/zhouyun/ezsdk/filesystem/rootfs,nolock rw mem=128M'
boot
我想我既然照着demo版做的硬件,SDK也是用的官方提供的没有任何修改,为什么会出现现在的问题呢,还是我哪里参数没设置正确,希望老师解答一下,谢谢。
yun zhou:
我发现EZSDK根文件系统带的load-hd-firmware.sh启动脚本里面是firmware_loader $HDVICP2_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvicp.xem3 start,没有-mmap参数,但我看 firmware_loader的源码里面确实检查了是否有-mmap参数,所以这里就加载失败了,那我想问下怎么获得其他版本的 firmware_loader呢??或者说如果要加-mmap参数,这个-mmap参数应该怎么配置就可以工作了???谢谢
Ling Chen:
您好,我8168的板子在启动的时候也出现了这个错误:Error opening /dev/fb0: No such file or directory。不知道您后来是怎么解决这个错误的?
Louis:
回复 Ling Chen:
你好,
可能是某些驱动没有加载成功,可以参考下面的帖子:http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/138195.aspx