📄 vxworks bsp和启动过程.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0041)http://drew.nease.net/mypage/bsp_boot.htm -->
<HTML><HEAD><TITLE>VxWorks BSP和启动过程</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb_2312-80">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<META content="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot"
name=Template></HEAD>
<BODY vLink=#800080 link=#0000ff
background="VxWorks BSP和启动过程.files/background.gif">
<P><BIG>>><A href="http://drew.nease.net/">Drew的主页</A></BIG>---><A
href="http://drew.nease.net/mypage/VxWorks.htm"><FONT lang=ZH-CN
face=System>VxWorks</FONT></A><FONT lang=ZH-CN
face=System><BIG>--------->BSP和启动过程</BIG></FONT></P>
<DIV align=center>
<CENTER>
<TABLE borderColor=#88deea height=23 cellSpacing=1 borderColorDark=#88deea
width=754 bgColor=#ffffff borderColorLight=#88deea
background="VxWorks BSP和启动过程.files/404.htm" border=1>
<TBODY>
<TR>
<TD align=middle width=83 height=1>
<P align=center><A href="http://drew.nease.net/"><BIG>主页</BIG></A></P></TD>
<TD align=middle width=83 height=1>
<P align=center><A href="http://drew.nease.net/mypage/VxWorks.htm"><FONT
lang=ZH-CN face=System>VxWorks</FONT></A></P></TD>
<TD align=middle width=84 height=1>
<P align=center><A href="http://drew.nease.net/processor/arm.htm"><FONT
lang=ZH-CN face=System>ARM</FONT></A></P></TD>
<TD align=middle width=84 height=1>
<P align=center><A href="http://drew.nease.net/processor/mpc860.htm"><FONT
lang=ZH-CN face=System>PowerPC</FONT></A></P></TD>
<TD align=middle width=84 height=1>
<P align=center><A href="http://drew.nease.net/mypage/driver.htm"><FONT
lang=ZH-CN face=System>硬件驱动</FONT></A></P></TD>
<TD align=middle width=84 height=1>
<P align=center><A href="http://drew.nease.net/mypage/network.htm"><FONT
lang=ZH-CN face=System>网络协议</FONT></A></P></TD>
<TD align=middle width=84 height=1>
<P align=center><A
href="http://drew.nease.net/mypage/sourcecode.htm"><FONT lang=ZH-CN
face=System>程序示例</FONT></A></P></TD>
<TD align=middle width=84 height=1><A href="http://www.embhelp.com/bbs"
target=_blank><FONT face=System color=#8000ff>技术论坛</FONT></A></TD>
<TD align=middle width=84 height=1>
<P align=center><A href="http://www.embhelp.com/download"><FONT lang=ZH-CN
face=System>下载</FONT></A></P></TD></TR></TBODY></TABLE></CENTER></DIV>
<P align=center> </P>
<P align=center><FONT lang=ZH-CN face=宋体 color=#0000ff size=6><B>VxWork BSP
和启动过程</B></FONT></P>
<P> </P>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=4><STRONG>开发BSP主要的两点:</STRONG></FONT>
<OL>
<LI>
<P
style="LINE-HEIGHT: 150%">系统image的生成,image的种类,image的download下载过程,系统的启动顺序和过程,调试环境的配置及远端调试的方式和方法,相应BSP设置文件的修改(网络,串口..),BSP各文件的组成和作用.
</P></LI></OL>
<OL start=2>
<LI>
<P style="LINE-HEIGHT: 150%">要对系统底层驱动清楚,也就是对CPU及相关的硬件有所了解.主要是32微处理器(上电启动过程,
download
image的方式方法,读写ROM,地址空间分配,MMU,寄存器,中断定义,..).参照硬件资料,多读一些源码会有所帮助.<BR></P></LI></OL>
<P><BIG><STRONG>Tornado 2 开发调试环境协议框图</STRONG></BIG></P>
<DIV align=center>
<CENTER>
<TABLE height=3 width=618 border=0>
<TBODY>
<TR>
<TD width=306 height=3>
<P align=center><STRONG>主机开发(Host Development System)</STRONG></P></TD>
<TD width=98 height=3></TD>
<TD width=196 height=3><STRONG>目标机(Target
System)</STRONG></TD></TR></TBODY></TABLE></CENTER></DIV>
<DIV align=center>
<CENTER>
<TABLE height=197 width=579 border=0>
<TBODY>
<TR>
<TD width=293 bgColor=#c0c0c0 height=197>
<DIV align=center>
<CENTER>
<TABLE height=53 width="77%" border=0>
<TBODY>
<TR>
<TD width="48%" colSpan=2 height=52>
<P align=center>Tornado 工具<SMALL> </SMALL></P></TD>
<TD width="47%" height=53 rowSpan=5>
<P align=center><STRONG> </STRONG></P>
<P
align=center><STRONG>WTX协议通信<==========><BR></STRONG></P></TD>
<TD width="34%" height=1></TD></TR>
<TR>
<TD width="39%" height=53 rowSpan=4>
<DIV align=center>
<CENTER>
<TABLE width="100%" bgColor=#00ffff border=1>
<TBODY>
<TR>
<TD width="100%">Editor</TD></TR>
<TR>
<TD width="100%">Project</TD></TR></TBODY></TABLE></CENTER></DIV></TD>
<TD width="9%" height=53 rowSpan=4>
<DIV align=center>
<CENTER>
<TABLE width="100%" bgColor=#00ffff border=1>
<TBODY>
<TR>
<TD align=middle width="100%">Shell</TD></TR>
<TR>
<TD align=middle width="100%">Debugger</TD></TR>
<TR>
<TD align=middle width="100%">Browser</TD></TR>
<TR>
<TD align=middle
width="100%">Windview</TD></TR></TBODY></TABLE></CENTER></DIV></TD>
<TD width="34%" height=92></TD></TR>
<TR>
<TD width="34%" height=23>
<DIV align=center>
<CENTER>
<TABLE width="100%" bgColor=#ffff00 border=1>
<TBODY>
<TR>
<TD width="100%">
<P align=center>Target
Server</P></TD></TR></TBODY></TABLE></CENTER></DIV></TD></TR>
<TR>
<TD width="34%" height=1>
<P align=center>|</P></TD></TR>
<TR>
<TD width="34%" height=56>
<DIV align=center>
<CENTER>
<TABLE width="100%" bgColor=#00ffff border=1>
<TBODY>
<TR>
<TD width="100%">Target Agent</TD></TR>
<TR>
<TD width="100%">VxWorks Target
Simulator</TD></TR></TBODY></TABLE></CENTER></DIV></TD></TR></TBODY></TABLE></CENTER></DIV></TD>
<TD width=120 height=197>
<P align=center><STRONG>WDB协议通信<BR><==========></STRONG></P></TD>
<TD width=152 bgColor=#c0c0c0 height=185>
<DIV align=center>
<CENTER>
<TABLE height=107 width=93 bgColor=#00ffff border=1>
<TBODY>
<TR>
<TD align=middle width=87 bgColor=#00ffff
height=16>Application</TD></TR>
<TR>
<TD align=middle width=87 height=1>VxWorks <STRONG>OS</STRONG></TD></TR>
<TR>
<TD align=middle width=87 bgColor=#00ff00 height=82><STRONG>VxWorks
Target
(WDB</STRONG>)Agent</TD></TR></TBODY></TABLE></CENTER></DIV></TD></TR></TBODY></TABLE></CENTER></DIV>
<P><STRONG>两个主要两个协议</STRONG></P>
<BLOCKQUOTE>
<P><STRONG>WTX</STRONG>协议(Wind River Tool eXchange): 用于开发机内部Tornado工具与Target
Server之间通信.</P>
<P><STRONG>WDB</STRONG>协议(Wind DeBug): 用于主机Target
Server与目标机之间的通信.</P></BLOCKQUOTE>
<P> </P>
<P><FONT lang=ZH-CN face=宋体 size=5><STRONG>一.基本概念</STRONG></FONT></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><BIG><STRONG><FONT
lang=ZH-CN>BSP定义:</FONT></STRONG></BIG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><SMALL><SMALL><FONT lang=ZH-CN face=宋体
size=4>Provides VxWorks with primary interface to hardware
environment.</FONT></SMALL></SMALL></P></BLOCKQUOTE>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><FONT lang=ZH-CN face=宋体
size=5><SMALL><SMALL>作用: </SMALL></SMALL></FONT></STRONG>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=5><SMALL><SMALL>在通电后,初始化硬件.</SMALL></SMALL></FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN
face=System>支持VxWorks和硬件驱动通信</FONT><FONT lang=ZH-CN face=宋体>.</FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN>使hardware-dependent 和
hardware-independent在VxWorks系统中很好的结合.</FONT><FONT lang=ZH-CN face=宋体>
</FONT></P></LI></UL></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG>主要BSP主要文件目录的组成及主要文件的作用:</STRONG></P>
<BLOCKQUOTE>
<UL>
<LI>
<P
style="LINE-HEIGHT: 150%"><BIG><STRONG>目录target/config/All:</STRONG></BIG>
</P></LI></UL>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%">这个目录下的文件是所有BSP文件共享的,不是特别需要不要更改里面的任何文件.</P>
<P style="LINE-HEIGHT: 150%"><STRONG>configAll.h: </STRONG></P>
<BLOCKQUOTE>
<P
style="LINE-HEIGHT: 150%">缺省定义了所有VxWorks的设置.如果不用缺省的设置,可在BSP目录下的config.h文件中用#define或#undef方式来更改设置.</P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG>bootInit.c: </STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%">在romInit.s后,完成Boot
ROM的第二步初始化.程序从romInit.s中的romInit()跳到这个文件中的romStart().来执行必要的解压和ROM
image的放置.</P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG>bootConfig.c:</STRONG> 完成Boot ROM
image的初始化和控制.</P>
<P style="LINE-HEIGHT: 150%"><STRONG>usrConfig.c:</STRONG> VxWorks
image的初始化代码.</P></BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>目录target/config/comps/src:
</BIG></STRONG></P></LI></UL>
<BLOCKQUOTE>
<BLOCKQUOTE>
<P
style="LINE-HEIGHT: 150%"><BIG>涉及系统核心的components,主要由target/config/All中usrConfig.c中函数调用</BIG></P></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
<UL>
<LI>
<P
style="LINE-HEIGHT: 150%"><BIG><STRONG>目录target/config/bspname:</STRONG></BIG>
</P></LI></UL>
<BLOCKQUOTE>
<P
style="LINE-HEIGHT: 150%"><BIG><STRONG>包含系统或硬件相关的BSP文件.</STRONG></BIG></P></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>Makefile </BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><BIG>一些命令行控制images的生成,</BIG>参见 <A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -