module ti.catalog.c2800.init.Boot

28x Boot Support

The Boot module supports boot initialization for the 28x devices. A special boot init function is created based on the configuration settings for this module. This function is hooked into the xdc.runtime.Reset.fxns[] array and called very early at boot time (prior to cinit processing). [ more ... ]
C synopsis target-domain sourced in ti/catalog/c2800/init/Boot.xdc
#include <ti/catalog/c2800/init/Boot.h>
 
DETAILS
The Boot module supports boot initialization for the 28x devices. A special boot init function is created based on the configuration settings for this module. This function is hooked into the xdc.runtime.Reset.fxns[] array and called very early at boot time (prior to cinit processing).
The code to support the boot module is placed in a separate section named ".text:.bootCodeSection" to allow placement of this section in the linker .cmd file if necessary. This section is a subsection of the ".text" section so this code will be placed into the .text section unless explicitly placed, either through Program.sectMap or through a linker command file.
 
Configuration settings sourced in ti/catalog/c2800/init/Boot.xdc
var Boot = xdc.useModule('ti.catalog.c2800.init.Boot');
module-wide constants & types
    values of type Boot.Type// PLL type
        const Boot.Type_2834x// 2834x;
 
    var obj = new Boot.ModuleView// ;
        obj.disableWatchdog = Bool  ...
        obj.configurePll = Bool  ...
        obj.pllcrDIV = UInt  ...
        obj.pllstsDIVSEL = UInt  ...
module-wide config parameters
    Boot.pllType// PLL type = Boot.Type undefined;
module-wide functions
 
 
metaonly enum Boot.Type

PLL type

Configuration settings
values of type Boot.Type
    const Boot.Type_280x;
    // 280x (PLL configuration not supported for this type)
    const Boot.Type_281x;
    // 281x (PLL configuration not supported for this type)
    const Boot.Type_282xx_283xx;
    // 282xx or 283xx
    const Boot.Type_2802x_2803x_2806x;
    // 2802x or 2803x or 2806x
    const Boot.Type_2834x;
    // 2834x
 
 
metaonly struct Boot.ModuleView
Configuration settings
var obj = new Boot.ModuleView;
 
    obj.disableWatchdog = Bool  ...
    obj.configurePll = Bool  ...
    obj.pllcrDIV = UInt  ...
    obj.pllstsDIVSEL = UInt  ...
 
 
metaonly config Boot.bootFromFlash  // module-wide

Boot from FLASH flag, default is false

Configuration settings
Boot.bootFromFlash = Bool false;
 
DETAILS
Set to true to enable booting from FLASH. When set to true, a long branch (LB) to the c_int00 entry point will be placed at the BEGIN section address defined in the linker command file.
 
metaonly config Boot.configurePll  // module-wide

PLL configuration flag, default is false

Configuration settings
Boot.configurePll = Bool false;
 
DETAILS
Set to true to configure the PLL.
 
metaonly config Boot.disableWatchdog  // module-wide

Watchdog disable flag, default is false

Configuration settings
Boot.disableWatchdog = Bool false;
 
DETAILS
Set to true to disable the watchdog timer.
 
metaonly config Boot.enableEzdspXintfConfig  // module-wide

Configure the external memory interface (XINTF) for eZdsp283xx boards

Configuration settings
Boot.enableEzdspXintfConfig = Bool false;
 
DETAILS
This external memory interface configuration is applicable only for eZdsp283xx boards; it should not be enabled for any other boards.
 
metaonly config Boot.limpAbortFunction  // module-wide

Function to be called when Limp mode is detected

Configuration settings
Boot.limpAbortFunction = Fxn undefined;
 
DETAILS
This function is called when the Boot module is about to configure the PLL, but finds the device operating in Limp mode (i.e., the mode when a missing OSCCLK input has been detected).
If this function is not specified by the application, a default function will be used, which does an ESTOP0 and then enters an infinite loop.
 
metaonly config Boot.pllOSCCLK  // module-wide

OSCCLK input frequency to PLL, in MHz. Default is 10 MHz

Configuration settings
Boot.pllOSCCLK = UInt 10;
 
DETAILS
This is the frequency of the oscillator clock (OSCCLK) input to the PLL. On some devices (e.g., TMS320C28346) this will correspond to the frequency of an external crystal or clock input. On others (e.g., TMS320F28069) this will correspond to the frequency of an internal oscillator which is the default OSCCLK coming out of reset.
 
metaonly config Boot.pllType  // module-wide

PLL type

Configuration settings
Boot.pllType = Boot.Type undefined;
 
DETAILS
The default will be determined by platform specification, or by the device ID for the generic (tms320c28) platform.
 
metaonly config Boot.pllcrDIV  // module-wide

PLLCR[DIV] clocking ratio value. Default is 10

Configuration settings
Boot.pllcrDIV = UInt 10;
 
DETAILS
This is the actual value written to the DIV bits in the PLL Control Register (PLLCR)
 
metaonly config Boot.pllstsDIVSEL  // module-wide

PLLSTS[DIVSEL] divide select value. Default is 2

Configuration settings
Boot.pllstsDIVSEL = UInt 2;
 
DETAILS
This is the actual value written to the DIVSEL bits in the PLL Status Register (PLLSTS).
This configuration parameter applies for all of the enumerated PLL types, except for "Type_280x".
 
metaonly config Boot.rovViewInfo  // module-wide
Configuration settings
Boot.rovViewInfo = ViewInfo.Instance ViewInfo.create;
 
 
metaonly Boot.getFrequency()  // module-wide

Gets the resulting output frequency (in Hz) given the PLL configuration parameters

Configuration settings
Boot.getFrequency() returns UInt32
 
 
metaonly Boot.registerFreqListener()  // module-wide

Register a module to be notified whenever the frequency changes

Configuration settings
Boot.registerFreqListener(Any listener) returns Any
 
DETAILS
The registered module must have a function named 'fireFrequencyUpdate' which takes the new frequency as an argument.
generated on Tue, 09 Oct 2018 20:58:17 GMT