VxWorks Operating System Guide (2.3) Board Support Pack BSP

xiaoxiao2021-03-06  14

1.1. Board support package BSP

The board-level support package BSP is responsible for the initialization of the target board hardware, and the real-time kernel is loaded.

For the order of hardware initialization, it can be performed in the following table:

File function () (a) lock interrupt; (b) Disable buffer; (c) initialize system interrupt table (i960) with default value; (d) initialize system errors with default value Table (i960); (e) Initializing the processor register to a default; (f) makes the backtrack failure; (g) Clear all suspension interrupts; (h) activates USRinit (), indicating the start type. SYSALIB.SUSRINIT () () Save BSS (b) Save BootType at SysStartType; (c) Calls ExcVecinit (), initializes all systems and default interrupt vectors; (D) call Syshwinit (), usrkernelinit () Keernelinit (). usrconfig.cusrkernelinit () calls classlibinit (), tasklibinit (), Tasklibinit (), SEMBLIBINIT (), SEMMLIBINIT (), SemClibinit (), Semolibinit (), Wdlibinit (), Msgqlibinit (), qinit ( Workqinit () usrkernel.ckernelinit () initializes and start the kernel. (a) Activate intlocklevelSet (); (b) Creating root stack and TCB from the top of the memory pool; (c) Taskinit (), TASKACTIVATE (), used for usrroot (); (d) call usrroot (). kernellib.cusrroot () Initialize I / O system, drive, device (specified in configall.h and config.h) (a) call sysclkconnect (), sysclkrateset (), iSCLKRASET (), Iosinit (), [TTYDRV ()]; (b) Initialization EXCINIT (), loginit (), SIGINIT (). (c) Initialization pipe, pipedrv (); (d) stdioinit (), mathsoftinit () or mathhardinit () (e) wdbconfig (): Configure and initialize the target agent USRCONFIG. c

In most target boards, VxWorks's entry points are completed by two functions: rominit () and romstart () instead of sysinit (). The initialization process of the specific ROM-based VxWorks is shown in the following table:

The function function function is located 1.Rominit () 2.Romstart () 3.usrinit () 4.usrkernelinit () 5.kernelinit () 6.usrroot () 7.Application Routine (a) Forbidden interrupt; (b) Save boot Type; (c) hardware initialization; (d) call romstart (); (a) copy the data segment from the ROM to the RAM, clear memory; (b) copy the code segment from the ROM to the RAM, it is necessary to understand the compression; c) Call usrinit (); Initializer If the corresponding configuration file is defined, the corresponding function is called to initialize and start the kernel initialization I / O system, the drive, create the device application code rominit.s bootinit.c usrconfig.c usrkernel.c.c Kernellib.c USRCONFIG.C Application Source File

转载请注明原文地址:https://www.9cbs.com/read-50193.html

New Post(0)