The following procedure describes how to apply a Screen and Windowing patch to a target system that's running Neutrino.
Your target hardware is running QNX CAR development platform.
You can run a shell and commands such as pidin.
You have the most recent compatible Screen and Windowing patch.
Ensure that the extracted files and directories reside in a location that's accessible from your target. Once the files and directories are extracted from your Screen and Windowing patch, you should see several files and directories under the parent directory named for the appropriate CPU architecture (e.g., armle-v7).
You will need this location in later steps to set up your environment variables and drivers. We will use SCREEN-DIR when we refer to this location in later steps. To be clear, SCREEN-DIR is the location accessible from your target where you've extracted your Screen and Windowing patch including the CPU architecture directory. For example, SCREEN-DIR could be:
/screen_patch/armle-v7
Under the directory named for the CPU architecture (e.g., armle-v7) from the Screen and Windowing patch, you will have the following directories and their files and subdirectories:
From the output of pidin ar, find the devb process.
pid Arguments 1 procnto-instr -v 4098 devc-seromap -e -F -p -b115200 -c48000000/16 0x49020000^2,74 4099 slogger 4100 pipe 4101 i2c-omap35xx -a2 -i57 -p0x48072000 4102 i2c-omap35xx -a1 -i56 -p0x48070000 4103 io-audio -domap35xx-twl4030 4104 devb-mmcsd-omap3 cam quiet blk cache=2m mmcsd noac12 4105 spi-master -d omap3530 16394 io-usb -d ehci-omap3 ioport=0x48064800,irq=77 20492 sh 32779 pidin ar
4104 devb-mmcsd-omap3 cam quiet blk cache=2m mmcsd noac12
The processes in this example may not be exactly the same as what you will see on your target.
If the devb driver isn't running, start the process with the appropriate mount:
devb-TARGET-SPECIFIC blk automount=hd0@dos:SCREEN-DIR dos exe=all
The hd0 reflects the location in /dev where your screen directory is partitioned. The dos indicates that the extracted screen directories are on a DOS-formatted device.
For example, if you have an OMAP3 board, your Screen and Windowing patch directories were extracted to a DOS-formatted device, and you want to specify the mount of /, then your command would be:
devb-mmcsd-omap3 blk automount=hd0@dos:/ dos exe=all
Check for existing mounts by using the following command:
mountFrom the output of the mount command, verify that the location of your Screen and Windowing patch is listed. For example:
/dev/hd0t6 on / type dos (fat16)
In this example, the output from mount shows that the dos formatted device (/dev/hd0t6) is mounted to /.
If the mount command didn't list the location of your Screen and Windowing patch directories, you must kill the devb process and restart it with the appropriate mount:
slay devb-TARGET-SPECIFIC
devb-TARGET-SPECIFIC blk automount=hd0@dos:SCREEN-DIR dos exe=all
export GRAPHICS_ROOT=SCREEN-DIR/usr/lib/graphics/TARGET-SPECIFIC
For example, if we are using a OMAP3 board with the screen directory location mounted to /, we would need to set our GRAPHICS_ROOT to be:
export GRAPHICS_ROOT=/armle-v7/usr/lib/graphics/omap3export LD_LIBRARY_PATH= SCREEN-DIR/usr/lib :SCREEN-DIR/lib :SCREEN-DIR/lib/dll :$LD_LIBRARY_PATH
SCREEN-DIR/sbin/screen
SCREEN-DIR/usr/bin/gles1-gears
At this point, you should see an animation of a set of gears on your display. You will see confirmation of the frames rendering on your shell:285 frames i 5.002 seconds = 56.977 FPS 300 frames i 5.000 seconds = 60.000 FPS 300 frames i 5.000 seconds = 60.000 FPS ...