推荐阅读最新更新时间:2024-11-11 20:53
26.3.4.2内核下的I2C驱动(一)
1.硬件协议 1.1mini2440 I2C设备如图所示 1.2 I2C协议如下: 1.3启动和停止信号如下图 1.4 I2C总线数据传输时序: 1.5 2440只负责发送,不知道数据含义,只有外设知道。如何写一个字节?参考AT24CXX手册 。 注意:I2C设备读之前先写! 2.软件框架 2.1总线-设备-驱动模型如下图所示 把某个结构体,左右的放入链表,一一比较,匹配调用probe函数 设备链表 driver链表, 总线提供了match函数 linux-2.6.22.6Documentationi2cinstantiating-devices 2.2如何构造I2C_CLIENT?设
[单片机]
飞思卡尔计划采用ARM® Cortex®-M7内核
业界最广泛的基于ARM Cortex-M内核的可兼容且可扩展的MCU组合,将随着Cortex-M7内核的采用得到进一步扩展。 2014年9月24日 ,德克萨斯州奥斯汀讯-飞思卡尔半导体 日前宣布为最近发布的ARM Cortex-M7内核提供全面支持,飞思卡尔计划利用该内核使即将推出的嵌入式SoC的性能和功效达到新水平。飞思卡尔是ARM领先的合作伙伴和多种ARM产品的早期采用者,并且率先在市场推出了基于Cortex-M4内核和Cortex-M0+内核的MCU。 飞思卡尔拥有业界最广泛的基于ARM Cortex-M内核的可兼容且可扩展的MCU产品组合,可跨六个独特的Kinetis系列实现软件和硬件兼容,同时可选择提供通
[嵌入式]
mini2440 按键驱动POLL机制实验
Makefile KERN_DIR = /home/grh/kernel_source_code/linux-2.6.32.2 all : make -C $(KERN_DIR) M=`pwd` modules arm-linux-gcc key_interrupt_app.c -o key_interrupt_app clean : make -C $(KERN_DIR) M=`pwd` modules clean rm -rf modules.order obj-m += test_driver.o obj-m += key_poll.o obj-m += key_interrupt.o copy
[单片机]
ARM Linux.2.6.34内核移植
ARM-LINUX-GCC版本4.3.2.以安装在/usr/local/arm/4.3.2下. 第一步: 修改linux-2.6.34/Makefile文件,在makefile中找到以下两条信息并做修改 ARCH ? =arm CROSS_COMPILE ?=/usr/local/arm/4.3.2/bin/arm-linux- 第二步: 修改平台输入时钟 修改平台的时钟频率,修改内核源码“arch/arm/mach-s3c2440/mach-smdk2440.c” 把时钟初始化中(S3C24XX_init_clocks(16934400 ))的16934400 改为12000000,因为我们的开发板上为12M 第三步: 修改机
[单片机]
将模拟组件与Arm微控制器内核进行集成解决嵌入式系统问题
嵌入式系统的设计带来了复杂的挑战,因为在性能,成本,功耗,尺寸,新功能和效率方面都有进步的积极目标。然而,有一种新兴的设计方案可以解决这些复杂问题 - 模拟组件与ARM ®微控制器内核智能集成。这种与传统模拟集成的区别在于现在提供的高性能以及为解决特定系统级问题而进行的优化。虽然每个市场都会对这些领域的订单排名进行改进,但同时满足多个因素是非常需要的,并且可以来自众多分立组件的集成。从逻辑上讲,组合部件可以解决许多嵌入式系统目标,但只需将几个分立元件和一个处理器放在一个封装中就不是答案;解决方案要复杂得多,需要智能集成。 模拟和数字智能集成 高性能模拟组件(放大器,ADC,DAC,电压基准,温度传感器)的智能集成,无线收发器等
[单片机]
一起学mini2440裸机开发(十二)--mini2440的串口中断实验
本实验实现的功能是:利用串口中断功能,通过串口调试工具接收到字符后再显示。 下图为我的工程文档 main.c文件 #include isrservice.h #include uart.h #include led.h #include interrupt.h int main() { Uart0_Init(115200); //初始化并设置波特率为115 200 Uart0_Interrupt_Init(); //Uart0中断初始化 Led_Init(); //Led初始化 while(1) //循环,等到中断发生 { ; }
[单片机]
linux-2.6.32在mini2440开发板上移植-RTC移植
激活RTC 驱动 编者:RTC时钟在S3C2440上的移植非常的简单,因为linux已经支持了,仍以platform的形式来实现,只要把RTC的platform_deivce进行注册,对内核进行简单配置就好。但对于RTC的驱动的实现,很有值得研究的地方。这一驱动典型的使用了,linux内核中驱动分层设计的思想,对这驱动的研究,有利于理解linux内驱动的布局。对于一般的驱动,比较复杂的,很难看懂,这个就很不适合进行入门。太简单的,什么hello、led,这个容易懂,但这个也只能入门,不能用于深入。我感觉RTC驱动用来深入一点的入门是很好的,其中涉及到了platform和驱动设计中的分离思想。下面还是主要以手册所介绍为步骤,简述一下
[单片机]
Linux-2.6.32.2内核在mini2440上的移植(九)---触摸屏驱动移植
移植环境 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。 4,开发板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 6,linux 版本:linux-2.6.32.2 7,参考文章: 嵌入式linux应用开发完全手册,韦东山,编著。 Mini2440 之Linux 移植开发实战指南 【1】在内核中添加触摸屏驱动程序 Linux-2.6.32.2 内核也没有包含支持S3
[单片机]