module ti.sysbios.rts.gnu.SemiHostSupport |
|
|
This module does the required setup for supporting Semi-Hosted SYS/BIOS
applications for all Cortex-A and Cortex-M GNU targets
For Cortex-A targets, this module generates a SVC_Handler() function and
registers it as the default SWI/SVC handler.
[
more ... ]
#include <ti/sysbios/rts/gnu/SemiHostSupport.h>
Functions common to all target modules |
|
|
DETAILS
For Cortex-A targets, this module generates a SVC_Handler() function and
registers it as the default SWI/SVC handler.
This module also registers a startup last function
(see
Startup.lastFxns) that initializes
the file handles for all Cortex-A and Cortex-M GNU targets.
Adding Semi-Hosting support to a SYS/BIOS application requires linking
with a semi-hosting gnu library called "librdimon" and including this
module in the config script.
Here's an example of including this module in the *.cfg file.
var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
The following examples illustrate how to link with the Semi-Hosting library
in the different build flows supported by SYS/BIOS:
- When using package.bld build flow, the following code needs to be added to
the config.bld file:
var gccArmTargets = xdc.loadPackage('gnu.targets.arm');
// For Cortex-A8 target
gccArmTargets.A8F.bspLib = "rdimon";
// For Cortex-A9 target
gccArmTargets.A9F.bspLib = "rdimon";
// For Cortex-A15 target
gccArmTargets.A15F.bspLib = "rdimon";
// For Cortex-M3 target
gccArmTargets.M3.bspLib = "rdimon";
// For Cortex-M4 target
gccArmTargets.M4.bspLib = "rdimon";
// For Cortex-M4F target
gccArmTargets.M4F.bspLib = "rdimon";
- When using configuro or building a CCS project, the user needs to add
the following link options to link with the librdimon.a library.
-Wl,--start-group -lrdimon -Wl,--end-group
NOTE
If the SemiHostSupport module is used without linking with the librdimon
library, the application build will generate a linker error. The linker
complaints about a missing "initialise_monitor_handles" symbol which is
defined in librdimon library. Please do not include this module if you
are not linking with librdimon library to avoid any linker errors.
Module-Wide Built-Ins |
|
// Get this module's unique id
Bool SemiHostSupport_Module_startupDone();
// Test if this module has completed startup
// The heap from which this module allocates memory
Bool SemiHostSupport_Module_hasMask();
// Test whether this module has a diagnostics mask
Bits16 SemiHostSupport_Module_getMask();
// Returns the diagnostics mask for this module
Void SemiHostSupport_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
var SemiHostSupport = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
module-wide config parameters
generated on Thu, 25 May 2017 22:10:20 GMT