自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zjy900507的博客

联系方式qq:175633121。介绍:zjy,已婚,育有一女。自动化专业,曾系统自学嵌入式,qnx,unix,Linux操作系统。曾从事嵌入式ARM-Linux系统开发和移植,网络协议栈。对于网络通讯编程,驱动程序编写,shell和phyon精通。

  • 博客(57)
  • 资源 (6)
  • 收藏
  • 关注

转载 AT91RM9200的U-BOOT启动烧写过程

Uboot 烧写过程 1.一开始令BMS=1(拔掉跳线),则系统从片内ROM中启动。内部启动程序初始化调试串口和USB设备接口从外部载入启动程序。在Windows平台下,启动超级终端,发送文件loader.bin和u-boot.bin到SDRAM,成功启动u-boot.2.启动了u-boot后就利用u-boot的功能,发送boot.bin和u-boot.gz到SDRAM,然

2017-12-27 15:52:30 1214 2

转载 ARM-Linux驱动--DM9000网卡驱动分析

硬件平台:FL2440(s3c2440)内核版本:2.6.35主机平台:Ubuntu11.04内核版本:2.6.39原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/66097421、下图是DM9000的引脚图2、这里我们结合具体的开发板FL2440下面是FL2440

2017-12-25 16:11:48 1373

转载 Linux下的Watchdog驱动

版权所有,转载必须说明转自 http://my.csdn.net/weiqing1981127  对于看门狗驱动,在我们内核中把这些代码放在/driver/watchdog文件夹下面,但是watchdog并没有子系统,每个驱动都是独立的,需要我们根据自己的平台去编写看门狗驱动,比如mini2440看门狗驱动代码就是/driver/watchdog/S3c2410_wdt.c,这个代

2017-12-22 15:14:16 697

转载 Linux驱动学习之:WDT(watchdog)驱动

第一部分: WDT驱动原理WDT在内核中通常都实现为misc驱动。WDT介绍一个Watchdog Timer(WDT)是一个在软件出错的时候可以复位计算机系统的硬件电路。通常一个用户空间守护进程会在正常的时间间隔内通过/dev/watchdog特殊设备文件来通知内核的watchdog驱动,用户空间仍然正常。当这样的一个通知发生时,驱动通常会告诉硬件watchdog一切正常,然后

2017-12-22 15:12:09 4496

转载 SGMII 和 Serdes 的详细说明

Serdes  : SERDES是英文SERializer(串行器)/DESerializer(解串器)的简称。它是一种时分多路复用(TDM)、点对点的通信技术,即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,从而大大降低通信成本

2017-12-21 22:42:17 2454

转载 Linux内核驱动之GPIO子系统(一)GPIO的使用

一 概述  Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看gpio是怎么使用

2017-12-21 10:03:03 1377

转载 linux 标准GPIO 驱动模型—version1

前言:本文主要介绍gpio driver实现基本方法,具体实例在后续的文章中继续介绍Index:1、bus 概念介绍2、Device 与driver匹配过3、GPIO driver 实现标准框架图4、GPIO driver 细化实现5、GPIO 上层应用1、bus 概念介绍

2017-12-21 10:02:25 610

转载 linux通用GPIO驱动

Linux开发平台实现了通用GPIO的驱动,用户通过,SHell或者系统调用能控制GPIO的输出和读取其输入值。其属性文件均在/sys/class/gpio/目录下,该目录下有export和unexport两个属性文件,其余都是连接文件,如gpiochipN等。export文件导出某个GPIO,unexport将导出的GPIO从/sysfs中删除。向export文件写入要操作的GPIO序号

2017-12-21 09:12:40 1735

转载 Linux 下操作gpio(两种方法,驱动和mmap)

目前我所知道的在linux下操作GPIO有两种方法: 1.  编写驱动,这当然要熟悉linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据ioctl命令进行GPIO寄存器的读写,并把结果回送到应用层。这里提供一点程序片断供大家参考:[cpp] view plain copy   int

2017-12-21 09:02:46 2293

转载 Device Tree(三):代码分析

