韦东山视频第1期 学习计划
来源:互联网 发布:ubuntu界面太小 编辑:程序博客网 时间:2024/04/30 19:59
问题1:当Tiny210开发板到手后,最想干的事情无疑就是把二期讲的驱动在Tiny210上面通通给实现了, 那该怎么操作呢?
答案1:于是就用开发板上面预装的Linux内核和文件系统开始写起了驱动。
问题2:我写了第一个驱动(按键触发中断的驱动),由于该驱动需要注册中断,而注册中断时用到的中断 号已经被开发板预装的内核里面自带的按键驱动给占了,而我又不想设置为共享中断模式,那该 怎么办呢?
答案3:只有通过make menuconfig去掉内核自带的按键驱动,然后重新编译内核的一种办法了。
问题3:当去掉按键驱动这么一个小驱动以后,重新编译驱动时,报了很多错误,联系到了内核其他的很 多驱动程序,我猜测应该是友善的那群家伙在内核里面做了些什么高明的手脚,于是重新编译内 核通不过,该怎么办呢?
答案3:有以下两种解决方法:
方法一:
按照错误提示,找到对应驱动中的对应行,把错误改掉,这样一个一个的改下去。或者再来make menuconfig,把涉及到的错误的驱动给去掉,这样配置一次,编译一次,有错误,再改错误的进行下去,直到能够编译通过。
方法二:
从Linux内核官网http://www.kernel.org/中,重新下载一个内核,一个纯净的内核,再进行配置,编译。
而我就选择了方法二,下载了一个和开发板预装的内核相同版本的Linux内核,linux-2.6.35.7版本。
问题4:重新编译内核成功,接下来的操作无疑就是启动内核了,于是我把新内核通过uboot下载到nand flash中,然后nand启动,发现启动不了内核,怎么办?
答案4:有以下两种解决方法:
方法一:
内核启动不了,问题最有可能的就是机器ID不一样,还有启动参数没有设置正确,因此我们可以到uboot的源码里面去修改机器ID和设置启动参数,一期视频教程里面已经有详细介绍。
方法二:
自己写一个bootloader,将毕业班视频里面的教我们的如何自己写bootloader的绝技用于实战当中。
而我,理所当然的选择了方法二,重在锻炼和考验自己。
问题5:既然选择了自己写bootloader,那么该怎么为Tiny210这么一个全新的开发板写bootloader呢?
答案5:卖个关子,我会在后面的学习日记中做详细的介绍,并给出代码。不仅会介绍如何让bootloader 能够正常启动内核,还会讲如何给bootloader添加printf()功能,如何支持help,nand write,nand read,md,mw,bootm等简单命令的实现,如何让该bootloader显示logo(即一张照片),如何有 启动的声音(即解码一个wav音频文件)。
问题6:bootloader写成功,并能够正常启动内核了,此时心里无比的高兴,也感到颇有成就感,但是新的 问题也随之出现。看内核的启动信息发现:1.新的内核里面没有Tiny210的MTD设备的驱动,即 没有分区,因此无法启动烧写到nand flash中的文件系统;2.新的内核里面没有网卡驱动,因此无 法通过网络文件系统系统启动。既然都没有办法进入文件系统,那写驱动从何谈起呢?该怎么办 呢?
答案6:有以下两种解决方法:
方法一:
自己写一个nand flash驱动程序,并添加MTD分区,然后烧写更文件系统,从而启动。
方法二:
移植DM9000网卡驱动程序,然后NFS启动。
为了以后写驱动程序的方便,首先了方法二。当然,方法一以后也会讲到。
问题7:既然选择移植DM9000网卡驱动程序,那么该怎么操作呢?
答案7:再卖个关子,我会在后面的学习日记中做详细的介绍。不过在看这篇学习日记之前,建议先看看 二期视频的移植网卡部分。
黎明之前总是被黑暗包围,解决掉以上8个问题以后,终于见到了初升的太阳,开发板从无到有的驱动开发环境就此搭建成功,从此可以开始将二期驱动视频在Tiny210开发板上面实现了。
- 韦东山视频第1期 学习计划
- 韦东山Linux视频第1期下载地址 --来源于网络
- 韦东山Linux视频第1期 ARM裸板驱动 学习笔记索引
- 韦东山第二期视频之心得体会
- 韦东山视频第二期之心得体会
- 韦东山Linux视频驱动第2期》学习总结之第17课(USB设备驱动程序)
- 《韦东山视频第二期》——LCD驱动
- 《韦东山视频第二期》——i2c驱动
- 韦东山视频第三期makefile文件分析
- 韦东山第三期视频监控wpa_supplicant编译出错问题
- 韦东山视频 笔记
- 韦东山视频观后感
- 韦东山视频
- 驱动第一天(韦东山视频) 学习笔记
- 韦东山第三期视频数码相框中的电子书项目的ShowOnePage函数解析
- 韦东山第三期视频电子书项目轮询输入实验的相关说明
- 韦东山第三期视频监控mjpg_streamer实验的注意事项--最终能看到结果
- 韦东山第三期视频监控编译华美路由器A100固件问题----已经编译通过
- Supermap iserver client 空间查询关联属性过滤示例
- IOS控制器管理
- (2)JS语法注意事项(变量类型)
- Valid Palindrome
- ZXing二维码
- 韦东山视频第1期 学习计划
- CSS vertical-align的介绍
- 网络流最大流算法参考程序
- C程序修改控制台颜色
- UVa-10487-Closest Sums
- Two Sum[leetcode]
- Linux platform compile execuable makefile
- Android系统截屏功能提取
- 细数Xcode 6 给我们带来的新特性