210学习日记(1)--遇到的问题

问题1:当学习完韦东山的一期,二期视频教程以后,感觉收获特别的多,以前学习过国嵌的教程,向学 校的老师讨教过嵌入式相关的知识......但是,还是韦东山的最为经典,让我真正入了门,也有了 从未有过的收获,心里特别的高兴,但是与此同时,我产生了很多疑问和困扰,我真的学会了吗? 我以后该学习什么呢?该怎么学习呢?

答案1:韦东山给了我一个很好的建议,叫我换一块开发板玩玩。于是我就好不犹豫的买了210(A8)

问题2:当210开发板到手后,最想干的事情无疑就是把二期讲的驱动在210上面通通给实现了, 那该怎么操作呢?

答案2:于是就用开发板上面预装的Linux内核和文件系统开始写起了驱动。

问题3:我写了第一个驱动(按键触发中断的驱动),由于该驱动需要注册中断,而注册中断时用到的中断 号已经被开发板预装的内核里面自带的按键驱动给占了,而我又不想设置为共享中断模式,那该 怎么办呢?

答案3:只有通过make menuconfig去掉内核自带的按键驱动,然后重新编译内核的一种办法了。

问题4:当去掉按键驱动这么一个小驱动以后,重新编译驱动时,报了很多错误,联系到了内核其他的很 多驱动程序,我猜测应该是友善的那群家伙在内核里面做了些什么高明的手脚,于是重新编译内 核通不过,该怎么办呢?

答案4:有以下两种解决方法:

方法一:

按照错误提示,找到对应驱动中的对应行,把错误改掉,这样一个一个的改下去。或者再来make menuconfig,把涉及到的错误的驱动给去掉,这样配置一次,编译一次,有错误,再改错误的进行下去,直到能够编译通过。

方法二:

Linux内核官网http://www.kernel.org/中,重新下载一个内核,一个纯净的内核,再进行配置,编译。

而我就选择了方法二,下载了一个和开发板预装的内核相同版本的Linux内核,linux-2.6.35.7版本。

问题5:重新编译内核成功,接下来的操作无疑就是启动内核了,于是我把新内核通过uboot下载到nand  flash中,然后nand启动,发现启动不了内核,怎么办?

答案5:有以下两种解决方法:

方法一:

内核启动不了,问题最有可能的就是机器ID不一样,还有启动参数没有设置正确,因此我们可以到uboot的源码里面去修改机器ID和设置启动参数,一期视频教程里面已经有详细介绍。

方法二:

自己写一个bootloader,将毕业班视频里面的教我们的如何自己写bootloader的绝技用于实战当中。

而我,理所当然的选择了方法二,重在锻炼和考验自己。

问题6:既然选择了自己写bootloader,那么该怎么为210这么一个全新的开发板写bootloader呢?

答案6:卖个关子,我会在后面的学习日记中做详细的介绍,并给出代码。不仅会介绍如何让bootloader 能够正常启动内核,还会讲如何给bootloader添加printf()功能,如何支持helpnand writenand  readmdmwbootm等简单命令的实现,如何让该bootloader显示logo(即一张照片),如何有 启动的声音(即解码一个wav音频文件)

问题7bootloader写成功,并能够正常启动内核了,此时心里无比的高兴,也感到颇有成就感,但是新的 问题也随之出现。看内核的启动信息发现:1.新的内核里面没有Tiny210MTD设备的驱动,即 没有分区,因此无法启动烧写到nand flash中的文件系统;2.新的内核里面没有网卡驱动,因此无 法通过网络文件系统系统启动。既然都没有办法进入文件系统,那写驱动从何谈起呢?该怎么办 呢?

答案7:有以下两种解决方法:

方法一:

自己写一个nand flash驱动程序,并添加MTD分区,然后烧写更文件系统,从而启动。

方法二:

移植DM9000网卡驱动程序,然后NFS启动。

为了以后写驱动程序的方便,首先了方法二。当然,方法一以后也会讲到。

问题8:既然选择移植DM9000网卡驱动程序,那么该怎么操作呢?

答案8:再卖个关子,我会在后面的学习日记中做详细的介绍。不过在看这篇学习日记之前,建议先看看 二期视频的移植网卡部分。

黎明之前总是被黑暗包围,解决掉以上8个问题以后,终于见到了初升的太阳,开发板从无到有的驱动开发环境就此搭建成功,从此可以开始将二期驱动视频在Tiny210开发板上面实现了。

我会将二期视频里的驱动移植到Tiny210开发板上面,然后上传至韦东山LINUX视频讨论群的群共享里面,供大家参考,同时起个抛砖引玉的作用,希望以后有人能够把Tiny210DMA驱动给补上。

注:

如有问题,请到韦东山LINUX视频讨论群里面,我们一起讨论学习,或者加我QQ317312379

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值