
友善之臂的工程师:
友善之臂的工程师您们好。我这里是上海合时智能科技有限公司,主要是生产各种机器人的公司。我们现在有个项目是做“陪伴机器人”,产品主要是面向老人与小孩而设计的。硬件平台采用了友善生产的tiny6410核心板,系统为安卓系统,前期购买了一块开发板用作测试和评估使用。
我们后期制作的产品将不配备LCD显示屏。我们目前使用的Linux系统是友善建议的Fedora 14。所有的安卓开发环境已经配置完毕,经过测试一切正常。按照我们自己的要求在内核中逐步去除友善的一些驱动文件,添加了自己的一些驱动。在测试过程中发现几个问题如下:
第一个问题:
1、去除了友善的安卓系统环境下的按键驱动,内核配置中项为/drivers/input devices support/Keyboares/Gpio Button.安卓版本内核重新编译后下载到开发板中进行烧写运行。出现的现象如下:
注:系统启动时的信息:
one_wire_status: 4 1Wire touchscreen OK TouchDevice: (null) ts_open: No such device Kernel panic - not syncing: Attempted to kill init! [<c016a9a4>] (unwind_backtrace+0x0/0xe4) from [<c0509640>] (panic+0x68/0x194) [<c0509640>] (panic+0x68/0x194) from [<c01828f4>] (do_exit+0x68/0x664) [<c01828f4>] (do_exit+0x68/0x664) from [<c018321c>] (do_group_exit+0xb0/0xe4) [<c018321c>] (do_group_exit+0xb0/0xe4) from [<c0183260>] (sys_exit_group+0x10/0x18) [<c0183260>] (sys_exit_group+0x10/0x18) from [<c0165e60>] (ret_fast_syscall+0x0/0x30) one_wire_status: 2 Rebooting in 5 seconds..
第二个问题:
1:去除了友善安卓系统环境下内核的LCD驱动(保留按键驱动)。在内核config文件中说LCD驱动依赖与触摸屏,因此同时把触摸屏驱动也一并移出。编译内核并下载到开发板中烧写运行。出现的现象如下:
drivers/built-in.o: In function `s3c_fimc_probe': /opt/FriendlyARM/mini6410/Android-kernel/release/linux-2.6.36-android/drivers/media/video/samsung/fimc/s3c_fimc_core.c:538: undefined reference to `s3cfb_enable_local' /opt/FriendlyARM/mini6410/Android-kernel/release/linux-2.6.36-android/drivers/media/video/samsung/fimc/s3c_fimc_core.c:538: undefined reference to `s3cfb_enable_dma' drivers/built-in.o: In function `s3c_lcd_stop': /opt/FriendlyARM/mini6410/Android-kernel/release/linux-2.6.36-android/drivers/media/video/samsung/tv/s3c-tvenc.c:536: undefined reference to `s3cfb_stop_lcd' drivers/built-in.o: In function `s3c_lcd_set_output_path': /opt/FriendlyARM/mini6410/Android-kernel/release/linux-2.6.36-android/drivers/media/video/samsung/tv/s3c-tvenc.c:500: undefined reference to `s3cfb_set_output_path' drivers/built-in.o: In function `s3c_lcd_set_clkval': /opt/FriendlyARM/mini6410/Android-kernel/release/linux-2.6.36-android/drivers/media/video/samsung/tv/s3c-tvenc.c:509: undefined reference to `s3cfb_set_clock' drivers/built-in.o: In function `s3c_lcd_enable_rgbport': /opt/FriendlyARM/mini6410/Android-kernel/release/linux-2.6.36-android/drivers/media/video/samsung/tv/s3c-tvenc.c:518: undefined reference to `s3cfb_enable_rgbport' drivers/built-in.o: In function `s3c_lcd_start': /opt/FriendlyARM/mini6410/Android-kernel/release/linux-2.6.36-android/drivers/media/video/samsung/tv/s3c-tvenc.c:527: undefined reference to `s3cfb_start_lcd' drivers/built-in.o: In function `s3c_lcd_stop': /opt/FriendlyARM/mini6410/Android-kernel/release/linux-2.6.36-android/drivers/media/video/samsung/tv/s3c-tvenc.c:536: undefined reference to `s3cfb_stop_lcd' drivers/built-in.o: In function `s3c_lcd_start': /opt/FriendlyARM/mini6410/Android-kernel/release/linux-2.6.36-android/drivers/media/video/samsung/tv/s3c-tvenc.c:527: undefined reference to `s3cfb_start_lcd' make: *** [.tmp_vmlinux1] 错误 1
根据错误信息。又继续移除了内核/device drivers/Graphics support下面有关Lowlevel video output switch controls选项,重新编译成功。终端显示信息如下:
注:系统启动时的信息
Freeing init memory: 1388K UBIFS: mounted UBI device 0, volume 0, name "FriendlyARM-root" UBIFS: file system size: 2065416192 bytes (2017008 KiB, 1969 MiB, 2001 LEBs) UBIFS: journal size: 12517376 bytes (12224 KiB, 11 MiB, 13 LEBs) UBIFS: media format: w4/r0 (latest is w4/r0) UBIFS: default compressor: lzo UBIFS: reserved for root: 0 bytes (0 KiB) TouchDevice: (null) ts_open: No such device Kernel panic - not syncing: Attempted to kill init! [<c01689a4>] (unwind_backtrace+0x0/0xe4) from [<c049e160>] (panic+0x68/0x194) [<c049e160>] (panic+0x68/0x194) from [<c01805f8>] (do_exit+0x68/0x664) [<c01805f8>] (do_exit+0x68/0x664) from [<c0180f20>] (do_group_exit+0xb0/0xe4) [<c0180f20>] (do_group_exit+0xb0/0xe4) from [<c0180f64>] (sys_exit_group+0x10/0x18) [<c0180f64>] (sys_exit_group+0x10/0x18) from [<c0163e60>] (ret_fast_syscall+0x0/0x30) Rebooting in 5 seconds.
种种错误表明。无论除去按键驱动也好,还是LCD触摸屏驱动也好。系统启动时候最后结果都是提示“TouchDevice: (null)” 和 “ts_open: No such device” 和 “Kernel panic - not syncing: Attempted to kill init!”
目前我们遇到了这两个问题,想请教友善的工程师们能否帮我们解决一下。就是友善提供的一些对我们来说不需要的驱动,从内核移出后,可以让android系统正常启动起来。谢谢!!