Launch sample apps standalone without App manager
For debugging purpose you can run your applications standalone without the app manager. Once ssh into the raspberry Pi do the following,
A — Shutdown the app manager.
systemctl stop appmanager
B — Start the westeros service (Needed for graphics to be displayed).
systemctl start westeros
C — Run the provided run_partner_app.sh script provided in the partnerapps folder.
By default the above shell script runs the rne_triangle sample app. But it can easily be modified to run any app of your choosing by editing the last line in the script.
D — To use the app manager again, just start its service back up.
systemctl start appmanager
Google breakpad support is available for the applications. For more information about Google breakpad and it’s integration, check this:
The static library is added as part of SDK. The rne player application, included as part of Firebolt® SDK samples, has breakpad support.
If a shared library has secondary dependencies which it cannot resolve, the following linker flags should be added to tell the linker to ignore its undefined symbols
Currently GDB is not shipped with the firmware/SDK. It can be built with the sdk and copied to the device. Shell/SSH access is necessary to use it.
Download the source for gdb.
A — Make sure you are in a shell setup for Firebolt® Development. Create a directory for installing gdb.
B — Enter the directory of the downloaded gdb source, CONFIGURE_FLAGS is already set in a Firebolt® shell for cross compiling needs.
./configure $CONFIGURE_FLAGS --prefix=/path/to/gdb_install make //make install At the root of your usb key, create a usr //directory cd /path_to_root_of_usb_key mkdir usr
C — Copy contents of gdb_install directory into usr on your usb key
cp -r gdb_install/* /path_to_root_of_usb_key/usr/
D — Insert usb key into device. Edit run_partner_app.sh script with the following:
E — Add the above to the script so gdb libs can be found. Change the launch line to prefix with the path to gdb on the key
F — This launch script provided with the Firebolt® SDK can be modified to launch any binary built with and without gdb. The launch script should be at the root of the partnerapps folder.
Sometimes compiled library dependencies can exist in the Firebolt® sdk but not on the firmware. For example, when running GDB it may say its missing
A — This can be resolved by copying the needed Firebolt® SDK library onto our new lib directory on the key:
cp /path_to_sdk/sysroots/cortexa15t2hf-neon-rdk-linux-gnueabi/lib/libncurses.so.5 /path_to_root_of_usb_key/usr/lib/
To generate corefiles for Firebolt® development purposes, insert the usb key into the device. Create a cores directory on the key.