共1条
1/1 1 跳转至页
[转帖]vxwork bsp的制作2
vxworks下bsp制作教程
1 vxworks概述
vxworks是WIND RIVER公司的产品。作为一种商用的嵌入式操作系统?vxworks拥有
强大的功能和友好的用户界面。与免费的嵌入式操作系统相比?商用操作系统
经过严格的测试?具有良好的实时性?易用性和大量的文档支持?但是它的源码是
不公开的并且价格昂贵;免费的嵌入式操作系统有很多?大都是linux的移植?公开
源代码?但缺乏文档?要对照源码进行开发。
2 BSP的流程
BSP流程分成两部分。首先是位于BootRom中的Boot代码?它的作用是实现配置硬件和
启动vxworks下载程序。接下来是下载后跳转到vxworks的入口地址运行操作系统和
应用程序。
流程入图:
ROM中的启动代码部分:
RomInit在文件在文件romInit.s中。它是运行的开始?实现这一部分是首先的。
它实现判断启动类型?配置内核和非内核寄存器以及内存和外围设备的读写时序
?因此可以在此处加入内存检测功能。在BSP中无法进行调试?只能通过闪灯实现
云信正确与否的判断。闪灯功能函数也要在此加入。
判断启动类型和配置寄存器?这一部分不需要改动。
配置内存和外围设备读写时序?要进行改动。这一部分的SDRAM?ROM?FLASH?FPGA
有相应的模板可以参考。它的实现是通过使用宏定义来实现的。但是要改动的
话也不难?一般是改动空间大小的屏蔽位?读写位数?以及片选寄存器OR和BR。
至于特殊外设的读写有待讨论。
内存检测在这里实现较复杂?它根据相应的内存检测算法实现。主要是对地址线
和数据线的检测。通过写入数据再会读出数据来判断。使用"走步1"和"走步0"
算法。这一部分较多的依赖硬件?可移植性较差?根据自己的单板改动。
闪灯在这一部分是强烈推荐的。因为闪灯才能定位程序的运行位置。闪灯函数
可移植?一般要改动?因为灯可能接在不同的I/O口上。另外注意860SAR的PORT B
是32位的。具体的端口见相应的CPU的I/O口的参数?配置相应的寄存器。
RomInit在函数结尾跳入RomStart。
RomStart在BootInt.c文件中。它是系统运行的第一个C函数。这一部分是
Wind River公司提供的标准程序?一般不需改动。该函数是C的入口函数,
由汇编程序调用,主要完成清内存,将ROM中的程序拷贝到RAM,解压并跳
至解压后的程序处运行。
UsrInit在BootConfig.c文件中。它主要是实现硬件的初始化。其中涉及
到串口?网口的初始化?CONSOLE的配置等。
其中串口和网口的配置是BSP的重要部分?但860CPU对串口和王口有很好的
支持?只要做很小的改动即可?串口很简单?网口较复杂一些。
UsrRoot在BootConfig.c文件中。它主要是实现vxworks文件的下载?并且
跳转到vxworks的入口地址。从而进入到操作系统中去。
VXWORKS文件中的代码部分:
SysInit在sysAlib.s中。它是vxworks的启动代码。它与RomInit的作用
相同?对于这个文件?我们一般不需要去改动它。
UsrInit在Usrconfig.c中。它的作用与Boot中的UsrInit的作用相同?
他们都调用SysLib.c中的子函数。实现相同的硬件初始化功能。
UsrRoot在UsrConfig.c中。它的作用与Boot中的UsrRoot的作用类似
。但是这里的UsrRoot是最终进入到应用程序中去。
--
好好休息
天天向上!
※ 来源:.南京大学小百合站 bbs.nju.edu.cn.[FROM: 202.119.94.83]
关键词: 转帖 vxwork 制作 实现
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |