嵌入式linux驱动
Gamal_xin
这个作者很懒,什么都没留下…
展开
-
ARM9---中断篇
有意转载,请标明来源:http://blog.csdn.net/shiyi_2012/article/details/7467956 其实对于ARM9中断和51差不多啦,总的就是中断前期准备做好,然后中断满足,中断做后续工作就OK啦。 第一个问题就是ARM9中断实质。 首先要好好理解这个表,就是相应的中断产生之后,处理器就会使得PC指针自动跳转到该原创 2013-10-30 19:18:25 · 1020 阅读 · 0 评论 -
构建根文件系统一之ubuntu12.04下安装编译BusyBox图文解说(我的是按照这一篇文章解决错误的)
错误:networking/libiproute/lib.a(iptunnel.o):iptunnel.c:(.text.print_tunnel+0x290): more undefined references to `__cpu_to_be16' follow collect2: ld returned 1 exit status make: *** [busybox_unstr转载 2014-02-28 11:12:25 · 2386 阅读 · 1 评论 -
编译busybox
make[1]: *** [ipsvd/tcpudp.o] Error 1make: *** [ipsvd] Error 2【具体步骤】: 1) 下载busybox源代码,并解包 $ wget -c http://www.busybox.net/downloads/busybox-1.7.0.tar.bz2 $转载 2014-02-28 10:39:42 · 2573 阅读 · 1 评论 -
嵌入式学习路径
1、Linux 基础安装Linux操作系统Linux文件系统Linux常用命令Linux启动过程详解熟悉Linux服务能够独立安装Linux操作系统能够熟练使用Linux系统的基本命令认识Linux系统的常用服务安装Linux操作系统Linux基本命令实践设置Linux环境变量定制Linux的服务 Shell 编程基础使用vi编辑文件使用Emacs编转载 2014-08-09 01:47:04 · 401 阅读 · 0 评论 -
arm之 引脚
GPACON—GPJCON 控制引脚的不同作用:输入,输出,功能引脚GPBUP-GPJUP 控制是否上拉GPADAT-GPJDAT 控制数据0/1EXTINT0------EXTINT2 (包含了以及EINT0---EINT23,以及EINT8--EINT23包含滤波器) 外部引脚中断,可以上升沿或者下降沿中断EINTASK 中断屏蔽寄存器,用来原创 2013-10-30 19:18:21 · 2434 阅读 · 0 评论 -
dnw “cant open usb device”
dnw 出现 “”“cant open usb device”,于是以为是驱动出了问题,于是重装了驱动,但是问题显然依然在,于是迫不得已,重弄了个dnw软件,于是居然就好了原创 2014-02-28 09:03:26 · 3201 阅读 · 0 评论 -
Linux内核的ioctl函数学习
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl。ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达转载 2014-08-10 14:05:44 · 388 阅读 · 0 评论 -
FIQ和IRQ比较
FIQ和IRQ是两种不同类型的中断,ARM为了支持这两种不同的中断,提供了对应的叫做FIQ和IRQ处理器模式(ARM有7种处理模式)。一般的中断控制器里我们可以配置与控制器相连的某个中断输入是FIQ还是IRQ,所以一个中断是可以指定为FIQ或者IRQ的,为了合理,要求系统更快响应,自身处理所耗时间也很短的中断设置为FIQ,否则就设置了IRQ。如果该中断设置为了IRQ,那么当该中断产生的转载 2014-09-20 00:19:42 · 1710 阅读 · 0 评论 -
Linux的input输入子系统:总体框架
一、input输入子系统总体框架Linux输入子系统将输入驱动抽象为三层:设备驱动层、核心层、事件处理层。 设备驱动层:将底层的硬件输入事件转化为统一事件形式,向输入核心(Input Core)汇报。核心层:承上启下。为驱动提供设备和驱动注册等操作的函数接口。事件处理层:和用户层交互,提供设备的read和write等函数。二、输入子系转载 2014-09-19 23:44:58 · 685 阅读 · 0 评论 -
Linux内核的ioctl函数学习
一般来讲ioctl在用户程序中的调用是:ioctl(int fd,int command, (char*)argstruct)。ioctl调用与网络编程有关(本文只讨论这一点),文件描述符fd实际上是由socket()系统调用返回的。参数command的取值由/usr/include/linux/sockios.h所规定。这些command的由于功能的不同,可分为以下几个小类:• 改变路由表转载 2014-08-10 14:07:34 · 419 阅读 · 0 评论 -
MMU
具体详细的mmu管理,待以后有了一些更深的理解,再来填补原创 2014-02-14 14:05:08 · 423 阅读 · 0 评论 -
S3C2440时钟管理模块
今天对S3C2440d时钟和电源管理模块进行了一些研究,该模块由三部分组成:时钟控制,USB控制和电源控制。时钟控制逻辑部件使得S3C2440能够产生三种时钟,分别是FCLK,HCLK和PCLK。FCLK用于ARM主芯片的时钟,HCLK用于AHB(Advanced High-performance Bus)外围时钟,PCLK用于APB(Advanced Peripheral Bus)的转载 2014-02-14 13:08:07 · 617 阅读 · 0 评论 -
make menuconfig 错误
这次从新搭建环境,遇上一些以前遇到的问题,感觉还是有必要记录一下,方便以后查阅这次的问题是在make menuconfig时错误,如下:In file included from scripts/kconfig/lxdialog/checklist.c:24:scripts/kconfig/lxdialog/dialog.h:32: fatal error:cu转载 2014-02-26 19:38:10 · 623 阅读 · 0 评论 -
make: *** cpu/arm920t/s3c24X0/: 没有那个文件或目录。 停止。 (uboot)
最近在搞u-boot移植,在网上下载了 唐智浩 写的U-boot 1.1.6 的移植(TQ2440) 尼玛的 坑爹啊总是出现这样的错误:make -C cpu/arm920t/s3c24X0/make: *** cpu/arm920t/s3c24X0/: 没有那个文件或目录。 停止。make: *** [cpu/arm920t/s3c24X0/libs3c24X0.a]转载 2014-02-13 15:47:08 · 1373 阅读 · 0 评论 -
ARM中的RO、RW和ZI DATA
一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。要了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成此处所说的“ARM程序”是指在ARM系统中正在执行的转载 2013-11-10 00:02:06 · 608 阅读 · 0 评论 -
nfs服务器
简介NFSNFS(Netword File System),网络文件系统,是Unix系统之间实现磁盘文件共享的一种方法,它支持应用程序在客户端通过网络访问位于服务器磁盘中数据的一种文件系统协议。(ps:我理解的NFS呢,是一种C/S的架构,SERVER共享目录给CLIENT使用)原理 NFS运行在SUN的RPC(Remote Procedure Call, 远程过程调用)基础上,原创 2014-01-22 17:37:08 · 520 阅读 · 0 评论 -
由U_BOOT_CMD命令想到的
在UBOOT当中,各个命令是通过U_BOOT_CMD这个宏来定义出来的,其本质其实理解起来也很简单,不过今天也从中学到了一点东西 先来看UBOOT当中关于U_BOOT_CMD这个宏的定义: /* 这是定义一个结构的属性,将其放在.u_boot_cmd这个段当中,相当于.data/.bss这些段 */#define Struct_Section __attr转载 2014-01-21 00:16:13 · 482 阅读 · 0 评论 -
arm BSS段、数据段、代码段、堆与栈(也加上了我自己的见解)
BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text segment)通转载 2014-01-20 12:29:48 · 6262 阅读 · 0 评论 -
.globl _start 含义
linux汇编.section与.globl 2011-05-05 17:58:30分类: LINUX.section .data汇编程序中以.开头的名称并不是指令的助记符,不会被翻译成机器指令,而是给汇编器一些特殊指示,称为汇编指示(Assembler Directive)或伪操作(Pseudo-operation),由于它不是真正的指令所以加个“转载 2014-01-20 12:54:20 · 1921 阅读 · 0 评论 -
U-boot 添加命令 U_BOOT_CMD
U-Boot的每一个命令都是通过U_BOOT_CMD宏定义的。这个宏在include/command.h头文件中定义,每一个命令定义一个cmd_tbl_t结构体。/*命令宏U_BOOT_CMD*/ #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ cmd_tbl_t __u_boot_cmd_##n转载 2014-01-21 00:05:12 · 571 阅读 · 0 评论 -
Ubuntu arm-linux-gcc 安装
最近安装了arm-linux-gcc ,我的环境是 unt9.10,网上很多资料,但是感觉讲的很复杂,我的安装如下:1、下载arm-linux-gcc-4.1.12、在/usr/local/arm下解压它(arm文件夹是自己新建的)3、设置路径;在终端下输入gedit /etc/profile 在最后一行写上如下(红色)内容,其它保持不变,并保存。# /etc/profile:转载 2014-02-10 18:46:09 · 674 阅读 · 0 评论 -
使用apt-get update
在Ubuntu中敲入这条:sudo apt-get install vsftpd 后,出现了如下问题:Err http://cn.archive.ubuntu.com/ubuntu/ saucy/main vsftpd i386 3.0.2-1ubuntu2 Connection failed 出现这个情况后:(将/var/lib/apt/lists/partial/所有的原创 2014-02-24 18:30:01 · 651 阅读 · 0 评论 -
Makefile: $^ $^ $@ 与 ..c.o
Makefile: $^ $^ $@ 与 ..c.o2010-05-16 15:19gcc -c main.c gcc -c mytool1.c gcc -c mytool2.c gcc -o main main.o mytool1.o mytool2.o /****第1个Makefile***************************转载 2014-02-11 16:21:48 · 505 阅读 · 0 评论 -
CPSR_c是什么
众所周知,ARM每种工作模式除R0~R15共16个寄存器外,还有第17个寄存器CPSR,叫做 当前程序状态寄存器,CPSR中一些位被用于标识各种状态,一些位被用于标识当前出于什么工作模式其中cpsr_c代表的是这32位中的低8位,也就是控制位当你看到有些程序里这样写msr cpsr_c 0xd2 /转载 2014-02-11 17:01:38 · 545 阅读 · 0 评论 -
ARM9 中断管理
s3c2410的中断异常处理模块总共由以下寄存器构成SRCPND(SOURCE PENDING REGISTER)INTMOD(INTERRUPT MODE REGISTER)INTMSK(INTERRUPT MASK REGISTER)PRIORITY( PRIORITY REGISTER)INTPND(INTERRUPT PENDING REGISTER)INTOFFS转载 2014-02-11 18:12:58 · 738 阅读 · 0 评论 -
如何学习嵌入式bootloader
本文是摘自一个大侠对vivi源码的分析的一篇文章,个人觉得前面这些文字对那些苦苦挣扎在研究bootloader的同志们会有一些帮助,甚至是鼓励,所以充满感激地将它转载了过来。通过vivi研究bootloader有一段时间了,基本是在与之相关的基础方面做工作,还没有真正深入研究vivi。以后的学习重心就要放到研究vivi源代码上面了。我想,真正细致地弄清楚vivi实现的细节,转载 2014-02-12 20:02:12 · 918 阅读 · 0 评论 -
ARM的一些架构常识
ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys):运行具有特权转载 2014-09-11 20:20:53 · 595 阅读 · 0 评论