Added necessary definitions for TI library API.
This commit is contained in:
parent
69a5593fe4
commit
90eeb0d23e
|
@ -0,0 +1,297 @@
|
|||
/* MSPDebug - debugging tool for MSP430 MCUs
|
||||
* Copyright (C) 2009-2011 Daniel Beer
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef TILIB_DEFS_H_
|
||||
#define TILIB_DEFS_H_
|
||||
|
||||
/* This header file contains various constants used by the TI MSP430
|
||||
* library. The original copyright notice is:
|
||||
*
|
||||
* Copyright (C) 2004 - 2011 Texas Instruments Incorporated -
|
||||
* http://www.ti.com/
|
||||
*
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* Neither the name of Texas Instruments Incorporated nor the names of
|
||||
* its contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/* this is the definition for the DLL functions return value */
|
||||
typedef long STATUS_T;
|
||||
typedef long LONG;
|
||||
|
||||
enum READ_WRITE {
|
||||
WRITE = 0,
|
||||
READ = 1,
|
||||
};
|
||||
|
||||
enum RESET_METHOD {
|
||||
PUC_RESET = (1 << 0), /**< Power up clear (i.e., a "soft") reset */
|
||||
RST_RESET = (1 << 1), /**< RST/NMI (i.e., "hard") reset */
|
||||
VCC_RESET = (1 << 2), /**< Cycle Vcc (i.e., a "power on") reset */
|
||||
FORCE_RESET = (1 << 3)
|
||||
};
|
||||
|
||||
/* FLASH erase type. */
|
||||
enum ERASE_TYPE {
|
||||
ERASE_SEGMENT = 0, /**< Erase a segment */
|
||||
ERASE_MAIN = 1, /**< Erase all MAIN memory */
|
||||
ERASE_ALL = 2, /**< Erase all MAIN and INFORMATION memory */
|
||||
};
|
||||
|
||||
/* Run modes. */
|
||||
enum RUN_MODES {
|
||||
/* Run the device. Set breakpoints (if any) are disabled */
|
||||
FREE_RUN = 1,
|
||||
/* A single device instruction is executed. Interrupt
|
||||
* processing is supported
|
||||
*/
|
||||
SINGLE_STEP = 2,
|
||||
/* Run the device. Set breakpoints (if any) are enabled */
|
||||
RUN_TO_BREAKPOINT = 3
|
||||
};
|
||||
|
||||
/* State modes. */
|
||||
enum STATE_MODES {
|
||||
/* The device is stopped */
|
||||
STOPPED = 0,
|
||||
/* The device is running or is being single stepped */
|
||||
RUNNING = 1,
|
||||
/* The device is stopped after the single step operation is
|
||||
* complete */
|
||||
SINGLE_STEP_COMPLETE = 2,
|
||||
/* The device is stopped as a result of hitting an enabled
|
||||
* breakpoint */
|
||||
BREAKPOINT_HIT = 3,
|
||||
/* The device is in LPMx.5 low power mode */
|
||||
LPMX5_MODE = 4,
|
||||
/* The device woke up from LPMx.5 low power mode */
|
||||
LPMX5_WAKEUP = 5
|
||||
};
|
||||
|
||||
/* Configurations to set with MSP430_Configure. */
|
||||
enum CONFIG_MODE {
|
||||
/* Verify data downloaded to FLASH memories */
|
||||
VERIFICATION_MODE = 0,
|
||||
/* 4xx emulation mode */
|
||||
EMULATION_MODE = 1,
|
||||
/* Clock control mode (on emulation stop) */
|
||||
CLK_CNTRL_MODE = 2,
|
||||
/* Module Clock control mode (on emulation stop) */
|
||||
MCLK_CNTRL_MODE = 3,
|
||||
/* Flash test mode for Automotive Devices - Marginal Read */
|
||||
FLASH_TEST_MODE = 4,
|
||||
/* Allows Locked Info Mem Segment A access (if set to '1') */
|
||||
LOCKED_FLASH_ACCESS = 5,
|
||||
/* Flash Swop mode for Automotive Devices */
|
||||
FLASH_SWOP = 6,
|
||||
/* Trace mode in EDT file format */
|
||||
EDT_TRACE_MODE = 7,
|
||||
/* Configure interface protocol: JTAG or Spy-bi-Wire
|
||||
* (see enum INTERFACE_TYPE) */
|
||||
INTERFACE_MODE = 8,
|
||||
|
||||
/* Configure a value that will be placed on the devices'
|
||||
* MemoryDataBus right before the device gets released from JTAG.
|
||||
* Useful fro supporting Emulated Hardware Breakpoints.
|
||||
*/
|
||||
SET_MDB_BEFORE_RUN = 9,
|
||||
|
||||
/*
|
||||
* Configure whether RAM content should be preserved/restored
|
||||
* in MSP430_Erase() and MSP430_Memory() or not.
|
||||
* RAM_PRESERVE_MODE is set to ENABLE by default.
|
||||
* Usage Example for initial flash programming:
|
||||
* (1) MSP430_Configure(RAM_PRESERVE_MODE, DISABLE);
|
||||
* (2) MSP430_Erase(ERASE_ALL,..,..);
|
||||
* (3) MSP430_Memory(..., ..., ..., WRITE );
|
||||
* (4) MSP430_Memory(..., ..., ..., READ );
|
||||
* ..... Flash Programming/Download finished
|
||||
* (n) MSP430_Configure(RAM_PRESERVE_MODE, ENABLE);
|
||||
*/
|
||||
RAM_PRESERVE_MODE = 10,
|
||||
|
||||
/* Configure the DLL to allow read/write/erase access to the 5xx
|
||||
* Bootstrap Loader (BSL) memory segments. */
|
||||
UNLOCK_BSL_MODE =11,
|
||||
/* just used internal for the device code of L092 and C092 */
|
||||
DEVICE_CODE = 12,
|
||||
/* set true to write the external SPI image of the L092 */
|
||||
WRITE_EXTERNAL_MEMORY = 13,
|
||||
/* set DEBUG_LPM_X true to start debugging of LPMx.5 */
|
||||
DEBUG_LPM_X = 14
|
||||
};
|
||||
|
||||
typedef void (*DLL430_EVENTNOTIFY_FUNC)
|
||||
(unsigned int MsgId, unsigned int wParam, long lParam, long clientHandle);
|
||||
|
||||
typedef struct MESSAGE_ID {
|
||||
uint32_t uiMsgIdSingleStep;
|
||||
uint32_t uiMsgIdBreakpoint;
|
||||
uint32_t uiMsgIdStorage;
|
||||
uint32_t uiMsgIdState;
|
||||
uint32_t uiMsgIdWarning;
|
||||
uint32_t uiMsgIdCPUStopped;
|
||||
} MessageID_t;
|
||||
|
||||
typedef enum BpMode {
|
||||
BP_CLEAR = 0,
|
||||
BP_CODE = 1,
|
||||
BP_RANGE = 2,
|
||||
BP_COMPLEX = 3
|
||||
} BpMode_t;
|
||||
|
||||
typedef enum BpType {
|
||||
BP_MAB = 0,
|
||||
BP_MDB = 1,
|
||||
BP_REGISTER = 2
|
||||
} BpType_t;
|
||||
|
||||
typedef enum BpAccess {
|
||||
BP_FETCH = 0,
|
||||
BP_FETCH_HOLD = 1,
|
||||
BP_NO_FETCH = 2,
|
||||
BP_DONT_CARE = 3,
|
||||
BP_NO_FETCH_READ = 4,
|
||||
BP_NO_FETCH_WRITE = 5,
|
||||
BP_READ = 6,
|
||||
BP_WRITE = 7,
|
||||
BP_NO_FETCH_NO_DMA = 8,
|
||||
BP_DMA = 9,
|
||||
BP_NO_DMA = 10,
|
||||
BP_WRITE_NO_DMA = 11,
|
||||
BP_NO_FETCH_READ_NO_DMA = 12,
|
||||
BP_READ_NO_DMA = 13,
|
||||
BP_READ_DMA = 14,
|
||||
BP_WRITE_DMA = 15
|
||||
} BpAccess_t;
|
||||
|
||||
typedef enum BpOperat {
|
||||
BP_EQUAL = 0,
|
||||
BP_GREATER = 1,
|
||||
BP_LOWER = 2,
|
||||
BP_UNEQUAL = 3
|
||||
} BpOperat_t;
|
||||
|
||||
typedef enum BpRangeAction {
|
||||
BP_INSIDE = 0,
|
||||
BP_OUTSIDE = 1
|
||||
} BpRangeAction_t;
|
||||
|
||||
typedef enum BpCondition {
|
||||
BP_NO_COND = 0,
|
||||
BP_COND = 1
|
||||
} BpCondition_t;
|
||||
|
||||
typedef enum BpAction {
|
||||
BP_NONE = 0,
|
||||
BP_BRK = 1,
|
||||
BP_STO = 2,
|
||||
BP_BRK_STO = 3
|
||||
} BpAction_t;
|
||||
|
||||
typedef struct BREAKPOINT {
|
||||
/* Breakpoint modes */
|
||||
BpMode_t bpMode;
|
||||
/* Breakpoint address/value (ignored for clear breakpoint) */
|
||||
int32_t lAddrVal;
|
||||
/* Breakpoint type (used for range and complex breakpoints) */
|
||||
BpType_t bpType;
|
||||
/* Breakpoint register (used for complex breakpoints with
|
||||
* register-write trigger) */
|
||||
LONG lReg;
|
||||
/* Breakpoint access (used only for range and complex
|
||||
* breakpoints) */
|
||||
BpAccess_t bpAccess;
|
||||
/* Breakpoint action (break/storage) (used for range and complex
|
||||
* breakpoints) */
|
||||
BpAction_t bpAction;
|
||||
/* Breakpoint operator (used for complex breakpoints) */
|
||||
BpOperat_t bpOperat;
|
||||
/* Breakpoint mask (used for complex breakpoints) */
|
||||
int32_t lMask;
|
||||
/* Range breakpoint end address (used for range breakpoints) */
|
||||
int32_t lRangeEndAdVa;
|
||||
/* Range breakpoint action (inside/outside) (used for range
|
||||
* breakpoints) */
|
||||
BpRangeAction_t bpRangeAction;
|
||||
/* Complex breakpoint: Condition available */
|
||||
BpCondition_t bpCondition;
|
||||
/* Complex breakpoint: MDB value (used for complex breakpoints) */
|
||||
uint32_t lCondMdbVal;
|
||||
/* Complex breakpoint: Access (used for complex breakpoints) */
|
||||
BpAccess_t bpCondAccess;
|
||||
/* Complex breakpoint: Mask Value(used for complex breakpoints) */
|
||||
int32_t lCondMask;
|
||||
/* Complex breakpoint: Operator (used for complex breakpoints) */
|
||||
BpOperat_t bpCondOperat;
|
||||
/* Combine breakpoint: Reference of a combination handle */
|
||||
uint16_t wExtCombine;
|
||||
} BpParameter_t;
|
||||
|
||||
typedef void (*DLL430_FET_NOTIFY_FUNC) (unsigned int MsgId,
|
||||
unsigned long wParam,
|
||||
unsigned long lParam,
|
||||
long clientHandle);
|
||||
|
||||
typedef enum UPDATE_STATUS_MESSAGES {
|
||||
/* Initializing Update Bootloader */
|
||||
BL_INIT = 0,
|
||||
/* Erasing mapped interrupt vectors */
|
||||
BL_ERASE_INT_VECTORS = 1,
|
||||
/* Erasing firmware memory section */
|
||||
BL_ERASE_FIRMWARE = 2,
|
||||
/* Program new firmware */
|
||||
BL_PROGRAM_FIRMWARE = 3,
|
||||
/* One data block of the new firmware was successfully programmed */
|
||||
BL_DATA_BLOCK_PROGRAMMED = 4,
|
||||
/* Exit Update Bootlader and reboot firmware */
|
||||
BL_EXIT = 5,
|
||||
/* Update was successfully finished */
|
||||
BL_UPDATE_DONE = 6,
|
||||
/* An error occured during firmware update */
|
||||
BL_UPDATE_ERROR = 7,
|
||||
/* An error occured during firmware update */
|
||||
BL_WAIT_FOR_TIMEOUT = 8
|
||||
} UPDATE_STATUS_MESSAGES_t;
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue