![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mini2440系统移植专题
文章平均质量分 79
ssdsafsdsd
因为喜欢所以关注因为热爱所以投入
展开
-
linux-2.6.32在mini2440开发板上移植(10)之触摸屏工作原理以及驱动程序详细分析
编者:这部分还是比较长的,因此没有放在上个移植里面。这里主要说触摸屏的工作原理,以及对上述驱动程序代码的简单分析。分析中参考了网上的很多资料。感谢原作者的无私奉献,因为涉及多篇,在此就没有注出原作的链接。 本文分为三个部分,第一部分讲叙硬件知识,包括触摸屏的原理以及SCC2440 SOC 上的触摸屏是如何工作的。第二部分分析输入设备子系统的框架,并进行相应的代码分析。第三部分利用上述的原理原创 2013-04-02 22:08:15 · 2586 阅读 · 1 评论 -
linux-2.6.32在mini2440开发板上移植(15)之移植看门狗驱动
移植看门狗驱动编者:略。1 在内核中配置看门狗驱动Linux-2.6.32.2 内核具有完善的S3C2440 的看梦狗驱动,我们只需配置一下就可以使用了。在内核源代码目录执行:make menuconfig,进入内核配置主菜单,依次选择进入如下子菜单:Device Drivers ---> [*] Watchdog Timer Support --->打开原创 2013-04-07 15:53:11 · 2555 阅读 · 1 评论 -
linux-2.6.32在mini2440开发板上移植(2)之移植yaffs2
编者:这里并不是移植yaffs2文件系统,只是给内核打个补丁,使之支持yaffs2文件系统。 1、获取yaffs2 源代源码现在大部分开发板都可以支持yaffs2 文件系统,它是专门针对嵌入式设备,特别是使用nand flash 作为存储器的嵌入式设备而创建的一种文件系统,早先的yaffs 仅支持小页(512byte/page)的nand flash,现在的开发板大都配备了更大容量的n原创 2013-04-07 16:25:42 · 1341 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(16)之LED 驱动程序移植
LED 驱动程序移植编者;对于led的驱动程序,很多文章都有详细的介绍,我的博客里面有一篇专门详解这个的。需要看的,可以找下。led灯的驱动其实就代表了I/O口的驱动。在linux系统下,操作一个I/O口,可以说实在是麻烦至极与裸机操作相比较的话。这里简介移植过程,没写分析。1 LED 驱动原理这个就给个图就够了,搞驱动要连这个都搞不懂,那就完了。 2、驱动的移植。在d原创 2013-04-08 13:32:10 · 1848 阅读 · 4 评论 -
linux-2.6.32在mini2440开发板上移植(17)之按键驱动程序移植
按键驱动程序移植编者:按键驱动程序涉及到linux中断程序的编写。1、按键原理图。 2、驱动程序的编写移植。在/linux-2.6.32.2/drivers/char/目录下创建一个新的驱动程序文件mini2440_buttons.c,内容及详细注释如下:#include #include #include #include #include #in原创 2013-04-08 13:32:45 · 2767 阅读 · 0 评论 -
关于什么是ABI、EABI、OABI
关于ABI 和EABIcodesourcery 公司提供的编译器是符合EABI 标准的编译器,我们公司的文件系统内容就是基于该编译器制作生成的,因此使用老式的ABI 接口编译器如arm-linux-gcc 2.95.3 等编译出的可执行文件,是不能在上面运行的。关于ABI 和EABI 的描述,见下面的说明:原文链接:http://linux.chinaunix.net/bbs/原创 2013-03-26 16:36:11 · 1453 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(18)之移植PWM蜂鸣器驱动
添加PWM 控制蜂鸣器驱动1 硬件解析Mini2440 板带有一个蜂鸣器,它是由PWM 控制的,下面是它的连接原理图:可以看出,蜂鸣器所用的GPB0 端口复用的功能为TOUT0,它其实也就是PWM 输出。2 编写移植驱动程序在linux-2.6.32.2/drivers/char/目录下,增加一个驱动程序文件mini2440_pwm.c,内容如下:#include #i原创 2013-04-09 14:32:36 · 2185 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(0)之内核准备与编译
编者:这里使用内核的版本为2.6.32,保持和板子原来自带的内核相同。因为该内核已经支持了mini2440,所以我们应该做一下基本处理。另外,这里的目标就是能建立一个可以运行的内核,当然可能这个内核只是可以运行,其实也没运行,没文件系统,不能提供什么实际的功能。另外我们的移植是以SMDK2440为蓝本进行的。1、获取内核源码方法很多,找个一个2.6.32的就可以,然后进行解压。2、指定原创 2013-04-09 14:32:57 · 2579 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植之DM9000网卡移植(3)
移植DM9000 网卡驱动1 设备资源初始化 Linux-2..6.32.2 已经自带了完善的DM9000 网卡驱动驱动(源代码位置:linux-2.6.32.2/drivers/net/dm9000.c),它也是一个平台设备,因此在目标平台初始化代码中,只要填写好相应的结构表即可,具体步骤如下:首先添加驱动所需的头文件dm9000.h:#include原创 2013-03-27 19:18:46 · 2160 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植之RTC移植(4)
激活RTC 驱动 编者:RTC时钟在S3C2440上的移植非常的简单,因为linux已经支持了,仍以platform的形式来实现,只要把RTC的platform_deivce进行注册,对内核进行简单配置就好。但对于RTC的驱动的实现,很有值得研究的地方。这一驱动典型的使用了,linux内核中驱动分层设计的思想,对这驱动的研究,有利于理解linux内驱动的布局。对于一般的驱动,比较复杂原创 2013-03-27 19:56:58 · 1718 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(1)之移植Nand驱动并修改分区信息
编者:linux中的nand的移植由于使用了MTD技术,所以就没有想象的那么复杂了。1 Linux-2.6.32.2 内核所支持的Nand Flash 类型 Linux2.6.32.2 已经自带了大部分Nand Flash 驱动, 在linux-2.6.32.2/drivers/mtd/nand/nand_ids.c 文件中,定义了所支持的各种Nand Flash 类型。2原创 2013-04-07 16:54:33 · 3167 阅读 · 1 评论 -
linux-2.6.32在mini2440开发板上移植(14)之移植I2C-EEPROM 驱动
移植I2C-EEPROM 驱动编者:略。1 在内核中配置I2C 驱动 Linux-2.6.32.2 对S2C2440 的I2C 接口提供了完善的驱动,因此我们只需在内核中配置一下即可使用。 在内核源代码目录执行:make menuconfig,进入内核配置主菜单,依次选择进入如下子菜单: Device Drivers --->原创 2013-04-07 15:52:33 · 1975 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(6)之W35型LCD驱动移植
编者注:本移植主要步骤还是按照手册来,里面讲解了一些有用的基础知识。但书册上提供了集中屏幕的方案,我们这里主要就用一种,也就是开发板自带的W35型号。液晶驱动的源程序在src/drivers/video/目录下,主要是s3c2410fb.c这几个文件,详细的讲解可以参照《linux设备驱动开发详解》一书。对于这里的移植,一般是实现为platform形式,所以,对platform_device这个结原创 2013-04-06 21:51:25 · 3548 阅读 · 3 评论 -
linux-2.6.32在mini2440开发板上移植(8)之添加ADC驱动程序
添加ADC驱动程序编者:由于内核没有支持S3C2440的ADC驱动,在这里增加ADC驱动。友善的手册对这个介绍的还算相当详细,所以直接按照手册进行。里面的代码也有详细的注释。ADC驱动属于字符型设备,在这里以杂项设备也有的翻译为混杂设备,进行实现。 1 、关于S3C2440 的ADC 和触摸屏接口Linux-2.6.32.2 内核并没有提供支持S3C2440 的ADC 驱动程序,因原创 2013-04-02 19:35:32 · 2886 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(13)之移植UDA1341 音频驱动
1 在初始化文件中加入UDA1341 设备结构 Linux-2.6.32.2 已经完美的支持UDA1341 音频芯片的驱动, 我们只要在arch/arm/mach-s3c2440/mach-mini2440.c 文件中注册UDA1341 平台设备的控制端口就可以了,打开mach-mini2440.c,添加如下内容:;在文件首部添加头文件#include ;在LCD 平台原创 2013-04-03 15:33:35 · 1512 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(9)之添加触摸屏驱动程序
在内核中添加触摸屏驱动程序编者:linux2.6.32并没有带S3C2440触摸屏驱动程序,需要自己实现。而在此的触摸屏驱动程序时作为一个输入设备来实现的。在linux中,对于输入设备而言,内核专为其设计了输入子系统,由核心层处理公共的工作。因为对于输入设备而言,只是中断、读键值/坐标值是与设备相关的,其余的如输入事件的缓冲区的管理以及字符设备驱动的file_operations接口则是输入设原创 2013-04-02 22:09:18 · 2513 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(11)之配置USB外设
编者:因为LINUX内核对S3C2440的Host驱动的已经支持,而且支持的外设相当的丰富,所以这一部分只是进行配置就可以使用。因为配置的东西较多,没有给出详细的截图,看手册上介绍的就很明白。需要手册的请留下邮箱索取。 1 配置和测试USB 键盘、扫描器和鼠标在内核源代码目录的终端输入:make menuconfig,依次选择如下子菜单项:Device Drivers --->原创 2013-04-03 14:23:27 · 3238 阅读 · 1 评论 -
linux-2.6.32在mini2440开发板上移植(12)之SD卡驱动移植
编者:这个驱动还是比较复杂的,先移植着,以后在分析吧。SD卡驱动移植1 在内核中注册SD 设备驱动 Linux-2.6.32.2 已经自带了S3C2440 芯片的SD 卡驱动,我们只需在初始化代码中加入SD 平台设备结构就可以,打开arch/arm/mach-s3c2440/mach-mini2440.c,在nand flash 平台结构后面添加如下红色代码:;在min原创 2013-04-03 15:09:12 · 2286 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(7)之修改linux开机logo
修改Linux LOGO编者:linux的开机默认logo是一只可爱的小企鹅。这里我们可以把它换成我们自己喜爱的图片,只要将linux-2.6.32.2/drivers/video/logo/linux_logo_clut224.ppm替换成自己的图片即可。方法很简单,照着操作基本就没问题。以下按照手册介绍两种方法。注意在进行图片的转换时候,一定要先注意图片的大小,要和使用的液晶屏的大小匹配。原创 2013-04-02 18:43:11 · 4493 阅读 · 1 评论 -
linux-2.6.32在mini2440开发板上移植(19)之yaffs2文件系统移植
yaffs2文件系统移植编者:前面用的文件系统都是友善自带的文件系统,其GUI是基于QTOPIA,这个文件系统的功能还是比较强大的。这里我们可以自己移植一个根文件系统,不过这只是一个最基本的系统,这样有助于理解嵌入式的开发。文件系统的制作过程大体相似,只是使用的制作工具不一样。在此处制作的文件系统,主要参考了移植手册和《ARM嵌入式系统移植实战开发》一书。 下面介绍下手册上的移植过程:原创 2013-04-04 14:40:18 · 2618 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(20)之音频解码器madplay移植
音频解码器madplay移植编者:从这一小节开始,友善官方带的手册就没有介绍了,根据一些参考书籍进行移植。这里移植的是音频解码器madplay.需要的源码包:(我已经上传到我的资源里面了,可以直接下载)libid3tag-0.15.1b.tar.gzlibmad-0.15.1b.tar.gzmadplay-0.15.2b.tar.gzzlib-1.2.3.tar.bz2原创 2013-04-05 22:24:52 · 2787 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(22)之qtopia4.4.3手机版移植(english version)
qtopia4.4.3手机版在mini2440上的移植编者:原来也移植过QT,对这个还是总结了些经验的。因为mini2440开发板自带的是PDA版本的QTOPIA,所以我决定移植一个手机版本试试。为什么选择这个版本的,其实我没有进行特意选择,在百度上搜了下,发下这个版本有人在mini2440上成功移植,也就是说有案列,这样可以参考人家的案例,在出问题时候,解决能快点。因为这个必定没作为项目开发原创 2013-04-06 20:55:04 · 2648 阅读 · 0 评论 -
linux-2.6.32在mini2440开发板上移植(21)之WebServer服务器移植
编者:其实也就是构建个WebServer服务器,只不过这里是以boa+cgic来实现的1、移植boa软件所用的软件为boa-0.94.13.tar.gz先进行解压到当前目录#tar -zxvf boa-0.94.13.tar.gzcd /boa-0.94.13 /src #./configure修改Makefile修改31,32行CC=arm-linux-原创 2013-04-06 21:40:04 · 4281 阅读 · 1 评论 -
linux-2.6.32在mini2440开发板上移植之LCD背光控制(5)
添加LCD 背光驱动编者:lcd的背光控制,其实就是一个I/O口的驱动,其和led控制如出一辙,甚至更是简单,因为一般都是同时控制几个LED,这里就这是一个。标准的入门级驱动。这个不多说,按照手册来。这里的I/O端口是GPG4. 1 LCD 背光控制原理 在mini2440/micro2440 开发板中,LCD 背光是通过CPU 的LCD_PWR 引脚来控制的,从原理图中原创 2013-03-27 22:03:23 · 3330 阅读 · 0 评论