打印
[嵌入式linux]

DevKit8000学习板,吐血经历回放

[复制链接]
7083|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ADaiPlay|  楼主 | 2011-10-29 19:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ADaiPlay 于 2013-9-4 09:00 编辑

刚到手的DevKit8000板子,4.3寸屏。由于打算入手Linux,所以就将这些万恶的悲剧罗列在此了,比阿呆NB的过来看个笑话,跟阿呆走来的,别再让别人看笑话了。

下面的文字记述了阿呆的学习经历,真正从0开始吧。可能现在的大悟是错误的,在学习中如果发现之前的错误,阿呆会回来修正的,当然,也望各位大神指正错误,给阿呆类小学生一点继续学习的鼓励

刚入手开发板,很是坎坷呢。先说一下背景,板子预装的是linux,SD卡WINCE,在linux下做完板子整体测试后,就想着在WINCE下再做一下测试,但是,但是用SD卡无法引导系统
SD卡无法引导系统,客服说更新一下文件,然后自己就照做了,然后就是依然没有启动的迹象。
由于主要是晚上弄,客服不上班,就自己先琢磨吧。按照附录2格式化SD卡(还不晓得格式化为双分区的作用,照做吧先)
回过头来copy一下映像,尝试,没响应,在尝试。就感觉自己是在毛彩票而不是搞板子。终于偶尔一次成功了(关于为什么会成功后面作出解释)。然后按照手册更改WINCE映像到flash。然后终于看到WINCE的启动输出信息了,那个兴奋啊。可是,还没有高兴几分钟,就郁闷了系统停止在触摸屏校准界面,但是触摸屏无响应。我勒个去。瞅着板子发呆10分钟。然后再次厚脸皮联系客服。当然,谈话过程是很曲折的,这个过程呢,您可以自己体会一下。悲剧的我忽然想到会不会是因为片子没有提前擦出的原因啊。于是乎在eboot下擦除之。令我没有想到的是,SD卡再次**。此处省略1千字。最终发现,SD卡不容易正确引导系统的原因是如果更改引导文件,则之前最好先用HPUSBFW格式化一下(阿呆认为必须,以免麻烦),另外对于单系统引导,只用HPUSBFW好像就足够了,目前我用这种方法至少可以成功引导Timll公司给的映像。至于双分区的使用,后面慢慢研究了。到现在,SD卡引导问题已经解决。
下面就是关于wince的映像烧写问题了,这个问题出现的原因就在于erase了,通常更换flash理的映像需要提前erase一下,尤其是老映像是linux的,更改成wince,这好像很有必要。但是在进入eboot后,erase后,需要格式化flash的,但是不能erase后直接在eboot下格式化,不相信你试试。你真的那样做了,会温柔的提示你一个error的。所以正确的顺序是:从SD卡启动eboot,然后erase一下,重启,eboot自动格式化flash,然后在按照手册的过程,烧写XLDR,EBOOT,NK映像。并修改启动顺序,保存设置。享受快乐成果。

后继,Timll提供的WINCE映像,启动到触摸屏校准界面时候停止,然后触摸屏无响应,这个问题还在纠结中。。。有答案了再补上。

(发现阿呆的帖子被转载了,的确挺高兴的,说明阿呆的付出得到了朋友的认可,但是转载时候未注明出处,则不太好呀,至少给个到21ic此贴的链接吧:lol)
另外,发下广告:
阿呆游乐园:
http://blog.csdn.net/adaiplay
http://www.**.com/adaiplay/blog/

相关帖子

沙发
ADaiPlay|  楼主 | 2011-10-29 21:20 | 只看该作者
目前新手学习图形界面的话,什么比较合适啊?不想学andriod。传说QtE已经没有新版本了,它的寿命还会有多长啊?
天漠公司给了一个angstrom,但是不了解这是什么东东,是图形界面吗?

总不能把ucGUI放linux上吧

求解

使用特权

