在通信协议-SPI小节,我们已经对SPI协议进行了详细的介绍,这里就不在重复赘述。 一、S3C2440上的SPI 1.1 SPI概述 SPI的使用位于S3C2440芯片手册的第23章。S3C2440包含了2个SPI,每个SPI都有2个分别分别用于发送和接收的8位串行移位寄存器。 一个SPI时钟周期
1-->修改板级文件arch/arm/mach-s3c2440/mach-mini2440.c 步骤: 1->添加引用 #include <linux/i2c.h> 2->添加IIC设备信息 static struct i2c_board_info i2c_devi
在通信协议-I2C小节,我们已经对I2C协议进行了详细的介绍,这里就不在重复赘述。 一、S3C2440上的I2C 1.1 I2C概述 I2C的使用位于S3C2440芯片手册的第20章。S3C2440可以支持一个多主控I2C总线串行接口。一条专用串行数据线(SDA)和一条专用串行时钟线(SCL)连接
上一节 我们学习了:   网卡驱动介绍以及制作虚拟网卡驱动:  http://www.cnblogs.com/lifexy/p/7763352.html 接下来本节,学习网卡芯片DM9000C,如何编写移植DM9000C网卡驱动程序。     1.首先来看DM9000C原理图 如下图所示:    
前面一节简单分析了Linux内核网卡驱动程序的框架,并编写了一个虚拟网卡驱动程序。这一节我们开始学习网卡芯片DM9000C,尝试将官方提供的DM900C网卡驱动程序移植到jz2440开发板使用的内核里。 内核版本:Linux-3.4.2 官方网卡驱动版本:2.09 1、DM900C连接方式 DM
网络对于嵌入式系统来说必不可少。可是S3C2440没有集成以太网接口,所以要想使S3C2440具备以太网的功能,就必须扩展网卡接口。我们使用的Mini2440就是外接DM9000EP,使其可以与以太网相连接。DM9000和DM9000EP主要是封装不一样,其他基本都是一样的。 一、DM9000介绍
前面学习了Linux内核中Nand Flash驱动程序的编写,现在继续学习如何编写NOR Flash驱动程序,在编写自己的NOR Flash驱动前,我们还是先来弄清楚NOR Flash驱动程序编写的框架。 我们知道在MTD系统层次下,Flash硬件驱动通过mtd_info结构体和上层的设备层进行交
在上一节中,不知道你有没有注意到,以NOR方式启动u-boot后,运行有一行信息: 输出Flash信息这一部分代码是位于board_init_r阶段,执行initr_flash()函数的输出结果。 我们开发板上搭载了型号为S29AL016D70TF102的2MB大小的NOR FLASH,这里输出
一、Nand Flash命令 1.1 命令表 对Nand Flash的操作需要发出命令,下面有个Nand Flash的命令表格,那么我们可以此表格上的命令来访问我们的Nand Flash。  针对每一个命令的时序可以参考Nand Flash芯片使用手册。下面我们将会分析一些常用命令的时序。时序中
一、Nand Flash介绍 Flash 是闪存,可以反复读写的一种存储介质,掉电后数据不会丢失。目前Flash主要分为Nor Flash 和Nand Flash。 Nand Flash和Nor Flash比较: Nor型Flash采用的SRAM接口,提供足够的地址引脚来寻址,可以很容易的存取其片
如果我们的系统要用GUI(图形界面接口),这时LCD设备驱动程序就应该编写成frambuffer接口,而不是像之前那样只编写操作底层的LCD控制器接口。 什么是frambuffer设备?    frambuffer设备层是对图像设备的一种抽象,它代表了视频硬件的帧缓存,使得应用程序通过定义好的接口
在上一节我们介绍了linux系统的输入子系统的基本框架,并进行了源码分析。 这一节我们将尝试向input子系统注册设备驱动,这里我们编写按键驱动,通过MIni2440上的6个按键来模拟键盘中的A、B、C、D、E、F。 一、按键硬件资源 1.1 硬件接线 查看Mini2440原理图、S3C2440数
在上一节我们介绍了LCD的硬件基础知识、以及S3C2440 LCD控制器相关的寄存器。这一节我们将会动手在LCD上显示一幅日落的图片。 一、LCD初始化编程步骤 1.1 初始化GPIO,引脚复用     在上一节我们介绍了S3C2440这些引脚对应的LCD TFT上的引脚。这里就不在重复介绍了。
一、LCD硬件原理 要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/24
直接指定代码段,数据段,BSS段的起始地址 -Ttext startaddr -Tdata startaddr -Tbss startaddr 示例: arm-linux-ld –Ttext 0x0000000 led.o –o led.elf  一下摘自Linux公社ld指令详解 我们对
1、前提准备 硬件环境: 笔记本电脑 软件环境: 裸机安装Windows10_64位 VMWare版本:VMWare WorkStation 14Pro Ubuntu版本:Ubuntu16.04LTS 总结:开发环境是主机安装windows10家庭版,然后使用vmware创建Ubuntu虚拟机
作者:彭東林 郵箱:pengdonglin137@163.com QQ:405728433   開發板 TQ2440 + 64MB 內存 + 256MB Nand 軟件 Linux: Linux-4.9 (https://github.com/pengdonglin137/linux-4.9 )
对于任何的知识来说,了解了理论的知识,知道了设备树怎么解析用以代替传统的范式之后,我们需要知道怎么使用设备树。对于使用我们分两部分,一部分是它有哪些接口,能做些什么,至于怎么编写dts文件本章不讨论。主要包括两部分: (1)对于设备树,编译和设备启动后,怎么来查看设备树的信息,怎么用来debug
uboot将一些参数,设备树文件传给内核,那么内核如何处理这些设备树文件呢?本章就kernel解析设备树的过程和原理,本章的主要内容以Device Tree相关的数据流分析为索引,对ARM linux kernel的代码进行解析。主要的数据流包括: (1)设备树对于内核的意义(2)从u-boot传
1 传递dtb给内核 对于传统bootloader提供两种工作模式:一是启动加载模式(start loading),一是下载模式(downloading)工作在启动加载模式时,bootloader会自动执行bootcmd命令,比如:bootcmd=“nand read 0x100000 0x800

推荐文章