- 博客(29)
- 资源 (21)
- 收藏
- 关注
原创 uboot 和linux 下flash 写入速度差异分析
韩大卫@吉林师范大学2015.1.27. 转载请表明出处*********************************************uboot 和linux 下flash 的写入速度不一样, 主要原因是两者使用的延迟最小延时时间不一样. linux比较大. 原因如下:flash 芯片手册中有两个重要的时间参数:
2015-01-27 22:23:22 3155
原创 Uboot下的Nor Flash的驱动以及使用
Uboot 下 CFI Nor Flash 的使用韩大卫@吉林师范大学2015.1.23Flash : Micron Technology. 32MB.Uboot: 2_3_0CPU平台: Cavium Inc交叉编译器: mips64-octeon-linux-gnu-gcc (Cavium Inc. Version: 2_3_0 build 128) 4.3.3
2015-01-23 18:36:34 9269
原创 根据epc 定位linux kernel panic 位置
关于内核报错 “Unable to handle kernel paging request at virtual address” 的问题, 绝大多数都是由于程序使用了不可用的指针而引起的, 定位这类问题的办法很简单,也希望我的描述足够简单实用
2014-12-10 15:02:14 15015 1
原创 Linux环境下libpcap库源代码分析
linux环境下libpcap 源代码分析韩大卫@吉林师范大学libpcap 源代码官方下载地址:git clone https://github.com/the-tcpdump-group/libpcap.gittcpdumpm源代码官方下载地址:git clone git://bpf.tcpdump.org/tcpdumptcpdump.c使用libpcap里的pcap
2013-10-17 10:53:18 4566 2
原创 linux环境下tcpdump源代码分析
Linux 环境下tcpdump 源代码分析韩大卫@吉林师范大学tcpdump.c 是tcpdump 工具的main.c, 本文旨对tcpdump的框架有简单了解,只展示linux平台使用的一部分核心代码。Tcpdump 的使用目的就是打印出指定条件的报文,即使有再多的正则表达式作为过滤条件。所以只要懂得tcpdump -nXXi eth0 的实现原理即可。进入main之前,先
2013-10-11 13:13:02 5906
原创 Linux 下访问PHY芯片寄存器
Linux 下smi/mdio总线通信韩大卫@吉林师范大学下面代码是在用户层访问smi/mdio总线, 读写phy芯片寄存器的通用程序。Linux内核2.6以上通用。将下面代码编译后,将可执行文件a.out 重命名为mdiomdio eth0 1 读取phy寄存器1的数值mdio eth0 0 0x1120 将0x1120写入 phy寄存器1eth0 为m
2013-07-23 19:00:43 18600
原创 Linux下SMI总线驱动
Linux下smi/mdio总线驱动韩大卫@吉林师范大学MII(媒体独立接口), 是IEEE802.3定义的以太网行业标准接口, smi是mii中的标准管理接口, 有两跟管脚, mdio 和mdc ,用来现实双向的数据输入/输出和时钟同步。mdio主要作用用来配置/读取phy的寄存器, 实现监控作用。 Smi总线也就是mdio总线。 以mips 架构的caium octeon 处理器
2013-07-22 12:35:40 5658
原创 cavium octeon 处理器启动总线Bootbus 简介
cavium octeon 处理器启动总线Bootbus 简介: 韩大卫@吉林师范大学 Boot-bus(启动总线)是cavium octeon处理器的一种用于启动系统的硬件. CPU通过boot bus和非易失性设备相连, 比如NOR/NAND flash, CF卡, ROM等, 这些设备可以作为CPU的初始化引导地址. Boot bus总线协议是灵活的,
2013-07-04 11:02:54 3614
原创 Linux 获取设备树源文件(DTS)里描述的资源
Linux 获取设备树源文件(DTS)里的资源韩大卫@吉林师范大学在linux使用platform_driver_register() 注册 platform_driver 时, 需要在 platform_driver 的probe() 里面知道设备的中断号, 内存地址等资源。这些资源的描述信息存放在 resource 数据结构中, 相同的资源存放在一个树形树形数据结构中,
2013-07-03 16:06:09 7096
原创 Ubuntu 一键安装Adobe Flash Player
Adobe Flash Player 下载链接:http://get.adobe.com/cn/flashplayer/进入下载页面后, 选择要下载的版本, 比如ubuntu 环境可下载 .tar.gz 文件。之后adobe会该根据你的操作系统环境下载相应的压缩文件,我下载后的是: install_flash_player_11_linux.x86_64.tar.gz
2013-06-05 13:43:13 1749
原创 Linux系统建立Nor Flash分区
Linux建立Nor Flash分区韩大卫@吉林师范大学接上文章系统Nor Flash芯片初始化及驱动>>, 当Nor Flash 芯片在flash芯片驱动器链表chip_drvs_list中找到并调用名为”cfi_probe”的驱动后, 完成芯片初始化阶段, 接着进入linux对Flash建立分区阶段.在 arch/mips/cavium-octeon/flash_setup.c
2013-04-22 15:02:28 3950
原创 Linux初始化Nor Flash芯片及驱动
Linux 系统初始化NOR FLash芯片及驱动 韩大卫@吉林师范大学本文旨在解析linux系统下, Nor Flash芯片的初始化大致过程, 和cfi标准类型的Flash芯片在linux系统中的底层驱动何如实现, 如何找到并调用其提供的write/read/ioctl实现函数. 在明确了上述关系后, 可用通过一个用户层的程序, 向Nor Flash芯片指
2013-04-18 15:15:21 4916 2
原创 linux下CPU注册i2c控制器(adapter)过程
无论是三星的s3c2410, 还是cavium 的octeon, AMD的amd8111等等, 任何处理器在linux下添加自己的adapter都是大致的方法, 都是实现自己的driver, 最后调用i2c-core提供的API完成整个注册. 广泛地讲, linux将任何类型的设备, 任何类型的总线等都作为文件来处理, 只不过使用了不同的数据结构的driver和device.
2013-03-14 15:17:56 3944
原创 Marvell 交换芯片DSA(分布式交换架构)功能介绍
Marvell DSA(分布式交换架构) by 韩大卫@吉林师范大学***************请参见 Marvell Prestera/Cheetah/xcat/lion 系列交换芯片手册获取更详细的说明Marvell DSA(分布式交换
2013-03-10 11:39:59 14168 5
原创 Marvell 千兆PHY芯片88E1340S/88E1340/88E1322
<!--@page {margin:2cm}pre.western {font-family:"DejaVu Sans",sans-serif}pre.cjk {font-family:"DejaVu Sans",sans-serif}pre.ctl {font-family:"DejaVu Sans Mono",monospace}p {margin-bo
2013-01-30 18:44:00 7627
原创 Ubuntu/linux在未知root密码的情况下修改root密码
在未知root密码的情况下修改root密码.Ubuntu/linux. 史上最简单实用的一种办法By 韩大卫@吉林师范大学大致上分为两步: 一, 进入可读写的root用户模式. 二, 修改root密码.开机按 F12 (或长按Shift), 进入GRUB界面.一, 选择 Advanced options for Ubuntu二, 可以看到两个模式, 1, Ubu
2013-01-22 15:23:45 2749
原创 基于交换芯片的五元组过滤功能
基于交换芯片的五元组的PCL规则过滤功能作者: 韩大卫@吉林师范大学2012.12.10Not Approved by Document ControlReview Copy Only基于Marvell 98DX51xx/81xx交换芯片的五元组等的策略规则(PCL)过滤功能.现将部分的功能的底层实现予以简单介绍.Contact author for detailed i
2012-12-14 11:23:44 4456
原创 嵌入式系统烧写uboot/bootloader/linux内核的一般方法
******************* **********作者: 韩大卫@吉林师范大学2011.10.15handawei@jusontech.com************* *******************烧写uboot/kernel本文介绍了在嵌入式系统中烧写uboot/bootloader/kernel 的一般方法,以及如果uboot或者内核出现错误,引导
2012-11-06 14:31:07 5472 1
原创 Marvell 98DX51xx / 98DX81xx 系列交换芯片 内部初始化
//以下仅是本人的一些的理解/* Marvell 98DX51xx / 98DX81xx 系列交换芯片 内部初始化现在一些高端防火墙,流量管理等工业级网络设备使用的交换芯片几乎都来自于broadcom或marvell公司,一些高端的交换芯片售价高达数千美金,再加上几颗专用于处理报文业务的CPU(多核),还要有一颗用于管理控制系统资源(承载linux)的CPU, 这就是系统的核心的架构,
2012-09-27 18:43:15 7569 3
原创 openwrt下面创建/添加package----Makefile模版
openwrt下面创建/添加package----Makefile模版by:韩大卫@吉林师范大学**********************进入 openwrt/package/,mkdir eep以eep为示例cd eepmkdir src把代码放在src下面, src 中中的makefile 是用特定的交叉编译器编译自己的代码
2012-09-03 19:43:59 7983
原创 Linux 下 i2c switch(选路芯片mux) --- pca9548
<!--@page {margin:2cm}pre {font-family:"DejaVu Sans",sans-serif}p {margin-bottom:0.21cm}-->Linux 下 i2c switch pca9548驱动作者: 韩大卫 @吉林师范大学 现有的关于 i2c switch 资料非常少。即使阅读完官方的data
2012-08-23 09:16:00 13788 1
原创 linux设备驱动之API的实现
Linux 下API的实现作者: 韩大卫@ 吉林师范大学驱动工程师工作内容之一就是向上层应用端提供API,这个API完成并封装了全部的与硬件芯片的I/O操作。本问简单的说明了一个实现API函数的全部过程。总体上看分为:1,用户API2,用户中间层(与底层通信)3,底层中间层(寻找对应的驱动函数)4,驱动函数5, CPU读写I/O端口。
2012-08-20 21:04:00 2079
原创 linux下通过i2c总线读写EEPROM
by 韩大卫@吉林师范大学handawei@jusontech.com转载请务必表明出处。我的上篇文章《Linux下使用I2C总线读写 EEPROM(读写i2c从设备通用程序)》给出了通过IIC总线,如何读写EEPROM相应位置的内容。 但是有一些功能没有实现:比如: 只能单独操作一个寄存器地址,不能一次性写入大量内容; 只能读一个寄存器的数值,不能可选择性地一
2012-07-23 16:45:28 3119
原创 Linux下使用I2C总线读写 EEPROM(读写i2c从设备通用程序)
<!--@page {margin:2cm}pre {font-family:"DejaVu Sans",sans-serif}p {margin-bottom:0.21cm}--> Linux下使用IIC总线 读写i2c从设备寄存器by 韩大卫 @吉林师范大学handawei@jusontech.com 转
2012-07-23 11:06:10 7507
原创 linux下的i2c与时钟芯片pcf8563通信(三)
2012/7/19 linux下的i2c与时钟芯片pcf8563通信 by: 韩大卫 @吉林师范大学1,本程序增加了对星期寄存器(wday)的写操作。2, 本程序将i2c-test 改为rtdate 命令,并将rtdate作为最终命令发布。3,在linux下,成功地在用户层操作了时钟芯片pcf8563
2012-07-19 19:59:26 3695
原创 linux下i2c与时钟芯片pcf8563通信(二)
linux 下 i2c 的驱动 以及 与时钟芯片 pcf8563之间的通信(二)<!--@page {margin:2cm}pre {font-family:"DejaVu Sans",sans-serif}p {margin-bottom:0.21cm}--> 2012/7/10linux下i2c驱动与通信(二)by:韩大卫 @吉林师范大学
2012-07-13 18:19:38 3636
原创 linux下i2c与时钟芯片pcf8563的通信
linux下的i2c驱动以及与时钟芯片pcf8563通信过程 为更深入的了解linux下的i2c总线驱动以及通信原理,可以用一个用户程序模拟,这个程序,可以使用一个addr, 一个offset,对i2c的从设备地址为addr,寄存器地址为offset的寄存器读写操作。 在我们的版卡上时钟芯片pcf8563的i2c地址为0x51 , pcf8
2012-07-06 18:15:18 5256
原创 网络间通信socket传输任意格式任意大小的文件
最近看到很多网友写的socket程序,试验了几个,发送"Hello,world"时都没有问题,但在传输较大文件,比如一个200M的文件时,都不能成功,即使成功了,server端也存在保存的问题, 有的是乱码,也有文件大小不对的情况,这两天工作不忙,我也草草写了一些代码,实现了可以传输任意格式任意大小的文件,几位同事帮我一起做了测试,传送几百M的文件速度还是很快的,而且也没有丢数据的问题。 代
2012-04-25 14:55:43 2681
根据epc 报错定位linux kernel panic位置
2014-12-10
在未知root密码的情况下修改root密码,ubuntu,linux.
2013-01-22
交换芯片实现五元组过滤
2012-12-14
烧写uboot/kernel
2012-11-06
linux下i2c switch -- pca9548
2012-08-23
linux设备驱动之API的实现
2012-08-21
linux下使用IIC总线读写EEPROM
2012-07-23
linux下i2c总线与时钟芯片pcf8563通信(三)
2012-07-19
linux下的i2c驱动以及与时钟芯片pcf8563通信(二)
2012-07-13
linux下的i2c驱动以及与时钟芯片pcf8563通信
2012-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人