自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (17)
  • 收藏
  • 关注

原创 src/hwif和src/drv的区别

到现在才明白vxworks下src/hwif和src/drv两个目录的区别src/drv 下的驱动代码,经过编译生成libdrv.a,由vxworks调用而src/hwfi下的驱动代码,是由target/config/comps下的文件调用,在kernel configuration下就可以看到刚才编译的组件参考文件:vxWorks6.x下添加vxbus型的第三方驱动http://

2014-01-27 21:26:41 1445

转载 Broadcom芯片53262的SDK移植

转载:http://blog.csdn.net/crstal_522/article/details/6038594 我们这款产品的硬件搭配为PowerPC860+BCM53262,尽管PowerPC860在这个年代略显不够Power,但是它以极高的稳定性还是占有一席之地。BCM53262和BCM53242是兄弟,很多人都用过BCM53242,实际上它们是一样的,在Broadcom公司的家

2014-01-27 18:03:49 10151 1

原创 MPC8641机制

这几天分析uboot代码,我就画了下面的一幅图。其中框架直接的连接就不画了,太难画了。稍微解释下,当mmu开启时,cpu的EA会依次通过bat和tlb转化为pa。此时pa在通过law送到对应的controller。如果是local bus controller,还可以通过br寄存器送出cs信号。

2014-01-27 12:08:48 1083

转载 收藏简明Vim练级攻略

本文来自《Learn Vim Progressively》,译文来自酷壳网陈皓整理编译的《简明Vim练级攻略》。这是一篇给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。文章内容如下:Vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。你想以最快的速度学习

2014-01-25 14:11:53 728

原创 powerpc nor flash启动

cpu 访问nor flash来进行启动。假设cpu上电后,从0xffff0000启动。但是uboot的链接地址为0xefff0000。然后生成uboot.bin文件这时一定要注意存储地址和运行地址的关系。1.存储地址,又叫加载地址即代码存放的位置2.运行地址(编译地址,链接地址)代码运行的地址在这时,我们的运行地址和存储地址不同。0xffff0000:

2014-01-24 22:28:34 3914

转载 MPC8572调试记录

转载地址:http://blog.sina.com.cn/s/blog_6adcb353010113t9.html2008-5-131、准备从bootrom开始调试,使用probe烧录。打开workbench3.0发现不支持MPC8572。打电话给OCD专家结果找不到人。2、改一下思路,先不调试bootrom了,因为现在里面已经有了uBoot,会有一些地址信息从

2014-01-23 22:00:43 3527

原创 powerpc memory和io访问原理

第一部分、MPC85xx/MPC86xx处理器中的寄存器MPC85xx/MPC86xx处理器中有两类寄存器:1. PowerPCE500(MPC85xx)内核的内部寄存器,如MSR,HID寄存器等,使用mtspr,mfspr指令可以对这些寄存器进行读写。PowerPC E600(MPC86xx) 内核的内部寄存器,如IBAT,DBAT寄存器等,使用mtspr,mfspr指令可以对这些寄

2014-01-23 20:15:45 5243

转载 基于MPC8641HPCN上的UBoot源代码分析

第一部分:U-Boot概述Bootloader(引导加载程序)是操作系统运行前执行的第一段程序,其作用是初始化硬件设备,建立内存空间映射表,为最终调用系统内核建立适当的系统软硬件环境.嵌入式系统一般没有通用的Bootloader,不同的系统硬件组成结构对应不同的代码,因而,针对特定的硬件平台,需要对Bootloader进行移植.在嵌入式系统中,常见的引导加载程序有U-Boot,Red Boot

2014-01-23 13:57:44 2189

转载 PowerPC上电复位的过程描述

说明:PowerPC 的启动不同于普通的CPU启动,由于其为了适应硬件系统的不同需求,设定了两类启动的地址跳转。而CPU的启动除了涉及到地址跳转的问题外,还牵扯启动源 的选择、硬件配置字的设定以及仿真器的配置等等相关一系列问题。在这系列博客中上述问题都会涉及到,本文重点描述PowerPC上电复位后的启动流程。其实要充分实在的理解PowerPC的启动过程,最可靠的方法就是将官方的芯片手册相关部分读懂

2014-01-23 13:39:28 2880

转载 P2020 ( e500核 ) 上电启动及uboot流程

转载地址:http://blog.csdn.net/gorilla0123/article/details/5930304#comments 系统上电到执行第一条指令前,需要经过配置PLL、Local Bus控制器、LAW、MMU等操作,这些配置完全是由Cpu根据芯片的默认值和芯片外部配置引脚的输入状态自动完成的。如:1)    Cpu根据cfg_sys_pll[0:2]的输入状态决定当前

2014-01-22 22:29:20 8320 1

转载 e600 core MMU的应用