Device Tree(三):代码分析作者:linuxer发布于:2014-6-6 16:03 分类:统一设备模型http://www.wowotech.net/device_model/dt-code-analysis.html一、前言Device Tree总共有三篇,分别是:1、为何要引入Device Tree,这个机制是用来解决什么问题的?(请参考引入Device Tr...

2017-12-19 22:48:16 276

转载 Device Tree(二):基本概念

Device Tree(二):基本概念http://www.wowotech.net/device_model/dt_basic_concept.html一、前言一些背景知识(例如:为何要引入Device Tree,这个机制是用来解决什么问题的)请参考引入Device Tree的原因,本文主要是介绍Device Tree的基础概念。简单的说,如果要使用Dev...

2017-12-19 22:45:35 269

转载 Device Tree(一):背景介绍

一、前言作为一个多年耕耘在linux 2.6.23内核的开发者,各个不同项目中各种不同周边外设驱动的开发以及各种琐碎的、扯皮的俗务占据了大部分的时间。当有机会下载3.14的内核并准备学习的时候,突然发现linux kernel对于我似乎变得非常的陌生了,各种新的机制,各种framework、各种新的概念让我感到阅读内核代码变得举步维艰。 还好,剖析内核的热情还在,剩下的就交给时间的。首先进入视...

2017-12-19 22:44:08 232

转载 [kernel 启动流程] (第一章)概述

建议先参考《[kernel 启动流程] 前篇——vmlinux.lds分析》等文章。[kernel 启动流程]系列:[kernel 启动流程] 前篇——vmlinux.lds分析[kernel 启动流程] (第一章)概述[kernel 启动流程] (第二章)第一阶段之——设置SVC、关闭中断[kernel 启动流程] (第三章)第一阶段之——proc info的获取

2017-12-19 21:18:43 293

转载 linux下I2C驱动架构全面分析

I2C 概述  I2C是philips提出的外设总线.  I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线。  因此,I2C总线被非常广泛地应用在EEPROM,实时钟,小型LCD等设备与CPU的接口中。  linux下的驱动思路  在linux系

2017-12-19 15:32:10 256

转载 linux下测试RTC驱动相关的命令date和hwclock常见用法简介

之前对Linux下面时间相关的内容,一无所知,第一次见到hwclock,不知为何物,也没找到解释清楚的帖子。故此整理一下,简单介绍Linux下验证rtc驱动是否工作正常,相关的的命令:date和hwclock。先说明:1.本贴主要内容来整理自后注所引用的帖子。2.如下介绍,不涉及如何编写rtc驱动,只简单介绍,驱动实现后,如果通过date和hwclock去验证rtc驱动是否正常工作

2017-12-19 00:16:17 764

转载 Linux 实时时钟(RTC)驱动

这个是linux内核文档关于rtc实时时钟部分的说明,此文档主要描述了rtc实时时钟的作用和编程接口,分别介绍了老的rtc接口和新的rtc类架构。并给出了一个测试rtc驱动的程序。当linux开发者提到“实时时钟”的时候,他们通常所指的就是墙钟时间,这个时间是电池供电的,所以在系统掉电的情况下还能正常工作。除非在MS-Windows启动的时候设置,否则这个时钟不会同步于本地时区和夏令时间。

2017-12-19 00:13:23 1851

转载 Zynq平台下linux的I2C驱动(RTC+EEPROM)

现在ARM下对SoC开发板的硬件描述都是采用devicetree文件,使用linux自带的dtc程序将dts编译成dtb之后,由u-boot将dtb导入给linux内核,linux内核读取dtb,然后注册设备的resource,linux内核使用of_系列函数API读取硬件资源。具体的说明可以看下宋宝华的bloghttp://blog.csdn.net/21cnbao/articl

2017-12-19 00:09:21 1705

转载 基于S3C2440的嵌入式Linux驱动——AT24C02(EEPROM I2C接口)驱动解读

