vxworks启动】的更多相关文章

镜像种类不同,VxWorks的启动过程会有所不同. 我们项目中使用的是加载型VxWorks镜像 函数 函数功能 所在文件 bootTask() (a)    通过createBootLineFromFlash()从FLASH_ADRS中读出配置信息,组装bootline字符串到BOOT_LINE_ADRS (b)    调用autoboot() bootMain.c autoboot() 延迟5s,等待用户输入 超时后调用sysInit() bootMain.c sysInit() (a)   …
vxworks有三种映像: VxWorks Image的文件类型有三种 Loadable Images:由Boot-ROM引导通过网口或串口下载到RAM ROM-based Images(压缩/没有压缩):即将Image直接烧入ROM,运行时将Image拷入RAM中运行. ROM-Resident Images:Image的指令部分驻留在ROM中运行,仅将数据段部分拷入RAM. 注意这里说的三种映像都是包含真正操作系统VxWorks的映像,其中后两种可以直接启动并运行起来,但是第一种不行,它必须…
上一节主要是从映像的分类和各种映像的大致加载流程上看VxWorks的启动过程,这一节让我们从函数级看一下VxWorks的启动过程: 1. Boot Image + Loadable Images: 下面是具体的流程图: 其中第一阶段的执行流程使用的是上图的左边的源文件中的那些函数(romInit->romStart->usrInit->sysHwinit->usrKernelinit->usrRoot);第二阶段执行流程使用的是上图中右边源文件中的那些函数(sysInit-&…
上一节主要是从映像的分类和各种映像的大致载入流程上看VxWorks的启动过程,这一节让我们从函数级看一下VxWorks的启动过程: 1. Boot Image + Loadable Images: 以下是详细的流程图: 当中第一阶段的运行流程使用的是上图的左边的源文件里的那些函数(romInit->romStart->usrInit->sysHwinit->usrKernelinit->usrRoot);第二阶段运行流程使用的是上图中右边源文件里的那些函数(sysInit-&…
vxworks有三个图像: VxWorks Image有三种类型的文件 Loadable Images:由Boot-ROM引导通过网口或串口下载到RAM ROM-based Images(压缩/没有压缩):即将Image直接烧入ROM,执行时将Image拷入RAM中执行. ROM-Resident Images:Image的指令部分驻留在ROM中执行.仅将数据段部分拷入RAM. 注意这里说的三种映像都是包括真正操作系统VxWorks的映像,当中后两种能够直接启动并执行起来.可是第一种不行,它必须…
VxWorks 基本启动方式     按VxWorks内核的下载形式,VxWorks启动总体上分为两种方式:下载型和ROM 型.     @下载型启动方式:bootrom+VxWorks.此时bootrom 被烧入ROM 中,而VxWorks内核映像通过串口或者网口下载到系统RAM中.     @ROM型启动方式:VxWorks直接从ROM中运行,不借助于bootrom引导程序.此时VxWorks内核映像被烧入ROM 中,无bootrom程序.     对于不同的启动方式,VxWorks操作系统…
vxWorks/BootROM Imageq启动顺序详解 VxWorks image     分为在ROM中运行和在RAM中运行两种,两者启动顺序的区别在于sysInit()函数的调用,该函数在RAM运行的VxWorks中初始化RAM.   1.ROM中运行的VxWorks :     VxWorks在ROM中运行,即写入ROM中的VxWorks是非压缩的,不需要解压,系统直接跳到ROM的首地址运行VxWorks.注意:ROM运行的VxWorks并不支持所有的主扳,应以主板手册为准. 1.1执行…
本篇介绍从Solaris.Linux.Windows或VxWorks创建VxWorks启动盘的方法. 从Solaris或Linux创建启动盘 使用Solaris或Linux自带的工具/usr/bin/fdformat.它须要一个引导载入程序vxld.bin,位置为安装文件夹下的$WIND_BASE/host/$WIND_HOST_TYPE/bin/vxld.bin. 插入一张1.44MB的软盘,键入fdformat命令格式化软盘并安装引导. fdformat -U -d -B $WIND_BAS…
3:USBD驱动详解 这一部分将要描述USBD(USB Host Driver)的典型应用.例如初始化,client注册,动态连接注册,设备配置,数据传输,同时还探讨了USBD内部设计的关键特性.这部分是VxWorks下USB驱动的核心. 1 初始化USBD:分为两步 (1)必须至少调用一次函数usbdInitialize().在一个给定的系统中,usbdlnifialize()初始化内部USBD数据结构,并依次调用其它USB驱动栈模块的入口.usbdinitialize()可以在启动时调用一次…
前言:vxworks 的一些文件,如 usrconfig.c 在 config,comp目录中均有出现,因编译方式而选择某一个文件,命令行方式采用 config 目录文件,tornado 图形界面配置选择comp 目录文件.此处采用命令行方式编译. Bootrom 完成 vxworks 启动前的基本引导工作,如最简初始化硬件,下载映像文件并解压到RAM中等操作.值得一提的是某些型号处理器对 cache 等部件初始化有特殊要求,可能需在 bootrom 中进行特殊处理. 一.vxworks映像类型…
一)configAll.h中定义所有定置系统配置的宏 INCLUDED SOFTWARE FACILITIES:定义了基本组件: EXCLUDED FACILITIES:定义了扩充组件,缺省不包括: KERNEL SOFTWARE CONFIGURATION:内核运行的基本参数定义,包括文件个数.任务个数等等: "GENERIC" BOARD CONFIGURATION:板通用属性定义: "MISCELLANEOUS" CONSTANTS:共享的信号量以及相关对象个…
利用vxWorks可裁减可动态链接特性进行模块调试的分析 a) 首先,可将root.c简化,去掉大部分不需要加载的模块和想要调试的模块,以加快系统启动速度. b) 如果vxworks加载的.o中引用了目前系统中不存在的symbol,则系统将该symbol的指针置为0, 即使后面加入了定义该symbol的.o文件,也不会将前面的引用修正,执行这些函数时,系统会崩溃. 因此不能分开加载互相依靠的.o文件.而vxWorks又不能加载.a文件(由于不是elf格式). 解决方法是:将这些.o文件链接成可执…
VxWorks将所有硬件平台相关的代码封装在BSP(Board Support Package)库中,从而为应用层代码提供了独立于硬件平台和体系接口的特性. BSP库中封装了一组统一的API,包括硬件初始化.中断的触发和处理.硬件时钟和定时器管理.内存和总线内存空间映射.内存分配等. target/config/all 所有BSPs公共的配置 target/config/all/configAll.h 包含针对所有VxWorks镜像的默认配置项,一般情况下,不要修改这个文件.如果你希望修改默认配…
常规VxWorks的开发环境都是基于目标开发板或目标机来构建的,但并非所有人都具备这样的条件,所以本文主要介绍如何基于vmware来构建VxWorks开发环境.   Step 1. 安装vmware 首先需要安装vmware, 版本没有什么限制,我装的是vmware 8.0,关于怎么安装就不细说了,一切都用默认的就ok.安装完成后需要配置下vmware虚拟网卡1(VMnet1)的IP,设置为192.168.102.1,后面会用到这个IP设置,后面会用到这个设置. 如下所示:     Step 2…
https://blog.csdn.net/phunxm/article/details/6979089…
转自:http://blog.sina.com.cn/s/blog_5ddb672b0100fkcf.html 1.首先应该先了解Flash ROM的种类 NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来. NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据.通俗的说,只给地址不行,要先命令,再给地址,才能读到NAND的数据,在一个总线完成的. 结论是:ARM无法从NAND直接启动.除非装载完程序,才能使用NAND Flash. Nand Flash的命令…
调试一个程序主要用到的功能: 启动程序 设置函数断点 设置数据断点 单步执行 查看内存值 修改内存值 linux下的gdb,和vxworks下的shell 虽然使用方式和调试命令略有不同,但是都能满足上述程序调试的基本功能.为了更好的理解和记忆,下面给出两者的差异点. 表1 功能 vxworks shell linux gdb 说明 启动程序 sp ts tr c start run finish c   设置函数断点 b bd bd all b <line/num/fun> delete b…
转自:http://blog.csdn.net/blueoceanindream/article/details/6851787 闲来无事,总结一下linux bootrom的启动流程: 环境:MIPS+linux+交换机 nor flash和nand flash nor flash:引脚多:支持片内执行: nand flash:引脚通过IO串行实现,不支持片内执行: 一.基本概念 对于linux的bootloader主要可以分为四个层次: 1.firmware+bootloader 采用固件和…
VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统.Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似MicrosoftVisual C,但是提供了更丰富的调试.仿真环境和工具. 外文名 VxWorks 公    司 Wind River System(风河公司 ) 产品类型 实时操作系统 开发时间 1983年 产    地 美国 开发环境 Tornado/Wind River Workbench 目录…
POSIX能力 VxWorks扩展了POSIX,为了移植,VxWorks提供了额外的POSIX接口作为可选组件.VxWorks实现了POSIX 1003.1(POSIX .1)一些传统接口以及POSIX.1可选功能中的一些实时接口. POSIX和实时系统 VxWorks提供了很多POSIX兼容的API,但并非全部POSIX API都适合嵌入式和实时系统,或完全兼容VxWorks操作系统.因此,VxWorks在少量情况下强加了以下很小的限制来满足实时系统和VxWorks兼容. 交换内存到磁盘不适合…
中断服务程序 ISR 硬件中断处理是实时系统的关键,因为它是外部时间通知系统的方式. ISR亦称为中断处理函数,是对中断的正确响应.可以使用任何ISR连接到任何没有被VxWorks使用的中断上.当关联的中断发生时,VxWorks运行ISR:ISR的处理不会延迟,除非你配置系统去延迟. VxWorks的ISR配置 默认支持ISR.但是,中断栈和额外特征可以被配置.此外,ISR的延迟支持和显示函数支持可以被增加到系统. 配置中断栈 所有中断使用相同的中断栈.栈在系统启动时更加配置参数来分配和初始化.…
概述 VxWork系统任务 任务调度 任务创建和管理 任务的错误状态 任务异常处理 共享代码和重入 概述 现代实时操作系统是基于多任务和任务间通信的概念的.多任务环境运行一个实时进程RTP可以被作为一系列相互独立的任务集,每一个任务都有自己的执行线程和系统资源.任务是VxWorks调度的基本单元.所有任务,不管是在内核中,还是进程中,使用相同的调度(VxWorks进程本身不被调度). 任务的概念与其他操作系统的线程概念比较类似.多任务为应用程序对多个孤立的实时事件的控制和反应对提供了基础.在单核…
VxWorks的系统任务 VxWorks在引导时启动的系统任务依赖于配置,有些总是运行.任务集与VxWorks的基本配置相关,很少的任务常用于可选的组件. 注意:别挂起.删除或改变任何系统任务的优先级.否则将导致不可预期的系统行为. 基本VxWorks任务 Root Task 任务名称 tRootTask 优先级 0 触发事件 系统启动 组件 N/A 描述 是第一个被内核执行的任务.入口函数是usrRoot,它初始化大部分VxWorks的功能.通常该任务在所有初始化完成之后终止. 它启动tLog…
5.1 介绍 针对C++的VxWorks配置 C++头文件 使用C++启动任务 C和C++之前调用代码 C++编译器说明 在信号处理和ISR中使用C++ 下载C++编写的内核模块 C++编译器的不同 命名空间 C++异常处理 C++示例 介绍 注意:风河C++编译器与GNU C++二进制文件不兼容. 针对C++的VxWorks配置 默认情况下,VxWorks只包含了最小的C++支持.可以通过包含所有或部分组件来支持C++的全部或部分功能, INCLUDE_CTORS_DTORS 默认包含了该组件…
#1 什么是内核应用程序? #2 开发内核应用程序注意事项 什么是内核应用程序? 内核应用程序不同于RTP程序,它允许在内核态,与操作系统使用相同的地址空间.因此,它与操作系统会相互干扰.它可以编译成内核应用程序模块,亦可以与操作系统映像静态连接生成一个映像.应用程序模块可以被动态加载,因此在开发和调试阶段非常有用,它不必重新编译操作系统映像,并且可以存放在任何内核支持的文件系统中,如NFS,使用ROMFS文件系统的FLASH或ROM中,或磁盘上.但是,与操作系统静态链接显然更适合生产使用. 由…
第三章第二节 mkimage工具制作Linux内核的压缩镜像文件,需要使用到mkimage工具.mkimage这个工具位于u-boot-2013. 04中的tools目录下,它可以用来制作不压缩或者压缩的多种可启动镜像文件.mkimage在制作镜像文件的时候,是在原来的可执行镜像文件的前面加上一个16个byte(0x40)的头,用来记录参数所指定的信息,这样u-boot才能识别出制作出来的这个镜像是针对哪一个CPU体系结构.哪一种OS.哪种类型.加载到内存中的哪个位置.入口点在内存的哪个位置以及…
在visualbox下运行vxworks 先来看一张效果图: 在tornado端 成功运行第一个程序,输出了visualbox can run the vxworks ! 在vmware下的速度快多了! 不过telnet组件添加后,有时登录不了,还是上一张登录成功的图吧,哈哈. 用i命令输出当前的任务: 好吧,来看看我们的配置是怎么样的吧. visualbox的网卡设置 VirtualBox Host-Only Network: bsp用的是C:\Tornado2.2\target\config…
VxWorks 是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统.Tornado 是WRS 公司推出的一套实时操作系统开发环境,类似MicrosoftVisual C,但是提供了更丰富的调试.仿真环境和工具. 外文名 VxWorks 公    司 Wind River System(风河公司 ) 产品类型 实时操作系统 开发时间 1983年 产    地 美国 开发环境 Tornado/Wind River Workbench  …
vxWorks编程API 一.官方的Program Guide 位于安装目录下:\docs\vxworks\guide\index.html 二.常用的库: #i nclude "taskLib.h" #i nclude "msgQLib.h" #i nclude "semLib.h" #i nclude "ioLib.h" #i nclude "wdLib.h" #i nclude "logLi…