评论回复
板凳
ADaiPlay|  楼主 | 2011-10-30 19:37 | 只看该作者
Timll提供的资料光盘里的u-boot源代码按照手册编译后是不能成功引导SD卡得代码的,手册提供了x-load,u-boot,uImage,和rootfs的编译方法,当然是在所给的源码不做任何更改的基础上。但是只将这些编译好的文件放到SD卡上无法启动linux的,手册中没有提及flash-uboot和ramdisk的制作方法,由于是新手,所以这些文件的使用及编写都不清楚,写在这里想告诉和我一样的人,如果按照手册编译,是得不到官方提供的映像文件达到的效果的。如果用自己编译的文件+fksah-uboot和ramdisk也是不能成功引导的,但是如果u-boot也用官方的,可以成功引导。那问题就在于这了:用官方提供的源代码不能直接编译出官方提供的映像文件:u-boot.bin,或者说,一些参数是不符合SD卡启动条件的

使用特权

评论回复
地板
ADaiPlay|  楼主 | 2011-11-1 10:20 | 只看该作者
如果过于相信官方手册,崩溃是你必然的结局。
SD卡更新linux文件到nand时,更新后,boot无法读取内核,ecc错误。我勒个去,以为自己敲错命令了,重新来了几次,结果是同样的悲剧。

发现 nand ecc 有hw sw之分(还不清楚原理)
将内核ecc更改为hw
,boot一下,成功引导。各位玩家可以试试

使用特权

评论回复
5
ADaiPlay|  楼主 | 2011-11-1 10:47 | 只看该作者
WINCE触摸屏无响应的问题解决了,原因令阿呆很崩溃,响应有延时,需要多按一会才会有反应。原来还可以这样子。。。

使用特权

评论回复
6
ADaiPlay|  楼主 | 2011-11-3 20:30 | 只看该作者
本帖最后由 ADaiPlay 于 2011-11-4 12:47 编辑

debian 5 sudo 无法使用,提示当前用户不在sudoersfiles,这个网上好像能找到,visudo 打开/etc/sudoers文件,然后在
# User privilege specification
root    ALL=(ALL) ALL
后面添上自己的用户名加后面的参数例如
adai ALL=(ALL) ALL
然后将# %sudo ALL=NOPASSWD: ALL 的#号去掉,就可以直接使用sudo命令了,且不必每次使用时键入密码


fedora下面添加用户组好像就简单些了,用root权限,visudo打开sudoers文件,文件里面有个wheels组,但是被注释掉了,直接删除#号,然后将不使用密码的那句也删掉#号。打开/etc/group文件,找到wheel:x:10:root添加自己的用户名,例如:wheel:x:10:root,adai.
返回到用户控制台,sudo command 测试一下

使用特权

评论回复
7
ADaiPlay|  楼主 | 2011-11-3 21:17 | 只看该作者
debian5默认安装的是vim-tiny,不支持语法高亮。百度了一下vim的安装方法,按照步骤装了一个7.3,然后找配置文件.bashrc找了半小时,后来发现,原来自己目录下没有这个文件,自己件一个新的,添充一些初始化内容,还可以。但是现在vim无法输入中文,输入后就是乱码,郁闷呢

使用特权

评论回复
8
ADaiPlay|  楼主 | 2011-11-12 22:46 | 只看该作者
天漠给的u-boot源码可以自动从SD卡拷贝文件到nandflash,前提是各个bin文件或image都以要求的名字存放在SD卡中,然后手动设置一下uboot环境变量就可以了。不过呢,我试了一下,由于内核映像,nand ecc hw 的问题,uboot提示找不到内核,将内核重新烧写一次就可以了。(flash-uboot天漠没有提供编译方法,现在也不会修改,就直接用了他给的image里面的了)

使用特权

评论回复
9
dong_abc| | 2011-11-16 20:26 | 只看该作者
just one last dance !

使用特权

评论回复
10
ADaiPlay|  楼主 | 2011-11-17 18:18 | 只看该作者
这是歌曲名字吧,什么意思啊?

阿呆开此帖的时候才开始借第一本linux书,多以基础知识很差,目前把天漠给的资料跑完以后,想在自己移植下QT,这样,有内核有工具,有界面,就可以完成基本的学习开发任务了,但是,阿呆太乐观了,基础知识的薄弱严重影响开发环境的搭建,所以这一阵子一直在补充知识,没有在这里写新东西,而是努力编织linux基础知识网,相信One Day,Just Play!的那一天一定会到来。

