module ti.sysbios.family.arm.v7r.tms570.Core

Core Identification Module

The Core module is used to define which core within a dual core "R5" subsystem an application is being built for. [ more ... ]
C synopsis target-domain sourced in ti/sysbios/family/arm/v7r/tms570/Core.xdc
DETAILS
The Core module is used to define which core within a dual core "R5" subsystem an application is being built for.
At runtime, a comparison is made between the configured Core.id and the value of MPIDR (bits 7:0). If they do not agree, an Error is raised.
Core 0's vector table is placed at 0x100 and Core 1's vector table is placed at 0x20000.
BOOTUP SEQUENCE
When each Cortex-R core comes out of reset, it initializes the stack pointer and calls the reset callback function (see resetFunc) and then continues executing the bootup sequence.
On a lockstep device, the bootup sequence involves calling _c_int00() while on dual-core devices, the bootup sequence involves setting up IPC between the 2 Cortex-R cores to synchronize their startup.
The reset callback function is called very early in the bootup sequence and can be used to detect the reset source and take the appropriate action. Here's an example showing how to register a reset callback function:
  var Core = xdc.useModule('ti.sysbios.family.arm.v7r.tms570.Core');
  Core.resetFunc = '&myfunc';
 
typedef Core_ResetFuncPtr

Reset function type definition

C synopsis target-domain
typedef Void (*Core_ResetFuncPtr)(Void);
 
 
config Core_E_mismatchedIds  // module-wide

Error raised if Core.id does not match the contents of MPIDR [7:0] register

C synopsis target-domain
extern const Error_Id Core_E_mismatchedIds;
 
 
config Core_id  // module-wide

R5 Core ID, default is Core 0

C synopsis target-domain
extern const UInt Core_id;
 
DETAILS
Used for making static decisions based on Core ID
 
config Core_numCores  // module-wide

number of Cores in SMP environment

C synopsis target-domain
extern const UInt Core_numCores;
 
 
Core_getId()  // module-wide

return the current core id

C synopsis target-domain
UInt Core_getId();
 
 
Core_hwiEnable()  // module-wide

Locally enable interrupts

C synopsis target-domain
macro UInt Core_hwiEnable();
 
RETURNS
opaque key for use by Hwi_restore() or Core_hwiRestore()
DETAILS
Core_hwiEnable locally enables hardware interrupts on the current Core and returns an opaque key indicating whether interrupts were enabled or disabled on entry to Core_hwiEnable().
The actual value of the key is target/device specific and is meant to be passed to Hwi_restore() or Core_hwiRestore().
 
Core_interruptCore()  // module-wide

Cause an interrupt on a particular core

C synopsis target-domain
Void Core_interruptCore(UInt coreId);
 
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId Core_Module_id();
// Get this module's unique id
 
Bool Core_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle Core_Module_heap();
// The heap from which this module allocates memory
 
Bool Core_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 Core_Module_getMask();
// Returns the diagnostics mask for this module
 
Void Core_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
 
Configuration settings sourced in ti/sysbios/family/arm/v7r/tms570/Core.xdc
var Core = xdc.useModule('ti.sysbios.family.arm.v7r.tms570.Core');
module-wide config parameters
        msg: "E_mismatchedIds: Core_Id: %d does not match hardware core Id: %d"
    };
 
    Core.resetFunc// Reset Function Pointer = Void(*)(Void) null;
 
 
config Core.E_mismatchedIds  // module-wide

Error raised if Core.id does not match the contents of MPIDR [7:0] register

Configuration settings
Core.E_mismatchedIds = Error.Desc {
    msg: "E_mismatchedIds: Core_Id: %d does not match hardware core Id: %d"
};
 
C SYNOPSIS
 
config Core.id  // module-wide

R5 Core ID, default is Core 0

Configuration settings
Core.id = UInt 0;
 
DETAILS
Used for making static decisions based on Core ID
C SYNOPSIS
 
config Core.numCores  // module-wide

number of Cores in SMP environment

Configuration settings
Core.numCores = UInt undefined;
 
C SYNOPSIS
 
metaonly config Core.common$  // module-wide

Common module configuration parameters

Configuration settings
Core.common$ = Types.Common$ undefined;
 
DETAILS
All modules have this configuration parameter. Its name contains the '$' character to ensure it does not conflict with configuration parameters declared by the module. This allows new configuration parameters to be added in the future without any chance of breaking existing modules.
 
metaonly config Core.resetFunc  // module-wide

Reset Function Pointer

Configuration settings
Core.resetFunc = Void(*)(Void) null;
 
generated on Tue, 14 Feb 2017 19:59:25 GMT