主题 : 友善tiny6410二次开发所遇到的问题 复制链接 | 浏览器收藏 | 打印
Linux开发者
级别: 侠客
UID: 16063
精华: 0
发帖: 77
金钱: 400 两
威望: 80 点
综合积分: 154 分
注册时间: 2010-03-13
最后登录: 2023-02-17
楼主  发表于: 2013-06-20 14:13

 友善tiny6410二次开发所遇到的问题


友善之臂的工程师:
       友善之臂的工程师您们好。我这里是上海合时智能科技有限公司,主要是生产各种机器人的公司。我们现在有个项目是做“陪伴机器人”,产品主要是面向老人与小孩而设计的。硬件平台采用了友善生产的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系统正常启动起来。谢谢!!
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2013-06-20 14:20
烧写时在启动参数中设置skipcali=yes,意思是跳过校准,就不会使用触摸了
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
Linux开发者
级别: 侠客
UID: 16063
精华: 0
发帖: 77
金钱: 400 两
威望: 80 点
综合积分: 154 分
注册时间: 2010-03-13
最后登录: 2023-02-17
2楼  发表于: 2013-06-20 14:50
谢谢友善的工程师,按照版主提供的信息,移出了上面的驱动后,android系统已经可以启动起来了。系统启动后,发现在终端会周期打印一下信息:
request_suspend_state: wakeup (0->0) at 167617810016 (2000-01-04 03:32:14.708226376 UTC)
init: untracked pid 1237 exited
init: untracked pid 1238 exited
不知道是怎么回事。好像是init里面的什么进程退出了
Linux开发者
级别: 侠客
UID: 16063
精华: 0
发帖: 77
金钱: 400 两
威望: 80 点
综合积分: 154 分
注册时间: 2010-03-13
最后登录: 2023-02-17
3楼  发表于: 2013-06-20 14:52
不光是上面的两个进程。后来我发现还有不少进程都退出了。
/ # request_suspend_state: wakeup (0->0) at 122363251520 (2000-01-04 03:31:29.453668046 UTC)
init: untracked pid 1169 exited
init: untracked pid 1168 exited
request_suspend_state: wakeup (0->0) at 137472266874 (2000-01-04 03:31:44.562683234 UTC)
init: untracked pid 1191 exited
init: untracked pid 1192 exited
request_suspend_state: wakeup (0->0) at 152530898964 (2000-01-04 03:31:59.621315459 UTC)
init: untracked pid 1214 exited
init: untracked pid 1215 exited
request_suspend_state: wakeup (0->0) at 167617810016 (2000-01-04 03:32:14.708226376 UTC)
init: untracked pid 1237 exited
init: untracked pid 1238 exited
request_suspend_state: wakeup (0->0) at 182625434964 (2000-01-04 03:32:29.715850993 UTC)
init: untracked pid 1260 exited
init: untracked pid 1261 exited
request_suspend_state: wakeup (0->0) at 197525384227 (2000-01-04 03:32:44.615800812 UTC)
init: untracked pid 1284 exited
init: untracked pid 1283 exited
request_suspend_state: wakeup (0->0) at 212633289986 (2000-01-04 03:32:59.723706316 UTC)
init: untracked pid 1307 exited
init: untracked pid 1306 exited
request_suspend_state: wakeup (0->0) at 227475315866 (2000-01-04 03:33:14.565732135 UTC)
init: untracked pid 1330 exited
init: untracked pid 1329 exited
request_suspend_state: wakeup (0->0) at 242947027370 (2000-01-04 03:33:30.037443384 UTC)
init: untracked pid 1352 exited
init: untracked pid 1353 exited
request_suspend_state: wakeup (0->0) at 257982974843 (2000-01-04 03:33:45.073391083 UTC)
init: untracked pid 1376 exited
init: untracked pid 1375 exited
request_suspend_state: wakeup (0->0) at 272973044482 (2000-01-04 03:34:00.063460587 UTC)
init: untracked pid 1399 exited
init: untracked pid 1398 exited
request_suspend_state: wakeup (0->0) at 288231805189 (2000-01-04 03:34:15.322221609 UTC)
init: untracked pid 1421 exited
init: untracked pid 1422 exited
request_suspend_state: wakeup (0->0) at 303762481430 (2000-01-04 03:34:30.852898075 UTC)
init: untracked pid 1444 exited
init: untracked pid 1445 exited
request_suspend_state: wakeup (0->0) at 318653829971 (2000-01-04 03:34:45.744246286 UTC)
init: untracked pid 1468 exited
init: untracked pid 1467 exited
request_suspend_state: wakeup (0->0) at 333731755445 (2000-01-04 03:35:00.822171865 UTC)
init: untracked pid 1490 exited
init: untracked pid 1491 exited
版主,这种情况对整个android系统的运行有没有影响?
谢谢版主再给我解答一下。