Search code examples
drivervxworksbsp

Why isn't my updated pointer driver included in new built VxWorks BootROM?


I've taken over a running VxWorks-based project (an embedded system) which works fine for long time. Now, I was assigned to update relative codes to the new touch panel. After tracing its codes enough, I know the codes I must update is on the pointer driver. The problem in front of me is not how to update codes correctly, but how to rebuild it.

From its Tornado project, I found its BSP is on folder under \target\config\mitac3. Besides, I found its pointer driver source file is at \target\h\ugl\driver\pointer. I can build the driver by Tornado IDE by Tools--> WindML --> Build. After the building, a library file generated at \lib. According to VxWorks BSP documentation, the driver should be included in BootROM. I can build BootROM correctly. What confused me is that my built BootROM doesn't include the library containing the pointer driver. I assure it for if I removed that library containing the pointer driver, BootROM can still be built successfully. How come?

The driver can not be brought into VxWorks system image either for I can build VxWorks even the library containing the pointer driver is removed.

It works fine before, so I believe there must be a way to build image (VxWorks or BootROM) including the pointer driver I updated. The original designer is not in contact. How can I find the way to rebuild a workable image including the new updated pointer driver.

Additional information: 1. The system image type is "bootable VxWorks image" 2. The project can be built successfully to generate VxWorks which can be used together with BootROM to form a bootable CF card.


Solution

  • In "WindML Configuration" window, before to build, beside of selecting "Configuration File" & "Processor", some "Configuration Item" must be set correctly. Firstly, in "Configuration Item", the "Miscellaneous" option must be selected. Then, in "Build Options" group, the archive to be built must be checked.

    In my case, I would like to update my Pointer Driver which will be built by checking "Build WindML archive" and it will be saved at a library called "libPENTIUMgnuUgl.a". That library will be integrated into BSP library, "libPENTIUMgnuvx.a", which will be built by checking "Build VxWorks archive". BSP library will be further integrated into my final "bootable VxWorks image", which will be built from my VxWorks project.

    After setting correctly, selecting "Input" at "Configuration Item", then click "Build" button to start the building process.

    When the project was delivered to me, the two checks, "Build WindML archive" & "Build VxWorks archive" were unchecked. That's the reason why I can't get new BSP containing new driver and can't get new bootable VxWorks image containing new BSP or new driver.