PS:按照网上的资源,配置QT4.3.3,总也通过不了,提示语法错误,无法生成MakeFlie文件,在考虑,是不是在编译tslib和qt4.3.3之前有一部分支持性工具没有贴出来啊,郁闷ing 9# dong_abc

使用特权

评论回复
11
ADaiPlay|  楼主 | 2011-11-22 09:25 | 只看该作者
本帖最后由 ADaiPlay 于 2011-11-22 12:32 编辑

新开始学习,很多东西进行的都很不爽,将近半个月才将qt4.7移植到开发板上,但欣慰的是终于还是移植成功了
跟随潮流,写一下移植笔记,由于篇幅比较长,就写在博客里面了,欢迎参考: ADaiPlay.21ic.org
上张图片:

使用特权

评论回复
12
ADaiPlay|  楼主 | 2011-12-14 19:08 | 只看该作者
本帖最后由 ADaiPlay 于 2011-12-14 19:09 编辑

当阿呆满天下的找板子上的音频驱动,未果情况下向Timll索要其测试代码时,人家告诉俺:
    我们使用的是ALSA音频库,对于它的相关资料,请您到它的官方主页进行下载,
    不过在下载前,您需要确认目标板所使用的ALSA软体版本,浏览方法:
    进入文件系统,输入cat /proc/asound/version
    确认版本后,请到 http://www.alsa-project.org/main/index.php/Main_Page 下载 alsa-utils-xxx,里面有aplay,arecord等源代码提供参考。

额滴神啊,没文化真可怕

使用特权

评论回复
13
ADaiPlay|  楼主 | 2011-12-16 17:57 | 只看该作者
咪咕音乐播放器for Linux安装后可以打开但是无法播放音乐的原因可能是没有安装相应的mp3解码器,在这个方向上找找解决方法应该能弄好。阿呆是播放avi视频时提示没有相应的解码器,然后升级后,咪咕也可以用了,估计是把解码器也安装上了。哈哈,一举两得

使用特权

评论回复
14
bornjiang| | 2011-12-22 12:07 | 只看该作者
选板不慎啊,这块板子显然不是很合适你,要是能多试几块板子,一定会找到合适的,会大大提高学习效率。
我一直在为初学者解决这个问题,只可惜这次没有帮到你,希望看到我回帖的初学者引起重视。可加入我的QQ群:203329463。
Http://shop69738050.taobao.com

使用特权

评论回复
15
ADaiPlay|  楼主 | 2011-12-24 12:38 | 只看该作者
呵呵,是有点。2440都米学好,linux也什么都不会就直接上A8了,有点急躁。但是这不是问题,问题是自己知识积累不够,我想等我摸索出来了,3530的春天也来了,正合适嘛 14# bornjiang

使用特权

评论回复
16
ADaiPlay|  楼主 | 2012-1-5 16:49 | 只看该作者
把alsa基本搞明白了,至少可以说编写简单音频录放是可以了。
timll已经将alsa移植好了,但是如果自己想编写程序,还需要生成自己的库文件。
阿呆这里是把音频库放在qt中调用的,于是乎就编译了pc上的alsa库,放到qtforpc/lib目录下,和arm版本的alsa库,放到qtforarm/lib目录下。并完成alsa的发布。
过程如下:
ALSA-LIB-1.0.23移植
第一步:准备文件
        将源文件夹下的alsa-lib-1.0.23.tar.bz2,alsa-utils-1.0.23.tar.bz2到/tmp
第二步:pc上编译安装alsa-lib-1.0.23
        1.打开终端,进入/tmp目录
        2.解压并进入alsa-lib-1.0.23
                # tar xvf alsa-lib-1.0.23.tar.bz2
                # cd alsa-lib-1.0.23
        3.使用默认参数进行配置
                # ./configure
        4.编译并安装
                # make && make install
第三步:为目标板编译安装 alsa-lib-1.0.23
        1.打开终端,进入/tmp目录
        2.解压并进入alsa-lib-1.0.23
                # tar xvf alsa-lib-1.0.23.tar.bz2
                # cd alsa-lib-1.0.23
        3.配置
                ./configure --host=arm-none-linux-gnueabi --prefix=$HOME/talon/work/alsafortarget/alsalib
        4.编译并安装
                # make && make install       