MMU可以提供逻辑地址到物理地址的转换,对于应用程序可以提供超过CPU寻址范围的逻辑地址到物理地址的转换,不同的应用程序使用不同的逻辑地址可以对应到相同的物理地址。另外MMU对于CPU的地址空间(不止是内存空间)以页或块的方式提供保护(具体表现为可设置为 只读,不可用,nocache)。对于系统而言,利用MMU的页保护机制是比较有意义的。使用MMU的页保护机制必须安装VXVMI组件,并定义IN

2014-01-22 22:14:31 1164

转载 e600 core MMU技术理解

e600 core MMU技术理解 MMU支持三种地址转换:1.  页地址转换(每页4K)2.  块地址转换(每块1=28K-256M)3.  实地址转换(无地址转换-物理地址与虚地址一一对应)CPU实现地址转换的机制: MMU在关闭时,CPU处理地址就走蓝线所示路线,程序的逻辑地址就与物理地址一一对应,这地址包括CPU的4G的地址空间,不仅仅指内存部分。

2014-01-22 22:07:37 1425

转载 S3C44B0的中断模式

S3C44B0的向量中断模式概念 注:arm7的工作模式是arm7的这个内核提供的,而厂商在生产时,在arm7这个内核的基础上,外扩了各种中断及其相关的中断控制器,而这些中断发生一般会进入IRQ模式,这点很好理解。 (1)向量中断模式(IRQ支持,FIQ不支持)       当系统发生IRQ中断时候,cpu的PC会读取位于0x18处的IRQ中断指令(也就是说

2014-01-21 23:01:00 1804

转载 S3C44B0的向量和非向量中断和的详细源码分析

S3C44B0的向量中断和非向量中断模式的详细源码分析 (1)向量中断    中讲到当发生IRQ中断时,中断控制器会在数据总线上加载分支指令跳到相应中断源的向量地址,即一级中断向量表中对应的中断向量入口地址。  ldr pc,=HandlerEINT0    ;   0x20ldr pc,=HandlerEINT1……

2014-01-21 23:00:19 989

转载 关于S3C44B0中断的具体的启动代码解释

关于中断的具体的启动代码解释:     可以这么理解,44B0 中断系统中有两张中断转移表,经过二重转移才跳到中断处理程序。第一张中断向量表由硬件决定,所在区域为ROM(flash),地址空间从0X00开始,其中0X00-0X 1C为异常向量入口地址,0X20-0XC0为中断向量入口地址。另一张中断向量表在RAM 中,可以随便改,其位置在程序连接后才定。由于 RAM 放在地址空

2014-01-21 22:52:32 975

转载 vxWorks内存管理

转:缩短vxworks启动时间的方法  对于有mmu的cpu系统,vxworks系统的一般启动时间在10秒左右。相对于windows之类启动时间几分钟来说,可以说是非常短了。然而对于从上电到启动用户程序在1秒内的特殊要求。10秒显然是太长了。这里解决了这个问题。具体的平台为一块powerpc7xx单板机,有南桥,北桥,pci,vme总线。这里的解决方法,实际上是不限于powerpc cpu

2014-01-21 22:29:58 5436

转载 S3C2440 VXWORKS 移植笔记

转载:http://xiyong8260.blog.163.com/blog/static/665146212008521105148147/2006年下半年,我们在自己设计的BCNG2440开发板上移植了VXWORKS。移植的过程参考了网络上一些BSP代码,与现有的代码不同的是,我们的BSP实现了内存的重映射,中断向量的重新分配;以及cache和MMU的开启。移植的目的是用于一个数据采集

2014-01-21 21:58:10 3567

转载 WINDRIVER.TORNADO.V2.2安装(附图解和序列号)

转载地址:http://hi.baidu.com/qiangjiewang/item/dcd67092a3ce8331336eeb2e一. 下载软件:    在www.verycd.com 中就可以找到:    [风河VxWorks].WINDRIVER.TORNADO.V2.2.FOR...CD1    [风河VxWorks].WINDRIVER.TORNADO.V2.2.FOR...C

2014-01-20 21:51:34 19142 1

转载 中断号和芯片中断引脚的关系

转载地址:http://zhwen.org/xlog/?p=315一直以来搞不懂这个中断号的来历,总以为是中断控制器自己规定的一个号,但是最近在看了s3c2440的中断控制后才发现不是这么一回事.2440的中断处理只能处理32个中断,但是其在内核中出现的中断号却有51,58等.而且它的外部中断INT4~7共享一个中断控制寄存器的一位,INT8~23也是共享控制寄存器的一位.我就好奇了,

2014-01-19 21:24:54 6945 2

转载 linux驱动杂项知识点

阻塞/非阻塞可以用信号量,自旋锁或原子量轮询中主要用到了等待队列异步通知主要是信号,fasyn,更新硬盘数据

2014-01-19 21:00:47 692

转载 linux 应用调试

调试core文件ulimit -aulimit -c unlimitedgdb a.out -c -g core(gdb) bt

2014-01-19 17:41:45 686

转载 linux 内核崩溃处理

pc : [1.定位代码崩溃在内核中还是xxx.kocat  /proc/kallsyms >1.txtc0034818 T __kmalloc...c00082a8 t quiet_kernel /*最开始的是虚拟地址*/...bf000000  t $a [cdd] ..由此可看代码崩溃在xxx.ko2.定位崩溃在xxx.ko中的哪个函数

2014-01-19 17:26:57 3911

原创 linux设备分类

linux驱动程序分为三类1、字符设备 steam方式,顺序访问,没有缓冲2.、块设备 block方式,随机访问,有缓冲3、网络设备 破坏了linux设备的规则(任何设备可以按文件访问),是通过socket调用的,所以单独列出来。

2014-01-19 16:35:19 1281

原创 linux kernel中typeof和container_of的理解

1.typeof引入原因#define min(x,y) ((x) > (y) ? (y) : (x))如果min(x++ , y++),这个宏定义就会有问题#define min(X,Y)  \(__extension__  \({  \   typeof(X) __x=(X), __y=(Y);   \   (__x}) \) 此时linux

2014-01-19 16:25:55 2519

转载 linux gpio字符设备驱动

在linux下编写led驱动,控制相应的gpio管脚。在这里有两种方式1) 直接操作相应的寄存器2) 通过内核提供的gpio操作库函数第一种方式就省略了,只讲第二种方式。这里板卡上有两个led灯,在用户空间采用两种方式控制led1. /dev/led0 /dev/led1fd0 = open("/dev/led0", O_RD_WR);ioctl(fd0, 1, 0

2014-01-19 15:00:01 4266

转载 linux字符设备驱动框架理解

字符设备框架主要有四个主要数据结构1. struct cdev2. struct file_operations3. struct inode4. struct file进程通过文件表(file table)的fd访问inode,在open之前cdev的file_operations赋值给filep->file_operations。设备open时驱动可以通过ino

2014-01-19 14:28:31 1862

vc 网卡判断

这是一个包含检查网卡是否为物理网卡(查看网卡是否使用irq或设备名是否包含pci 有些hp服务器没有irq但也是物理设备) 查看网卡物理mac和当前使用的mac 有些网卡可以修改mac 使用xpddk头文件和库文件就可以

2014-10-12

PCI设备初始化编程的过程

这个文档主要讲述vxworks下pci设备的初始化过程,可以学习一下

2014-04-15

bcm5690交换芯片工作原理

BCM5690是BroadCOM公司推出的集成有12个千兆端口和1个万兆端口的多层交换芯 片。文章比较全方面地介绍了该芯片的结构和功能特性,给出了他的访问控制方式和数据流程,同时给出了用BCM5690设计交换整机的硬件结构和软件实现方法。

2014-03-16

wind rier ICE2 使用说明

WindRiver_On-chip_Debugging_Guide_1.2

2014-02-17

千兆网口Freescale_ETSEC_+_Marvell_88E1111_uboot_Linux_驱动分析.doc

千兆网口Freescale_ETSEC_+_Marvell_88E1111_uboot_Linux_驱动分析

2014-02-11

BCMSDK在Tornado下的编译.doc

描述BCMSDK如何在Tornado下编译

2014-01-27

MPC8641d bsp

该资源是MPC8641的的bsp,在板卡上调试通过,可以直接使用

2014-01-27

MPC8640 MMU vxworks理解

描述了e600core mmu在vxworks下的原理

2014-01-22

u-boot中的lds文件实例和简单实例分析.doc

主要讲解了u-boot.lds文件分析,有助于理解u-boot

2012-03-29

u-boot命令介绍

本文档主要介绍u-boot下的常用命令,包含了内存查看、nandflash命令等

2012-02-11

vxworks windml3.0

这是tornado2.2下的windml包,用于图形显示和键盘鼠标识别。

2011-12-07

单片机与PS2鼠标滚轮识别显示3D坐标

本文主要讲述了PS2协议,以及单片机如何识别PS2鼠标。上面有详细的单片机代码

2011-11-29

FPGA配置方式

学习FPGA,我们需要对FPGA的配置过程有一个大致的了解,我们写这篇文章 主要是为了帮大家梳理一下配置中的基本知识点,使对这个FPGA的工作过程的了解有一个很好的补充。

2011-11-20

PCI总线接口芯片性能分析比较

本文档讲述了几种PCI接口芯片的性能,并且比较了他们的区别,对pci选型有很大的帮助

2011-11-19

空空如也

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

TA关注的人

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