(Drew 在开发过程中对下面概念的理解)
Bootrom和Boot image的区别,Boot image和VxWorks image的联系和区别
bootrom 是指on-chip bootrom,在CPU芯片内部,内嵌有小的boot程序(bootloader),类似于PC机主板上的BIOS的存储区域。和boot image不是一回事。VxWorks文档中的bootrom区是指boot image存放的位置。
boot image的作用是把VxWorks image 加载到主板。boot image只初始化很少的硬件系统如串口,网口等。为加载VxWorks image做准备,当VxWorks系统下载完毕后,boot image的作用也就完成了。
VxWorks image含有完整的VxWorks OS。是真正运行于目标板上的操作系统。应用程序运行于VxWorks系统之上。
boot image 和VxWorks image生成在使用BSP文件上的区别在于:在启动顺序中Bootrom调用bootConfig.c,而VxWorks调用usrConfig.c.
在ROM中vxworks运行的方式(和bootrom编译到一起还是单独固化到ROM中),在ROM中的内存分配?
VxWorks加载到主板运行,分不同的情况,如果VxWorks是压缩的,加载时解压到RAM的RAM_HIGH_ADRS.
如果是ROM based VxWorks,VxWorks image的data段复制到RAM的LOCAL_LOW_ADRS, text部分留在ROM并在ROM中执行。
既不压缩又不ROM based的VxWorks直接copy到RAM_LOW_ADRS运行。
若在config.h中修改系统设置,如增加网卡等,是否需要重新烧bootrom?如果增加其他oem产品呢?
如果主板中有Boot image存在则不需要重新烧,用FTP等download加载VxWorks即可。
VxWorks 系统编程中任务级与中断级的通讯如何实现?
中断是由硬件触发,软件的作用只是将中断服务例程(ISP)与中断事件连接起来.
1.使能中断,函数intEnable().
2.用intConnect()登记中断号,和相应的中断例程ISR. 这样一旦有中断发生,系统自动跳转到相应位置执行ISR.
Bootloader怎么得到,如果对开发板有些改动,还能使用开发板的bootloader吗?bootloader起到什么作用?
Bootloader相当于PC机主板上的BIOS,是最底层的引导软件,初始化主板的基本设置,为接收外部程序做硬件上的准备.
有些bootloader已经嵌在CPU内了,没有bootloader的CPU可以在片外的eeprom内做bootloader,也可以不要bootloader,直接通过JTAG口灌入程序,开发板改动基本上不会影响bootloader.
|