📄 vxworks bsp和启动过程.htm
字号:
href="http://drew.nease.net/mypage/example/config.htm"
target=_blank>BSP设置部分及生成下载</A></P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>README</BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><BIG>BSP发布纪录,版本,总的文档</BIG></P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>config.h</BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%">包括所有涉及CPU主板的设置及定义(includes,definations),参见
<A href="http://drew.nease.net/mypage/example/config.htm"
target=_blank>BSP设置文件及生成下载</A></P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>configNet.h</BIG></STRONG></P>
<BLOCKQUOTE>
<P
style="LINE-HEIGHT: 150%"><BIG>网络驱动的主要设置文件,主要对END驱动设置.</BIG></P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>romInit.s</BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%">汇编语言文件,是VxWorks Boot ROM和ROM based
image的入口,参见 <A href="http://drew.nease.net/mypage/sourcecode.htm#INIT"
target=_blank>系统启动部分</A></P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>sysALib.s</BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%">汇编语言文件,程序员可以把自己的汇编函数放在这个文件里,在上层调用.VxWorks
image的入口点_sysInit在这个文件里,是在RAM中执行的第一个函数.</P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>sysLib.c</BIG></STRONG></P>
<BLOCKQUOTE>
<P
style="LINE-HEIGHT: 150%"><BIG>包含一些系统相关的函数例程,提供了一个board-level的接口,VxWorks和应用程序可以以system-indepent的方式生成.这个文件还能包含目录target/config/comps/src的驱动.</BIG></P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>sysScsi.c</BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%">可选文件用于Scsi设备设置和初始化.</P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>sysSerial.c</BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%">可选文件用于所有的串口设置和初始化.</P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>bootrom.hex</BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><BIG>ASIC文件包含VxWorks Boot
ROM代码</BIG></P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>VxWorks</BIG></STRONG></P>
<BLOCKQUOTE>
<P
style="LINE-HEIGHT: 150%">运行在目标机上,完整的,连结后的VxWorks二进制文件.</P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>VxWorks.sym</BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%">完全的,连结后带有符号表的VxWorks二进制文件</P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG><BIG>VxWorks.st</BIG></STRONG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%">完全的,连结后,standalone,带有符号表的VxWorks二进制文件</P>
<P style="LINE-HEIGHT: 150%"> </P></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=3><STRONG>BSP用"make"来编译连接生成(Created),而不是用Tornado的工具.</STRONG></FONT>
</P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=3><STRONG>BSP和应用程序都可以在"make"或"tornade"上开发(developed)</STRONG></FONT>
</P></LI></UL>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=3><STRONG>BSP被设置包括以下驱动:</STRONG></FONT> </P></LI></UL>
<BLOCKQUOTE>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=3>中断控制interrupt
controller,计时器timer(sys/aux),串口UART(serial),显示屏LCD,键盘Keyboard(opt),触摸屏touch-screen(opt).</FONT></P>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=3>前面三个是BSP的主要部分. </FONT></P></BLOCKQUOTE></BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=3><STRONG>BSP默认的download VxWorks RAM image方式是从ethernet.</STRONG></FONT>
</P></LI></UL>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=3><STRONG>串口电缆需要用来和开发板(COM1)通信,通过协议WDB.</STRONG></FONT>
</P></LI></UL></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=4><STRONG> VxWorks Image的种类:</STRONG></FONT></P>
<BLOCKQUOTE>
<BLOCKQUOTE>
<BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=5><SMALL><SMALL>Loadable images.</SMALL></SMALL></FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN
face=System>ROM</FONT><FONT lang=ZH-CN face=宋体>-based
images---compressed/uncompressed.</FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN
face=System>ROM</FONT><FONT lang=ZH-CN><STRONG>-</STRONG>Resident
images.</FONT><FONT lang=ZH-CN face=宋体>
</FONT></P></LI></UL></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4><STRONG>VxWorks
boot images---</STRONG>A VxWorks image designed to load another VxWorks
images containing application code (often refer to as "boot code")</FONT>
</P></LI></UL>
<BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=5><SMALL><SMALL>"Burned" into ROM or loaded into
Flash.</SMALL></SMALL></FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体>Maybe execute in
ROM/Flash (ROM-resident).</FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN>Maybe execute out of
RAM.</FONT><FONT lang=ZH-CN face=宋体> </FONT></P></LI></UL></BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4><STRONG>VxWorks
images---</STRONG>A VxWorks image containing "end-user"
code,Sub-types:</FONT> </P></LI></UL>
<BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=5><SMALL><SMALL>Loadable VxWorks image--VxWorks images loaded by
VxWorks boot image.</SMALL></SMALL></FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体>VxWorks ROM
image--VxWorks image "burned" into ROM or loaded into Flash.May execute in
Flash.</FONT> </P></LI></UL>
<P style="LINE-HEIGHT: 150%"><BIG><STRONG>VxWorks images consist
of:</STRONG></BIG>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><SMALL><FONT lang=ZH-CN face=宋体
size=5><SMALL>Text segment---executable
instruction.</SMALL></FONT></SMALL> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体>Data
segment---Initilized global and static varibles.</FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN>BSS.</FONT><FONT lang=ZH-CN
face=宋体> </FONT></P></LI></UL></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><B>VxWorks Image文件类型的说明</B></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><B>Uploaded images(通过网口或串口下载到RAM):</B></P>
<P style="LINE-HEIGHT: 150%">vxWorks - basic Tornado, shell 和 symbol table
在主机端 <BR>vxWorks.st(文件很大)- 独立的 image,包含shell和 symbol
table在目标板运行<BR><BR><B>ROM based images(直接烧入ROM的VxWorks):</B></P>
<P style="LINE-HEIGHT: 150%">vxWorks_rom - Tornado in ROM,非压缩, 在 RAM
中运行<BR>vxWorks.res_rom_nosym - Tornado in ROM, 非压缩,在 ROM
中运行<BR>vxWorks.st_rom - Stand-alone in ROM, 压缩, RAM 中运行<BR>vxWorks.res_rom -
Stand-alone in ROM, 非压缩, ROM 中运行</P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"> </P>
<P style="LINE-HEIGHT: 150%"><STRONG>非BSP make文件中包括:</STRONG></P>
<P style="LINE-HEIGHT: 150%"><BIG><STRONG> </STRONG>include
$(TGT_DIR)/h/make/rules.library</BIG></P>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><BIG>include
$(TGT_DIR)/h/make/defs.default(define default value for makefile)</BIG></P>
<P style="LINE-HEIGHT: 150%"><BIG>...............</BIG></P></BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><STRONG>BSP make文件中包括: </STRONG>include
$(TGT_DIR)/h/make/rules.bsp ...</P>
<P style="LINE-HEIGHT: 150%">ARM7 做VxWorks imgage 时,在makefile 文件中用 MACH_EXTRA
代替 LIB_EXTRA, 这样生成的VxWorks时不压缩的在ROM中运行的程序(uncompressed ROM-based VxWorks
image),否则就是压缩的在RAM中运行的程序(compressed RAM-based VxWorks image).</P>
<P style="LINE-HEIGHT: 150%"> </P>
<P style="LINE-HEIGHT: 150%"><BIG><STRONG>启动顺序的一些概念</STRONG></BIG>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4>The sequence of
events which occur as power-up are a function of type VxWorks image with
will run.</FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%">处理器"跳"到再ROM或Flash中Boot-strap 程序的起点.
这个程序主要有以下作用: </P></LI></UL>
<BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%">关闭中断(来自处理器) </P>
<LI>
<P style="LINE-HEIGHT: 150%">初始化目标内存(target memory) </P>
<LI>
<P style="LINE-HEIGHT: 150%">装载要运行的VxWorks image segments </P>
<LI>
<P style="LINE-HEIGHT: 150%">Jumps to code to place target in quiet state
</P></LI></UL></BLOCKQUOTE></BLOCKQUOTE>
<BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4><STRONG>启动顺序
Boot Sequence--Loadable VxWorks image</STRONG></FONT> </P></LI></UL>
<BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4>Bootstrap
code executes and loads text and data segments of boot code(from ROM or
Flash) into RAM.具体执行如下:</FONT> </P></LI></UL>
<BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4>Boot code
compressed-Decompression during copy</FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4>Boot code
uncompressed-copy</FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4>Boot code
is ROM-resident-copy data segment only</FONT> </P></LI></UL></BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4>Boot program
executes and loads VxWorks image into RAM.<U>Jumps to VxWorks load
point</U>.</FONT> </P>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4>System
initialization code statically linked into loaded VxWorks image executes
and completes initialization.</FONT> </P></LI></UL></BLOCKQUOTE>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4><STRONG>Startup
Sequence--VxWorks 初始化</STRONG></FONT> </P></LI></UL>
<BLOCKQUOTE>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体
size=4><STRONG>做以下工作:</STRONG></FONT>
<UL>
<LI>
<P style="LINE-HEIGHT: 150%"><FONT lang=ZH-CN face=宋体 size=4>Place
hardware environment in a quiet state.</FONT> </P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -