module ti.sysbios.family.arm.ducati.Core

Core Identification Module

The Core module is used to define which core within a dual core "Ducati" subsystem an application is being built for. [ more ... ]
C synopsis target-domain sourced in ti/sysbios/family/arm/ducati/Core.xdc
#include <ti/sysbios/family/arm/ducati/Core.h>
Functions
UInt 
Functions common to all ICore modules
UInt 
macro UInt 
Void 
Functions common to all target modules
Defines
#define
#define
#define
Constants
extern const SizeT 
extern const Error_Id 
extern const UInt 
extern const UInt 
extern const UInt 
extern const Bool 
 
DETAILS
The Core module is used to define which core within a dual core "Ducati" subsystem an application is being built for.
At runtime, a comparison is made between the configured Core.id and the value of PID0 (at address 0xe00fffe0). If they do not agree, an Error is raised.
Use of this module has the side effect of configuring default interrupt vector table placements for Core 0 and Core 1 if they haven't already been specified by the Hwi.vectorTableAddress config parameter.
Core 0's default vector table placement is at 0x400.
Core 1's default vector table placement is at 0x800.
 
const Core_HWI_SCHEDULER_LOCK

Hwi scheduler lock bits

C synopsis target-domain
#define Core_HWI_SCHEDULER_LOCK (UInt)0x0001
 
 
const Core_SWI_SCHEDULER_LOCK

Swi scheduler lock bits

C synopsis target-domain
#define Core_SWI_SCHEDULER_LOCK (UInt)0x0002
 
 
const Core_TASK_SCHEDULER_LOCK

Task scheduler lock bits

C synopsis target-domain
#define Core_TASK_SCHEDULER_LOCK (UInt)0x0004
 
 
config Core_E_mismatchedIds  // module-wide

Error raised if Core.id does not match the contents of PID0 (at 0xE00FFFE0)

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

Core 1's interrupt stack size, default is Program.stack

C synopsis target-domain
extern const SizeT Core_core1HwiStackSize;
 
 
config Core_id  // module-wide

Non SMP Ducati 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_ipuId  // module-wide

Core's IPU ID, default is IPU 1

C synopsis target-domain
extern const UInt Core_ipuId;
 
DETAILS
Used to identify core belongs to which IPU sub-system. This field has only 2 possible valid values, 1 or 2.
 
config Core_numCores  // module-wide

number of Cores in SMP environment

C synopsis target-domain
extern const UInt Core_numCores;
 
 
config Core_syncExits  // module-wide

synchronize exits for all cores

C synopsis target-domain
extern const Bool Core_syncExits;
 
DETAILS
If flag set to true, then the first core that exits (calls BIOS_exit), interrupts the other core and waits for it to exit.
 
Core_getId()  // module-wide

return the current core id

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

return the current core's IPU id

C synopsis target-domain
UInt Core_getIpuId();
 
 
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/ducati/Core.xdc
var Core = xdc.useModule('ti.sysbios.family.arm.ducati.Core');
module-wide constants & types
module-wide config parameters
        msg: "E_mismatchedIds: Core_Id: %d does not match hardware core Id: %d"
    };
 
 
 
const Core.HWI_SCHEDULER_LOCK

Hwi scheduler lock bits

Configuration settings
const Core.HWI_SCHEDULER_LOCK = 0x0001;
 
C SYNOPSIS
 
const Core.SWI_SCHEDULER_LOCK

Swi scheduler lock bits

Configuration settings
const Core.SWI_SCHEDULER_LOCK = 0x0002;
 
C SYNOPSIS
 
const Core.TASK_SCHEDULER_LOCK

Task scheduler lock bits

Configuration settings
const Core.TASK_SCHEDULER_LOCK = 0x0004;
 
C SYNOPSIS
 
config Core.E_mismatchedIds  // module-wide

Error raised if Core.id does not match the contents of PID0 (at 0xE00FFFE0)

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

Core 1's interrupt stack size, default is Program.stack

Configuration settings
Core.core1HwiStackSize = SizeT undefined;
 
C SYNOPSIS
 
config Core.id  // module-wide

Non SMP Ducati 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.ipuId  // module-wide

Core's IPU ID, default is IPU 1

Configuration settings
Core.ipuId = UInt 1;
 
DETAILS
Used to identify core belongs to which IPU sub-system. This field has only 2 possible valid values, 1 or 2.
C SYNOPSIS
 
config Core.numCores  // module-wide

number of Cores in SMP environment

Configuration settings
Core.numCores = UInt 2;
 
C SYNOPSIS
 
config Core.syncExits  // module-wide

synchronize exits for all cores

Configuration settings
Core.syncExits = Bool true;
 
DETAILS
If flag set to true, then the first core that exits (calls BIOS_exit), interrupts the other core and waits for it to exit.
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.
generated on Tue, 14 Feb 2017 19:59:27 GMT