基于dm2410开发板的linux移植工作继续(2)
我现在用的工具链是这样的
HOST:Ubuntu 12.04,系统默认自带的gcc版本是4.6.3,经过强烈的折腾,发现跟较老版本的工具链配合不良好,于是采用友善之臂mini2440的整套工具,
mini2440的gcc4.4.3版本既可以编译内核又可以编译busybox,用起来很方便。
target: Linux-2.6.32.2
文件系统:busybox-1.13.3
用串口烧写内核和文件系统很慢很慢,于是开始看bootloader的东西,先看了下vivi,可是原版的vivi也是只能用串口的,而且官方已经没有更新了,而mini2440的supervivi功能虽然全,但是不支持我的dm2410开发板,而且是不开源的。
所以,还是用uboot了,uboot是开源的。
我用的是ouravr论坛上的这个帖子上的版本, http://www.amobbs.com/thread-3228953-1-1.html ,暂时直接拿来用了,虽然暂时不支持我的cs8900网卡,但是USB下载,DNW工具可以用,这样子,烧写就快多了。
下载内核和文件系统之前要对nandflash进行分区,内核和uboot里面的env两边都要修改,大小要内容得下内核。
文件系统下到flash中间运行,速度要快很多了。网络也很好用了,不知道为什么,用nfs文件系统的时候,网络丢包很厉害,而现在就没什么丢包,不知道是网卡驱动有问题呢,还是我之前弄的文件系统太大,还是对nfs支持的问题?
接着开始研究内核驱动了,从点亮led开始。
应用程序要运行的时候需要一些动态链接库,可以用arm-linux-readelf 命令查看,把相关的库放到目标板文件系统的/lib目录下。
用insmod命令加载驱动,有时候报错,是因为编译驱动模块之前,要先完成内核的编译,否则模块没有内核版本信息。
看,经过今天下午的努力,LCD的驱动已经移植好了,下面是开机效果图哦
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步