推荐阅读最新更新时间:2024-03-16 14:58
24.Linux-2440下的DMA驱动
1.DMA(Direct Memory Access) 即直接存储器访问, DMA 传输方式无需 CPU 直接控制传输,通过硬件为 RAM 、I/O 设备开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。 学了这么多驱动,不难推出DMA的编写套路: 1)注册DMA中断,分配缓冲区 2)注册字符设备,并提供文件操作集合fops - 2.1)file_operations里设置DMA硬件相关操作,来启动DMA 由于我们是用字符设备的测试方法测试的,而本例子只是用两个地址之间的拷贝来演示DMA的作用,所以采用字符设备方式编写 2.驱动编写之前,先来讲如何分配释放缓冲区、DMA相关寄存器介绍、使
[单片机]
基于Blackfin处理器的嵌入式数码相框
当今的嵌入式应用已经无处不在,无论是消费电子、通信终端,还是系统设备、工业控制、汽车电子系统或航空航天,都无处不见嵌入式应用的身影。现在,全球每年生产数十亿颗微处理器,其中大部分都被广泛应用于各类嵌入式系统。 目前,在嵌入式系统硬件平台方面,各种微控制器以及数字信号处理器(DSP)产品,无论从品牌、功能特性方面,还是针对目标应用的成本、处理能力、功耗要求、集成度、开发周期、技术难度等具体要求,都可以精心选择出最具综合优势的硬件核心平台。而在嵌入式操作系统方面,无论是开放源代码的Linux阵营的各种商业版本或免费版本,还是WinCE、vxWorks等“重量级”平台,抑或针对特定应用优化的Windows Mobile、Symb
[单片机]
ARM linux解析之压缩内核zImage的启动过程
首先,我们要知道在zImage的生成过程中,是把arch/arm/boot/compressed/head.s 和解压代码misc.c,decompress.c加在压缩内核的最前面最终生成zImage的,那么它的启动过程就是从这个head.s开始的,并且如果代码从RAM运行的话,是与位置无关的,可以加载到内存的任何地方。 下面以arch/arm/boot/compressed/head.s为主线进行启动过程解析。 1. head.s的debug宏定义部分 最开始的一段都是head.s的debug宏定义部分,这部分可以方便我们调试时使用。 如下: #ifdef DEBUG #if defined(CONFIG_DEBUG
[单片机]
基于ARM的Linux下LonWorks总线设备驱动设计
LonWorks是美国Echelon公司1992年推出的局部操作网络,最初主要用于楼宇自动化,但很快发展到工业现场网。LonWorks技术为设计和实现可互操作的控制网络提供了一套完整、开放、成品化的解决途径,它协议完整、通信可靠,而且为用户提供了功能强大的开发工具(LONBU ILDER,NODEBU ILDER)。 在LonWorks现场总线设备的使用过程中,由于其设备驱动与操作系统的相关性,从而要求开发者在开发过程不仅实现硬件构成,更需要熟悉操作系统及设备驱动程序的制定。本文给出在ARM平台下实现LonWorks总线设备的互联,并在嵌入式Linux系统下,介绍LonWorks现场总线设备驱动程序的设计与实现。 1 LonW
[单片机]
第七篇:gcc和arm-linux-gcc常用选项
一、gcc和arm-linux-gcc的常用选项 常用选型 -v 查看gcc编译器的版本,显示gcc执行时的详细过程 -o Place the output into 指定输出文件名为file,这个名称不能跟源文件名同名 -E Preprocess only; do not compile, assemble or link 只预处理,不会编译、汇编、链接 -S Compile only; do not assemble or link 只编译,不会汇编、链接 -c Compile and assemble, but do not link 编译和汇编,不会链接 举例 //举例一: gcc hell.c
[单片机]
汽车级Linux发布第十版统一代码库
最近,汽车级Linux(AGL)为汽车制造商发布了其统一代码库(UCB)的第十版,代号为“Jumping Jellyfish”。由数十家成员公司共同开发的AGL统一代码库是一个用于信息娱乐,远程信息处理和仪表盘应用的开源软件平台。 Linux基金会汽车级Linux执行董事Dan Cauchy说:“ AGL平台基于Yocto,对于Jumping Jellyfish,我们已更新到Yocto的第一个长期支持(LTS)版本,名为Dunfell。这意味着Yocto项目将在很长一段时间内提供补丁,修复和更新,这对于汽车系统来说是必不可少的,因为汽车系统的生命周期比许多其他嵌入式Linux应用程序更长。” 对于熟悉AGL和Linux的人
[汽车电子]
iTOP-4418开发板Qt和最小linux系统-扩展root
本文档介绍如何修改 iTOP-4418 开发板用户区大小。文档中的分区数据是针对 16G 的 eMMC。 uboot 设置 进入 iTOP-4418 的 uboot,如下图所示。 输入命令: setenv fastboot flash=mmc,2:uboot:2nd:0x200,0x78000;flash=mmc,2:2ndboot:2nd:0x200,0x4000;flas h=mmc,2:bootloader:boot:0x8000,0x70000;flash=mmc,2:boot:ext4:0x00100000,0x040 00000;flash=mmc,2:system:ext4:0x04100000,0x34000
[单片机]
采用ARM+Linux 的仪器控制系统设计
0 引 言 嵌入式系统的开发都有其特殊的应用场合与特定功能,而嵌入式Linux操作系统因其开源和广泛的处理器支持、易于移植而备受行业青睐。AT91RM9200是Atmel公司针对系统控制、通信领域推出的基于ARM920T内核的32位RISC微处理器,它具有小体积,低功耗,低成本及高性能等特点,其内部集成了SPI、串口、PIO、以太网、EBI、USB、MCI等多种接口。 在Linux系统中,应用层不可以直接操作硬件,需设计驱动程序向下屏蔽硬件特性,实现硬件与用户间的通信。系统平台为在虚拟机中安装Fedora 8,目标系统采用Linux 2.6.21.7内核,定制文件系统建立NFS根文件系统,使用双网卡方式搭建成交叉开发环
[单片机]