
vxWorks
文章平均质量分 79
JuanA1
年轻是最大的本钱,有拼劲!经过大公司文化熏陶,技术全面,目前从事vxWorks及POWER PC方面的嵌入式工作。
展开
-
vxWorks操作系统的映像及其装载过程
映像 vxWorks bootrom 启动顺序 引导 装载原创 2011-06-01 23:10:00 · 5744 阅读 · 0 评论 -
FatFS文件系统详解-附移植建议
最近做的spi flash,本打算弄个文件系统,由于之前用过了JFFS、YAFFS和TrueFFS,代码量都相当的大,这次想找款代码量不那么吓人的,学习一下,听说配置会相对复杂一些。选来选去,最终选定了FatFS,代码量足够的小,最新的R0.09版本只有1个.c文件(当然,还有一原创 2011-10-12 21:05:41 · 37360 阅读 · 8 评论 -
vxWorks FAQ中文版收藏-转载之上
这是从别处转载的,可以将它复制下来,查找自己碰到的问题,可能有解答额,呵呵。前言(Surface):随着国内使用VxWorks的用户越来越多,为了方便VxWorkers少走一些弯路,特别推出了中文FAQ,其中很多的FAQ来自comp.os.vxworks和原创。(很多FAQ都原创 2011-09-25 22:59:13 · 10571 阅读 · 0 评论 -
vxWorks FAQ中文版收藏-转载之下
3.BSP FAQ3.1 不同BSP3.2 处理器3.2.1 Power PC3.2.1.1 问题关于MPC860BSP(新手上路):在读前辈程序的时候遇到这样一些语句: lis r3, 0x0090 ori r3, r3, 0x0000 #plp=9,原创 2011-09-25 23:06:35 · 8202 阅读 · 0 评论 -
Linux下中断处理程序源码分析
之前调试vxworks下PCIE的中断程序,都封装好了,所以只用了个intConnect,感觉没学到东西,就再看了下Linux的源码。 下面是最近调试中断时额外研习了一下Linux的内核代码,下面就直接贴代码和注释了,大量借鉴了网上牛人的见解,还望海涵!!int m原创 2011-08-26 22:24:36 · 3934 阅读 · 1 评论 -
PowerPC PCI-E调试相关资料小结
最近在PowerPC的板子上加一个FPGA,需要用PCI-E连接,就调试了PCI-E。由于vxWorks本身已经将驱动写好了,使用时直接调用即可,但是很快就出现了问题:一开始直接使用mmap的方式映射FPGA的总线上到应用程序的内存空间中尝试读写,这种方法比较简单,不需要内核与应原创 2011-08-17 19:19:10 · 15390 阅读 · 0 评论 -
vxWorks中USB驱动栈-2
接上篇文章 介绍完了Host,再来看下Peripheral驱动栈,下图为Peripheral驱动栈的结构图: 风河USB Peripheral驱动栈中,位于底层的是目标控制器TC,它是Peripheral栈中用于连接USB的硬件部分。对于每种类型的TC,都会有对应的原创 2011-09-13 22:36:43 · 7161 阅读 · 1 评论 -
vxWorks中USB驱动栈-1
USB模块可以分为多端口主机(MPH)模块和双角色(DR)模块,它们都能够连接一个或者二个外部端口,这些模块和外部端口总称为USB接口。Mpc8379的USB模块采用的是DR,它的寄存器和数据结构均基于Intel的EHCI(Enhanced Host Controller Int原创 2011-09-11 09:44:16 · 8327 阅读 · 1 评论 -
Linux中PowerPC的中断原理分析
在了解中断处理机制前,先看一下PowerPC的中断源,这里使用的是e300c3的内核,从E300核的角度,中断源可分为异常和外部中断,异常是e300内核产生的,如出现非法指令,或者是访问存储器时出现TLB Miss等情况。这种情况太复杂了,没有深究,这里所说的中断为外部中断。所谓原创 2011-08-11 19:27:59 · 10335 阅读 · 0 评论 -
vxWorks下常用的几种延时方法
在应用编程的时候,通常会碰到需要一个任务在特定的延时之后执行一个指定的动作,如等待外设以确保数据可靠,控制扬声器发声时间以及串口通信超时重发等。这就需要利用定时器机制来计量特定长度的时间段。 vxWorks作为实时嵌入式系统,提供多样的定时接口函数。下面结合我的项目经历原创 2011-08-09 20:46:46 · 32705 阅读 · 0 评论 -
PowerPC下PCI、PCI-E设备的配置空间
PCI总线规定访问配置空间的总线事务,称为配置读写事务。不同于存储访问事务使用存储地址访问,而是使用ID号来寻址访问PCI配置空间。 PCI设备的ID号由总线号(BUS NUMBER)、设备号(DEVICE NUMBER)和功能号(FUNCTION NUMBER)组成。原创 2011-08-07 09:40:08 · 15070 阅读 · 13 评论 -
PowerPC的PCI总线的dts配置
这段时间要弄下PCI Express的相关调试和驱动开发工作,老规矩,先在网上找找资料,这类的东西还蛮少的,已经买了本书,打算边学边自己总结吧,这篇文章是PowerPc下对PCI总线的配置方法。 powerpc使用称为FDT 扁平设备描述树的机制传递给内核硬件配置参数,原创 2011-08-06 09:26:55 · 9630 阅读 · 1 评论 -
基于BSD4.4的UDP通讯初探
前段时间在移植mmslite到vxWorks上,主要涉及到的修改为网络连接部分、多线程支持部分以及时间模块。这里主要阐述网络部分,其他的有时间会一一推出。由于之前是在windows上实现的,网络连接部分自然就是使用的socket和WSA了。然而和Unix系统一样,vxWorks使原创 2011-07-19 19:53:11 · 3262 阅读 · 4 评论 -
Flash文件系统简介
首先了解下nand的文件系统,就其结构可以分为两类:基于块设备的常规文件系统和日志结构文件系统。基于块设备的文件系统最典型的就是Flash不是块设备,要想运行传统FTL将vxWorks的系统中,基于DOS/FAT+FTL的结构实现的,DOSFS是YAFFS充分利用了16个字节的空间,其中ecc,1个字节为数据状态字,剩余8个字节YAFFS源码并考虑移植到(1代差不多mtdemul目录下有一个2k的原创 2011-06-29 15:28:00 · 3192 阅读 · 1 评论 -
vxWorks多任务编程初探-下
当一个任务要进入资源,首先要得到一个信号量(take that semaphore),只要有任务在使用这个信号量,其它的要进入资源的任务要停止执行(blocked from execution),当这个任务完成了对资源的使用,它会释放信号量,允许另一个任务来使用资源。 sem原创 2011-07-08 10:39:28 · 3052 阅读 · 0 评论 -
vxWorks多任务编程初探-上
进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行原创 2011-07-08 10:35:51 · 8606 阅读 · 0 评论 -
源码分析vxWorks6.x的ARM板BSP启动过程(下)
五、执行kernelInit()该函数是由风河vxWorks库文件封装的,功能为提取kernel并运行,使得后期的初始化能够以kernel下运行的任务来完成。该任务名为tRootTask,它执行的方式类似于usrRoot。kernelInit先调用intLockLevelSet函数,屏蔽round-robin scheduling模式(不知怎么翻译),并创建中断堆栈。然后从内存池顶端产生roo原创 2011-06-06 10:32:00 · 4457 阅读 · 0 评论 -
源码分析vxWorks6.x的ARM板BSP启动过程(上)
BSP用于初始化硬件、引导操作系统并提供软件和硬件之间的设备驱动接口,针对某类体系结构的处理器开发BSP时,了解其基本的体系结构和指令系统是必要的。一般来说,BSP的设计与开发可分为几个步骤:1、 建立开发环境,这个不用说了,就是装集成环境;2、 选择合适的BSP模板,要尽可能的与硬件平台相近;3、 修改或添加wind内核激活前的初始化代码,例如初始化CPU内核、MMU、Cach原创 2011-06-06 10:28:00 · 4836 阅读 · 0 评论 -
FreeScale mpc8xxx + vxWorks平台下spi flash驱动开发三步走
最近在弄PowerPC平台上的spi flash的驱动程序,总体比较简单,在借鉴了U-Boot中的相关源码后,花了两周左右的时间搞定了,对于spi总线之前一直都有了解,但未能实际接触,这次在vxWorks上尝试了一下,确实有不小的收获。由于网上关于vxWorks平台的资料稀少,就原创 2011-10-12 20:23:01 · 11140 阅读 · 5 评论