VxWorks Booting Process

VxWorks Booting Process

 

一、romInit.s -> romInit()

/*romInit - entry point for VxWorks in ROM*/

1、  initialize CPU and memory

2、  copy bootrom to ROM_TEXT_ADRS

3、  initialize STACK

4、  lock INTERRUPT

5、  jump to romStart()

二、romStart.c->romStart()

/*this is the first C code after reset*/

1、  clear memory

2、  copy vxWorks ROM image to RAM

3、  uncompress if necessary

4、  jump to the object code ENTRY after uncompress

a)         usrEntry - entry point for vxWorks_romCompress, vxWorks_rom and bootrom

b)        sysInit() for vxWorks in RAM(Uncompress)

三、sysALib.s->sysInit()

/*this routine is the system start-up entry point for VxWorks in RAM*/

1、  disable INTERRUPTS

2、  set up STACK

3、  jump to usrInit() in usrConfig.c

三、usrEntry.c->usrEntry()

/*usrEntry - entry point for vxWorks_romCompress, vxWorks_rom and bootrom images.*/

1just jump to usrInit() in usrConfig.c

四、usrConfig.c->usrInit()

/* usrInit - user-defined system initialization routine*/

1、  call sysHwInit0() for BSP-specific initialization

2、  zero out BSS segment for entruing all valiables are initialzed to 0

3、  initialize CACHE and disable CACHE

4、  setting up the interrupt vector base table

5、  installing exception vectors

6、  call sysHwInit() to initialize system hardware

7、  enable CACHE, including instruction cache and data cache

8、  call usrKernelInit() to configure Wind Kernel

9、  if necessary, start WDB before Wind Kernel

10start up root task usrRoot()

/*NOTE: in this point, multitasking environment is not enabled*/

五、usrConfig.c->usrRoot()

/*this is the first task running under multitasking environment, it performs all final initialization and start other tasks*/

1、  call usrKernelCoreInit() to initialize Wind kernel facilities

2、  initialize power managerment, only for PENTIUM

3、  initialize system memory pool

4、  configure memory managerment LIB

5、  initialize sysCtrl support

6、  initialize RTP(real time process)

7、  initialize shared data

8、  initialize shared LIB

9、  initialize MMU

10、              initialize environment valiables

11、              initialize task stack protecting mode

12、              initialize signals

13、              setup system timers

14、              initialize IO system

15、              initialize select LIB

16、              initialize process file system

17、              install console driver and create serial devices

18、              initialize PC_CONSOLE

19、              initialize hash table facilities

20、              initialize symbol table facilities

21、              initialize exception handling

22、              initialize list LIB

23、              initialize logging

24、              initialize POSIX clock

25、              initialize POSIX timers

26、              initialize POSIX shared memory

27、              initialize POSIX memory mapped

28、              initialize debugging

29、              initialize pipe driver

30、              initialize POSIX asyc IO support

31、              initialize STDIO LIB

32、              initialize POSIX queued signals

33、              initialize POSIX semaphores

34、              initialize POSIX threads

35、              initialize POSIX scheduler

36、              initialize signals events

37、              initialize POSIX message queues

38、              dosFs2 filesystem initialization

39、              initialize ramFs filesystem

40、              install ram disk driver

41、              install memory disk driver

42、              install pseudo-terminal driver

43、              initialize SCSI

44、              initialize FD if necessary

45、              initialize ATA

46、              initialize LPT if necessary

47、              initialize TFFS

48、              initialize formatted IO

49、              initialize float point facilites

50、              install DSP surport if necessary

51、              initialize system calls

52、              initialize performance monitoring tools

53、              initialize module loader and unloader

54、              initialize local storage support, such as USB bulk storage

55、              initialize network if INCLUDED

56、              initialize USB component if INCLUDED

57、              initialize shared memory objects

58、              create system and status symbol table

59、              initialize C++ LIB support

60、              initialize Wind Web server

61、              if windview INCLUDED, initialize timestamp

62、              initialize WDB debug agent

63、              initialize interactive SHELL

64、              initialize WINDML if INLCUDED

65、              turn on power managerment

66、              initialize filesystem boot component

67、              initialize Network boot component

68、              initialize the usb keyboard after shell Initialization

69、              optimize MMU

70、              start up usrer’s application

71、              initialize RTP startup facility

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值