本文将介绍Linux中AT24C02驱动。AT24C02是一种EEPROM,使用I2C接口来访问。在开发板中,使用I2C控制器0和AT24C02连接,这里就不给出原理图了,如需要,可以搜索TQ2440开发板的原理图。目标平台:TQ2440 CPU:s3c2440内核版本:2.6.32本文所有的代码均位于内核源码:linux/drivers/misc/ee

2017-12-18 23:51:15 483

转载 linux驱动基础系列--linux rtc子系统

前言  linux驱动子系统太多了,连时钟也搞了个子系统,这导致一般的时钟芯片的驱动也会涉及到至少2个子系统,一个是时钟芯片接口子系统(比如I2c接口的时钟芯片),一个是内核给所有时钟芯片提供的rtc子系统。当然也可以自己写一个字符设备直接操作芯片然后给上层用户空间提供接口,但这种方法实在是太糟糕了,内核既然提供了,为什么不用呢!(真要这样做,请参考内核的drivers/char/rtc.

2017-12-18 22:20:21 487

转载 Uboot关于i2c和EEPROM的命令

在uboot命令行下输入i2c并回车,会打印出i2c所有命令的使用方法:比如i2c dev会打印出目前挂载的i2c设备:i2c probe是对i2c设备地址的寻找:i2c md命令是从i2c设备读取数据,在这里本人用的是beaglebone black,然后就选择EEPROM这个内置的i2c设备进行读取要注

2017-12-18 16:08:47 1794

转载 安装Samba,实现Ubuntu12.04和win7的文件共享

这是写的第一篇文章,很大部分是转载的别人的东西,在网上转来转去也不知道是谁的,在此声明,不是原创,写在这里是为了分享我安装配置Samba服务器的过程经验,向和我一样的刚开始不明白的人分享我遇到的问题和应该注意的地方。之前用的是RedHat的,经发哥推荐,开始用Ubuntu12.04。更换了网易163的源。因为要用到嵌入式的交叉编译,就安装Samba。搞了一天。我是在win7上的vmvare

2017-12-17 22:01:38 274

转载 ping命令执行过程一

一、简介这里打算从U-Boot的ping命令说起。ping命令是用于测试网络是否和目标网络畅通简单工具,在U-Boot中ping命令的使用方法是:ping   比如我电脑的IP地址为192.168.1.10,ping命令使用如下:ping 192.168.1.10,如果开发板和目标IP之间的通信畅通的话,将输出如下信息: host 192.168.1.100

2017-12-17 11:53:37 1318

转载 U-Boot中PING命令处理流程之一

上一节中,我们分析了NetLoop函数部分,这一节,分析一下NetLoop函数调用的PingStart()函数。static void PingStart(void){#if defined(CONFIG_NET_MULTI)//这个我们不用理 printf ("Using %s device\n", eth_get_name());#endif  NetSetTime

2017-12-17 11:52:43 873

转载 Ping 命令详解

简述:ICMP协议是“Internet Control Message Ptotocol”(因特网控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ping (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP;回声请求消息给目的地并报告是否收

2017-12-17 11:51:06 324

转载 Linux下Watchdog

周 婷 (moting9@gmail.com ), 软件工程师, IBM 中国系统技术实验室2007 年 10 月 29 日Linux 在不同领域如电信、终端便携设备等得到广泛应用,不同领域的应用对 Linux系统也提出相应的需求。Carrier Grade Linux 是 OSDL(Open Source Development Lab)发布的电信级 Linux 的标准,

2017-12-13 23:01:42 1130

转载 uboot详解——cpu内部,外部和软件看门狗

uboot启动时,当将cpu运行模式设置为管理模式后,就要关闭看门狗了,那么看门狗是干什么的呢?狗狗是我们的好朋友,有时候,一条好狗狗能够救主人的性命,”看门狗“是cpu的“好朋友”,它也能够在cpu出状况的时候把它救活。看门狗其实就是一个可以在一定时间内被复位的计数器,当看门狗启动后,计数器开始自动计数,经过一定时间,cpu就会将这个计数器复位,如果没有被复位,计数器溢出就会对C

2017-12-13 22:58:39 5131

转载 335x uboot 看门狗喂狗

一、说明: 看门狗,又叫watchdog timer,主要用来监控、管理CPU的运行状态,并对处于异常状态中的CPU进行复位操作,使其能重新工作。 看门狗可分为硬件看门狗和软件看门狗两种。 这里使用硬件看门狗:电路图如下:这个硬件设计,在开机后,系统需要全程喂狗, 喂狗操作:WDI(Watchdog Input)的电平信号超过1.6S不发生跳变时,就会让系统

2017-12-13 22:55:03 974 1

转载 U-Boot HW Watchdog

U-Boot HW Watchdog概述include/watchdog.h文件中有宏定义#ifdef CONFIG_HW_WATCHDOG        #if defined(__ASSEMBLY__)                #define WATCHDOG_RESET bl hw_watchdog_reset

2017-12-13 22:52:28 1505

转载 uboot的GPIO驱动分析--基于全志的A10芯片

uboot的GPIO相当简单,其就是三层结构。分别为:1、顶层接口层,其只定义了通用的接口,并不负责实现,实现是我们具体根据具体的芯片来实现的。2、中间接口实现层,用具体的板子的GPIO来实现顶层的接口3、 底层具体芯片GPIO的实现层 。现在具体分析:顶层接口层int gpio_request(unsigned gpio,

2017-12-12 16:39:24 2221

转载 u-boot下编写测试CPU的GPIO状态代码[转]

面对自己设计的新板子,基于freesclae的I.MX51 SOC,如果采购仿真器的话,据说连软件带硬件要7000美金,这实在是一笔不小的开销。但是,板子总是需要使用软件方法来测试的,特别是IO的基本功能。那么在u-boot下写一些有关的测试程序是很有必要的。虽然这个方法无法和仿真器相比,但是只要板子boot起来,那么使用底层的IO函数,进行适当的“裸奔”,对设计者来说,总算是有点“招”了。

2017-12-12 16:38:46 957

转载 uboot中挂载U盘,利用FAT文件系统读写U盘文件

关于使用U盘自动更新系统镜像,请看我的这篇博文:http://blog.chinaunix.net/space.php?uid=22030783&do=blog&id=3347599下面开始介绍USB和FAT相关命令的用法,通过大量的实际操作截图说明和USB操作相关的文件是common/cmd_usb.c,这里定义了usb命令在uboot中执行help usb查看支持的

2017-12-12 10:27:40 5195 1

转载 u-boot中的usb命令

[u-boot: v2013.04][Author: Bo Shen ]1. 使用 (帮助信息)U-Boot > usbusb - USB sub-system Usage:usb start - start (scan) USB controllerusb reset - reset (rescan) USB contr

2017-12-12 09:26:54 4034

转载 u-boot中的date命令

[u-boot: v2013.07-rc3][Author: Bo Shen ]1. 使能date命令需要定义:CONFIG_CMD_DATE, 由于date命令是读取RTC内的时间,所以必须使用相关SOC自带rtc的驱动,或者板上的rtc芯片。具体根据板子情况来决定 。当这两都兼备后,就可以使能date命令了。源代码:common/cmd_

2017-12-11 22:42:29 1531

转载 uboot中rtc顶层分析

uboot一般不会要求开启rtc,不过还是支持rtc以备特殊需求的。底层驱动移植前面两篇已经介绍,这里介绍顶层的调用过程。顶层在uboot/common/cmd_date.c/* * (C) Copyright 2001 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * * See file CREDITS

2017-12-11 22:38:15 269

转载 uboot移植rtc

uboot中可能会有需求提供rtc的支持目的达到uboot启动也可以进行墙上时间的显示和后面判断。大部分rtc支持的一个必要条件就是已经有i2c的支持。因为很多的rtc是i2c接口控制的,uboot中i2c的移植在前一篇中已经提过。这里就只做rtc的移植。这里选择了常用的一款rtc芯片pcf8653来分析。 第一步 开启支持的选项, uboot/include/configs/mpc520

2017-12-11 22:36:32 565

转载 u-boot移植随笔(8):EEPROM移植及测试

EPROM说简单也简单,说难自己也捣鼓好几天。开发板上的EEPROM是AT24C08,大小1024个字节,使用I2C接口。——严重注意,EEPROM是指设备,而I2C是指接口,两者有着很密切的关系,但不可混淆它们,这点必须注意。u-boot已经在“封装”好了I2C和EEPROM操作函数了,而底层的24×0的I2C函数也已经实现好了。我们所要做的就是开几个宏定义就OK了。移植之前我在go

2017-12-11 22:03:55 1187

转载 uboot移植i2c

uboot作为kernel启动的服务程序,内部支持很多的组件。部分需求会想让uboot支持eeprom存储或者rtc的功能支持,这样就需要uboot支持i2c的驱动。下下来的uboot里面就是有i2c的驱动例子的,这里就分析一下供移植模仿。 在uboot/drivers/i2c 下面就是几个i2c驱动的例子。 这里我们选择davinci_i2c.c来分析。这个是写的比较清楚和简单的。第一步

2017-12-11 22:02:29 1579

转载 uboot 网络不通问题解决一例1

uboot 网络不通问题解决一例1平台:Hi3531PHY:RTL8211 现象:在uboot中执行ping命令的时候,总是超时。 过程:使用uboot自带的phy操作命令mii读出的数据全是0xff。这里要介绍一下uboot中的phy寄存器操作命令mii。关于uboot中的mii命令可以参见common/cmd_mii.c。注意:在使用mii命

2017-12-11 17:02:00 7240 1

转载 u-boot串口和stdio、console初始化及相关操作详解<三>

console是构建在stdio之上的,console的初始化是board_r中最后收尾的操作。console的初始化函数console_init_r在common/console.c中实现:[cpp] view plain copyint console_init_r(void)  {      char *stdinname, *st

2017-12-09 11:36:51 901

转载 u-boot串口和stdio、console初始化及相关操作详解<二>

二.board_r阶段串口操作和stdio初始化该阶段包括3个函数:stdio_init_tables、 initr_serial、stdio_add_devices。下面逐一对其进行详细说明。1. stdio_init_tables[cpp] view plain copyint stdio_init_tables(void)  

2017-12-09 11:28:55 588

qnx spi库资源

里面是可以使用在6.6. 或者6.5 bsp上的库文件。* QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

2018-06-21

linux视频教程 韩顺平.txt

linux视频教程 韩顺平,里面是迅雷下载地址,速度快。韩顺平linux视频教程迅雷下载地址,从第0讲到第21讲的下载地址

2018-06-21

嵌入式Linux SPI总线应用编程.pdf

本文主要介绍基于 AM3352 处理器的 SPI 总线应用编程,适用于 M3352 核心板, 其使 用原理也适用于基于 AM3352 处理器的工控核心板以及其他基于 AM3352 系列处理器的产 品。

2018-04-02

iTOP4412-SDIO WiFi移植文档.pdf

近期需要把 WiFi 无线网络功能移植到 iTOP-4412 开发平台,查阅了相关资料,经过 一段时间的研究、调试,终于成功的将 WiFi 功能移植到了开发板上面,这里笔者记录移植过 程及注意事项,方便以后工作需要。 iTOP-4412 开发板的 WiFi 模块与板卡之间的连接采用 SDIO 接口,WiFi 硬件模块使用的 是 MTK 的 MT6620 芯片,MTK 提供了 Android4.0 及 Android4.4 的 driver, Porting Guid,有 了这些就为我们的移植工作做了总体性的指导。 但是仅仅有 MTK 提供的文档还是远远不够的,毕竟硬件接口定义不同,kernel 版本也 不同,Android层与 MTK提供的代码也有差异,这就需要我们在 MTK文档的指导下,Step by Step 进行 Porting 工作.

2018-02-27

DDR区别与联系

严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,部分初学者也常看到DDR SDRAM,就认为是SDRAM。DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。

2016-10-31

HDLC程序.zip

HDLC程序 这个程序是由C++进行编程 的

2015-10-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除