第四步:为目标板编译安装alsa-utils-1.0.23
        1.打开终端,进入/tmp目录
        2.解压并进入alsa-utils-1.0.23
                # tar xvf alsa-utils-1.0.23.tar.bz2
                # cd alsa-utils-1.0.23
        3.配置
                ./configure --host=arm-none-linux-gnueabi --prefix=$HOME/talon/work/alsafortarget/alsautils --with-alsa-inc-prefix=$HOME/talon/work/alsafortarget/alsalib/include --with-alsa-prefix/$HOME/talon/work/alsafortarget/lib
        4.编译并安装
                # make && make install       
第五步:发布到开发板
        1.由于开发板上已经移植了该库,所以我们先把原来的文件覆盖即可(最好先删掉以前的同名文件)。
        2.拷贝alsalib安装目录下lib文件夹内所有文件到开发板/usr/lib目录下
        3.拷贝alsalib安装目录下share/alsa文件夹下的所有文件到开发板/usr/share目录下
        4.拷贝alsautils安装目录下bin文件夹下的aplay和arecord到开发板/usr/bin目录下
第六步:测试
        1.在板子终端下输入下面命令,开始录音:
                # arecord -t wav -f dat myrecord.wav
                        对着麦克风说话,ctrl+C停止
        2.播放刚才的录音:
                # aplay myrecord.wav
        听到刚才说的话了吗?
注:如果提示找不到alsa.conf的目录,可以自己建立该目录,并将/alsautils/share/alsa文件夹复制过去

这样,在pc上可以编写测试音频程序了,通过后,用forarm的库再编译一遍就可以去板子上试试了。

使用特权

评论回复
17
ADaiPlay|  楼主 | 2012-1-5 16:52 | 只看该作者
另外附一些相关资料

阿呆收集.rar (626.54 KB)

使用特权

评论回复
18
ADaiPlay|  楼主 | 2012-1-18 14:18 | 只看该作者
上点题外话,阿呆装的是xp,然后装的wubi-linux,昨天晚上心情挺高兴,装了个win7爽爽,结果,以前在系统启动时的系统选择界面木有了,直接进入win7了,阿呆倒吸一口凉气啊,进不去linux可就悲剧了。赶紧问百度,折腾了一上午,原来还是挺容易的:
1.由于阿呆安装的是goust版的win7,所以除了C盘并没有影响其他分区的资料,阿呆的wubilinux安装在F盘;
2.将linux盘下面的winboot文件夹中的wubildr和wubildr.mbr复制到C盘根目录;
3.打开命令提示符程序(cmd.exe),输入
bcdedit /create /d "Ubuntu 10.04" /application bootsector
这里什么都不要改,就是取得BCD 里的标识符指向位置。
显示如下:项 {dbff544b-a7c4-11dd-a51d-00155803ebb4} 成功创建。
4.再输入
bcdedit /set {42402ef3-3033-11df-96fc-c8c21f807350} device partition=C:
显示如下:操作成功完成
5.输入
bcdedit /set {42402ef3-3033-11df-96fc-c8c21f807350} path \wubildr.mbr
这就是指定启动文件和路径。
显示如下:操作成功完成
6.再输入:
bcdedit /displayorder {42402ef3-3033-11df-96fc-c8c21f807350} /addlast
将此启动项放到启动菜单的最后。
显示如下:操作成功完成

阿呆认为这种方法也适用于将wubilinux放到硬盘的情况,但是可能还需要更改一些引导linux时启动文件的信息,具体的问题等需要的时候在探讨吧

使用特权

评论回复
19
leasor| | 2012-2-3 21:26 | 只看该作者
看见楼主, 让我想起了2410, 同病相怜, 呵呵

使用特权

评论回复
20
ADaiPlay|  楼主 | 2012-2-10 14:49 | 只看该作者
哈哈,资料奇缺,自己又知识有限,造成了这种困局。只能慢慢来了 19# leasor

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:老实做人,塌心做事——为理想挥汗 网站:www.edreamtek.com 文章:http://blog.csdn.net/adaiplay

23

主题

626

帖子

6

粉丝