
嵌入式linux内核及驱动开发
文章平均质量分 75
老徐拉灯
这个作者很懒,什么都没留下…
展开
-
linux2.6.34在S3C2440移植1——内核移植
一、环境平台介绍 1、内核kernel环境:vivilinux-2.6.34 交叉编译器arm-cross4.3.2-EABI(软浮点运算) 2、yaffs文件系统源码包 二、编译过程 0、从lwww.kernel.org下载linux2.6.34内核,解压linux-2.6.34.tar.gz2源码包 1、修改vivi/Makefile文件,在makefile中找到以下两条信息并做修改 ARCH ? =arm CROSS_COMPILE ?=/usr原创 2011-03-08 21:18:00 · 1682 阅读 · 0 评论 -
嵌入式linux2.6平台搭建——bootloader、Linux内核、根文件系统、开源工程
bootloader-u-boot移植 u-boot-2010.06在unsp2440上的移植1 (NOR 启动) u-boot-2010.06在unsp2440上的移植2(NAND启动) u-boot-2010.06在unsp2440上原创 2011-08-13 21:56:44 · 6318 阅读 · 5 评论 -
linux驱动基础开发1——linux 设备驱动基本概念
学习linux设备驱动首先我们必须明确以下几个概念,为我们接下来学习linux驱动打下坚实的基础:应用程序、库、内核、驱动程序的关系设备类型设备文件、主设备号与从设备号驱动程序与应用程序的区别用户态与内核态Linux驱动原创 2011-09-22 17:27:15 · 16206 阅读 · 20 评论 -
linux驱动基础开发0——linux 设备驱动概述
目前,Linux软件工程师大致可分为两个层次: (1)Linux应用软件工程师(Application Software Engineer): 主要利用C库函数和Linux API进行应用软件的编写; 从事这方面的开发工作,主要需要原创 2011-09-22 14:27:39 · 18412 阅读 · 14 评论 -
linux驱动基础开发2——linux 驱动开发前奏(模块编程)
一、linux内核模块简介 linux内核整体结构非常庞大,其包含的组件也非常多。我们怎么把需要的部分都包含在内核中呢? 一种办法是把所有的需要的功能都编译到内核中。这会导致两个问题,一是生成的内核会很大,二是如果我们要在现有的内核中新增或删除功能,不得不原创 2011-09-29 09:10:34 · 9129 阅读 · 11 评论 -
linux驱动基础开发3——linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? 在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽原创 2011-09-29 16:41:17 · 37342 阅读 · 22 评论 -
linux arch目录下处理器体系架构介绍
alpha 处理器Alpha 处理器最早由美国DEC 公司设计制造,在Compaq (康柏)公司收购DEC 之后,Alpha 处理器继续得到发展,并且应用于许多高档的Compaq 服务器上,HP (惠普)收购的Compaq ,Alpha 便为HP(惠普)所有,不过HP (惠普原创 2011-10-11 19:23:11 · 11229 阅读 · 3 评论 -
windows下java JNI编程技巧——JAVA调用c/c++(1)
步骤 1:编写 Java 代码我们从编写 Java 源代码文件开始,它将声明本机方法(或方法),装入包含本机代码的共享库,然后实际调用本机方法。这里是名为JNI_javaCallc_test:直接使用文本编辑器或在ecilpos中建立工程敲入以下代码:package test;public class JNI_javaCallc_test { //c/原创 2011-10-24 12:31:31 · 5230 阅读 · 1 评论 -
windows下java JNI编程技巧——JAVA调用c/c++(2)
步骤 2:编译 Java 代码接下来,我们需要将 Java 代码编译成字节码。完成这一步的方法之一是使用随SDK一起提供的Java编译器javac。用来将 Java 代码编译成字节码的命令是:cd testjavac JNI_javaCallc_test.java 如果是在eclipse环境下编写的以上代码,文件保存时会自动在工程目录的bin下生成以上java文件原创 2011-10-26 14:06:15 · 5551 阅读 · 0 评论 -
linux2.6驱动开发系列教程
这段时间一直在做android下的驱动,android驱动底层跟linux如出一辙,所以这里准备做一个专题,把linux驱动做一个总结,为android接下来的驱动开发打好基础,大致的思想如下:一、linux驱动基础开发0、linux驱动基础开发0——linux 设备驱动概述1、linux驱动基础开发1——linux 设备驱动基本概念2、linux驱动基础开发2——li原创 2011-09-22 12:38:42 · 11069 阅读 · 19 评论 -
S3C2440 UART2被配置为CTS问题解决
Linux内核默认把uart2的功能设置为nRTS1、nTCTS1,没有作为正常串口使用,如果我们想要将uart2作为串口,需要做以下修改:linux2.6内核将GPHCON寄存器的值置为0x16faaa就是说GPH6被设置为nRTS1,GPH7被设置为nCTS1,此时,串口2是原创 2011-08-13 21:20:30 · 1968 阅读 · 0 评论 -
Linux下S3C2440 RTC实时时钟驱动配置与修改
Linux下对S3C2440 RTC的支持非常完善,我们只需要做简单的修改,即可使用RTC1、vi arch/arm/mach-s3c2440/mach-smdk2440.cstatic struct platform_device *smdk2440_devices原创 2011-08-13 21:13:53 · 2929 阅读 · 0 评论 -
Linux 2.6内核在S3C2440平台上移植
此教程适合2.6.38之前的版本,其中2.6.35之前使用同一yaffs补丁包,2.6.36--2.6.28 yaffs文件系统有所改变,2.6.39之后的暂时不支持,源码下载请到:http://www.kernel.org/1.解压linux-2.6.34.tar.bz原创 2011-08-13 18:12:50 · 4569 阅读 · 0 评论 -
Linux2.6.34开机启动图片修改
Linux启动时会在屏幕上显示一个默认的开机图片,我们可以修改成为自己的图片,需要做以下工作软件gimp下载地址:http://www.rayfile.com/zh-cn/files/0bb556bd-c5a0-11e0-9185-0015c55db73d/1、打开gim原创 2011-08-13 19:32:23 · 2509 阅读 · 0 评论 -
Linux2.6.34下DM9000网卡驱动移植
DM9000是10/100M自适应的总线型网卡,Linux中对其支持已经非常完善,不同开发板之间移植、修改主要集中在总线的选择及中断选择上1)修改arch/arm/mach-s3c2440/mach-smdk2440.c文件,增加以下信息/****add by den原创 2011-08-13 19:12:01 · 2338 阅读 · 0 评论 -
Linux 2.6.34下LCD驱动移植
Linux下的LCD设备被抽象成标准的framebuffer设备,我们只需要修改与LCD有关的扫描时间及分辨率即可1、修改 arch/arm/mach-s3c2440/mach-smdk2440.c 如下:/* LCD driver info */static str原创 2011-08-13 19:23:01 · 2971 阅读 · 0 评论 -
Linux下LCD 10分钟自动关屏的问题
Linux下的LCD驱动默认10分钟后会自动关闭屏幕,我们可以修改一下代码让其不自动关屏在有一个 drivers/char/vt.c 文件其中有一个变量(blankinterval)可以设置它来修改自动关屏的时间,也可以在函数(blank_screen_t)开头直接返回,这样原创 2011-08-13 19:34:15 · 4146 阅读 · 0 评论 -
UDA1341声卡驱动
本人手中的开发板使用的事UDA1341音频芯片,走的标准的IIS总线,Linux中对IIS及UDA1341的支持已经非常完善了,我们只需要将相应的IIS管脚设置为我们开发板的原理图设计的管脚就可以了。1、makemenuconfig 声卡的配置是:Device Drive原创 2011-08-13 20:25:17 · 4913 阅读 · 0 评论 -
Linux下SD卡驱动移植
Linux中对SD卡的支持非常完善了,我们只需要按照以下修改即可完成SD卡的初始化1、arch/arm/mach-s3c2440/mach-smdk2440.c platform结构中增加&s3c_device_sdi语句。static struct platform_d原创 2011-08-13 20:30:50 · 8121 阅读 · 0 评论 -
Linux下USB从(USB gadget) 驱动配置与使用
S3C2440提供了一个USB从接口,我们可以使用它来把2440模拟为一个U盘,直接从电脑上以盘符的形式访问2440一、内核配置USB SUPPORTUSB Gadget Support ---> USB Peripheral Contro原创 2011-08-13 21:03:38 · 11860 阅读 · 0 评论 -
Linux2.6.34下 USB驱动(U盘\USB鼠标、键盘)
由于Linux中对USB的驱动已经非常完善,这里只需要按照以下配置 就可以了,配置完后重新编译内核烧到开发板上1、修改make menuconfig System Type --> S3C2410 USB function support原创 2011-08-13 19:18:33 · 6838 阅读 · 0 评论 -
linux驱动模型开发2——linux platfoem总线机制讲解与实例开发
1、概述:通常在Linux中,把SoC系统中集成的独立外设单元(如:I2C、IIS、RTC、看门狗等)都被当作平台设备来处理。从Linux2.6起,引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver,来管理相应设备。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform原创 2011-11-01 21:42:10 · 5114 阅读 · 2 评论