transaction.c File Reference

#include <stdlib.h>
#include "dbg_msg.h"
#include "arm_gdbstub_callback.h"
#include "transaction.h"

Data Structures

Defines

Functions

Variables


Detailed Description

The first part of a transaction can be done imediatly after activation (e.g. filling up an USB transmit buffer).
The second part of a transaction can be done later inside of execution part (e.g. sending all USB all data once and collecting the response in correct order).

 #1-------#2------X     ~1      ~2
 |        |       |     ^       ^
 #11-#12  #21-#22 | ~11 ~12 ~21 ~22
 |   |    |   |   | ^   ^   ^   ^
 +11 +12  +21 +22 O-*11-*12-*21-*22
 fnct_0
   for (i=0;i<2;i++)
   {
     tr = transactionCreate(NULL,fnct_0_cb,0);
     transactionActivate(tr);
     fnct_1();
   }
   transactionExecute()
 fnct_0_cb
   ..
   transactionErase(context);
 fnct_1
   uplevel = transactionGet();
   tr = transactionCreate(NULL,fnct_1a_cb,0);
   transactionActivate(tr);
   fnct_low();
   tr = transactionCreate(uplevel,fnct_1b_cb,0);
   transactionActivate(tr);
   fnct_low();
 fnct_1a_cb
   ..
   transactionErase(context);
 fnct_1b_cb
   ..
   transactionErase(context);
 fnct_low
   uplevel = transactionGet();
   tr = transactionCreate(uplevel,fnct_low_cb,0);
   transactionActivateFinal(tr);
 fnct_low_cb
   ..
   transactionErase(context);
 

Define Documentation

#define BUCKET_SIZE   32

Function Documentation

static struct transaction * allocFromMemPool ( size_t  param_size  )  [static, read]
static void moveToMemPool ( struct transaction tr  )  [static]
static void activateMemCleanUp ( void   )  [static]
static int memCleanUpCB ( int  unusedArg,
int  unusedCnt,
struct context *  noContext 
) [static]
struct transaction* transactionCreate ( struct transaction uplevel,
void(*)(struct transaction *context)  cbFnct,
size_t  param_size 
) [read]

create a new transaction element

Parameters:
uplevel pointer to upper level of the transaction (caller)
cbFnct callback function at execution point
param_size size of extra data buffer containing callback parameter and/or return data
Returns:
pointer to new transaction element

References allocFromMemPool(), transaction::cbFnct, DBG_LEVEL_GDB_ARM_INFO, dbgPrintf(), error_exit_code, transaction::next, transaction::parameter, transaction::size, transaction::uplevel, and transaction::uplevelRefCnt.

Referenced by gdb_check_memory_block(), jt_stm32f10xflashEraseSector(), jt_stm32f10xSetupACR(), jtag_arm7_mov_chain1_data(), jtag_arm7_PrepareExitDebug(), jtag_arm7_ReadByte(), jtag_arm7_ReadCpuRegs(), jtag_arm7_ReadHalfword(), jtag_arm7_ReadWord(), jtag_arm7_ReadWordMemory(), jtag_arm7_ResynchStep(), jtag_arm7_RunProgram(), jtag_arm7_Step(), jtag_arm7_WriteByte(), jtag_arm7_WriteCpuRegs(), jtag_arm7_WriteHalfword(), jtag_arm7_WriteMemoryBuf(), jtag_arm7_WriteWord(), jtag_arm9_mov_chain1_data(), jtag_arm9_PrepareExitDebug(), jtag_arm9_ReadByte(), jtag_arm9_ReadCpuRegs(), jtag_arm9_ReadHalfword(), jtag_arm9_ReadWord(), jtag_arm9_ReadWordMemory(), jtag_arm9_ResynchStep(), jtag_arm9_RunProgram(), jtag_arm9_Step(), jtag_arm9_WriteByte(), jtag_arm9_WriteCpuRegs(), jtag_arm9_WriteHalfword(), jtag_arm9_WriteMemoryBuf(), jtag_arm9_WriteWord(), jtag_arm_IceRT_ClearAnyBreakPoint(), jtag_arm_IceRT_PutAnyBreakPoint(), jtag_arm_IceRT_PutHWBreakPoint0(), jtag_arm_IceRT_PutHWBreakPoint1(), jtag_arm_IceRT_PutSWBreakPoint0(), jtag_arm_IceRT_PutSWBreakPoint1(), jtag_arm_IceRT_PutWatchPoint0(), jtag_arm_IceRT_PutWatchPoint1(), jtag_arm_IceRT_RegRead(), jtag_arm_IceRT_RegRead_Once(), jtag_arm_IceRT_RegWrite_getPrevData(), jtag_arm_Mointor2DebugMode(), jtag_cortex_AHB_ReadByte(), jtag_cortex_AHB_ReadHalfword(), jtag_cortex_AHB_ReadWord(), jtag_cortex_AHB_ReadWordMemory(), jtag_cortex_AHB_setmodeTar(), jtag_cortex_AHB_WriteByte(), jtag_cortex_AHB_WriteHalfword(), jtag_cortex_AHB_WriteMemoryBuf(), jtag_cortex_AHB_WriteWord(), jtag_cortex_apacc_RegRead(), jtag_cortex_apacc_RegWrite(), jtag_cortex_ApAHB_BankedDataRegRead(), jtag_cortex_ApAHB_BankedDataRegWrite(), jtag_cortex_ApAHB_CtrlRegWrite(), jtag_cortex_ApAHB_DataRegRead(), jtag_cortex_ApAHB_DataRegWrite(), jtag_cortex_ApAHB_TarRegWrite(), jtag_cortex_core_ApplicationInterruptResetControl_ReadRegister(), jtag_cortex_core_BusFaultAddress_ReadRegister(), jtag_cortex_core_ConfigurationControl_ReadRegister(), jtag_cortex_core_CPUID_ReadRegister(), jtag_cortex_core_debugExceptionMonitorControl_ReadRegister(), jtag_cortex_core_DebugFaultStatus_ReadRegister(), jtag_cortex_core_debugHaltingControlStatus_ReadRegister(), jtag_cortex_core_HardFaultStatus_ReadRegister(), jtag_cortex_core_MemManageAddress_ReadRegister(), jtag_cortex_core_PollDbgState(), jtag_cortex_core_ReadCpuRegs(), jtag_cortex_core_ReadDebugReg(), jtag_cortex_core_RunProgram(), jtag_cortex_core_WriteCpuRegs(), jtag_cortex_dpacc_RegRead(), jtag_cortex_dpacc_RegWrite(), jtag_cortex_dwt_ClearAnyWatchPoint(), jtag_cortex_dwt_comp_RegRead(), jtag_cortex_dwt_comp_RegWrite(), jtag_cortex_dwt_ctrl_RegRead(), jtag_cortex_dwt_ctrl_RegWrite(), jtag_cortex_dwt_function_RegRead(), jtag_cortex_dwt_function_RegWrite(), jtag_cortex_dwt_mask_RegRead(), jtag_cortex_dwt_mask_RegWrite(), jtag_cortex_dwt_PutWatchPoint(), jtag_cortex_fpb_ClearAnyHWBreakPoint(), jtag_cortex_fpb_comp_RegRead(), jtag_cortex_fpb_comp_RegWrite(), jtag_cortex_fpb_ctrl_RegRead(), jtag_cortex_fpb_ctrl_RegWrite(), jtag_cotrex_DpCtrl_RegWrite(), jtag_cotrex_DpRdBuff_RegRead(), jtag_cotrex_DpSelect_RegWrite(), jtag_cotrex_DpStat_RegRead(), jtag_exchange_data(), jtag_exchange_instr(), stm32FlashProgram(), tap_data_usb_ftdi(), tap_data_usb_jlink(), tap_idle_usb_ftdi(), tap_idle_usb_jlink(), tap_instr_usb_ftdi(), tap_instr_usb_jlink(), and useWorkspace().

void transactionActivate ( struct transaction newElement  ) 

set known latest transaction

Parameters:
newElement new transaction element
Returns:
-

Referenced by gdb_check_memory_block(), jt_stm32f10xflashEraseSector(), jt_stm32f10xSetupACR(), jtag_arm7_mov_chain1_data(), jtag_arm7_PrepareExitDebug(), jtag_arm7_ReadByte(), jtag_arm7_ReadCpuRegs(), jtag_arm7_ReadHalfword(), jtag_arm7_ReadWord(), jtag_arm7_ReadWordMemory(), jtag_arm7_ResynchStep(), jtag_arm7_RunProgram(), jtag_arm7_Step(), jtag_arm7_WriteByte(), jtag_arm7_WriteCpuRegs(), jtag_arm7_WriteHalfword(), jtag_arm7_WriteMemoryBuf(), jtag_arm7_WriteWord(), jtag_arm9_mov_chain1_data(), jtag_arm9_PrepareExitDebug(), jtag_arm9_ReadByte(), jtag_arm9_ReadCpuRegs(), jtag_arm9_ReadHalfword(), jtag_arm9_ReadWord(), jtag_arm9_ReadWordMemory(), jtag_arm9_ResynchStep(), jtag_arm9_RunProgram(), jtag_arm9_Step(), jtag_arm9_WriteByte(), jtag_arm9_WriteCpuRegs(), jtag_arm9_WriteHalfword(), jtag_arm9_WriteMemoryBuf(), jtag_arm9_WriteWord(), jtag_arm_IceRT_ClearAnyBreakPoint(), jtag_arm_IceRT_PutAnyBreakPoint(), jtag_arm_IceRT_PutHWBreakPoint0(), jtag_arm_IceRT_PutHWBreakPoint1(), jtag_arm_IceRT_PutSWBreakPoint0(), jtag_arm_IceRT_PutSWBreakPoint1(), jtag_arm_IceRT_PutWatchPoint0(), jtag_arm_IceRT_PutWatchPoint1(), jtag_arm_IceRT_RegRead(), jtag_arm_IceRT_RegRead_Once(), jtag_arm_IceRT_RegWrite_getPrevData(), jtag_arm_Mointor2DebugMode(), jtag_cortex_AHB_ReadByte(), jtag_cortex_AHB_ReadHalfword(), jtag_cortex_AHB_ReadWord(), jtag_cortex_AHB_ReadWordMemory(), jtag_cortex_AHB_setmodeTar(), jtag_cortex_AHB_WriteByte(), jtag_cortex_AHB_WriteHalfword(), jtag_cortex_AHB_WriteMemoryBuf(), jtag_cortex_AHB_WriteWord(), jtag_cortex_apacc_RegRead(), jtag_cortex_apacc_RegWrite(), jtag_cortex_ApAHB_BankedDataRegRead(), jtag_cortex_ApAHB_BankedDataRegWrite(), jtag_cortex_ApAHB_CtrlRegWrite(), jtag_cortex_ApAHB_DataRegRead(), jtag_cortex_ApAHB_DataRegWrite(), jtag_cortex_ApAHB_TarRegWrite(), jtag_cortex_core_ApplicationInterruptResetControl_ReadRegister(), jtag_cortex_core_BusFaultAddress_ReadRegister(), jtag_cortex_core_ConfigurationControl_ReadRegister(), jtag_cortex_core_CPUID_ReadRegister(), jtag_cortex_core_debugExceptionMonitorControl_ReadRegister(), jtag_cortex_core_DebugFaultStatus_ReadRegister(), jtag_cortex_core_debugHaltingControlStatus_ReadRegister(), jtag_cortex_core_HardFaultStatus_ReadRegister(), jtag_cortex_core_MemManageAddress_ReadRegister(), jtag_cortex_core_PollDbgState(), jtag_cortex_core_ReadCpuRegs(), jtag_cortex_core_ReadDebugReg(), jtag_cortex_core_RunProgram(), jtag_cortex_core_WriteCpuRegs(), jtag_cortex_dpacc_RegRead(), jtag_cortex_dpacc_RegWrite(), jtag_cortex_dwt_ClearAnyWatchPoint(), jtag_cortex_dwt_comp_RegRead(), jtag_cortex_dwt_comp_RegWrite(), jtag_cortex_dwt_ctrl_RegRead(), jtag_cortex_dwt_ctrl_RegWrite(), jtag_cortex_dwt_function_RegRead(), jtag_cortex_dwt_function_RegWrite(), jtag_cortex_dwt_mask_RegRead(), jtag_cortex_dwt_mask_RegWrite(), jtag_cortex_dwt_PutWatchPoint(), jtag_cortex_fpb_ClearAnyHWBreakPoint(), jtag_cortex_fpb_comp_RegRead(), jtag_cortex_fpb_comp_RegWrite(), jtag_cortex_fpb_ctrl_RegRead(), jtag_cortex_fpb_ctrl_RegWrite(), jtag_cotrex_DpCtrl_RegWrite(), jtag_cotrex_DpRdBuff_RegRead(), jtag_cotrex_DpSelect_RegWrite(), jtag_cotrex_DpStat_RegRead(), jtag_exchange_data(), jtag_exchange_instr(), stm32FlashProgram(), and useWorkspace().

void transactionActivateFinal ( struct transaction newElement  ) 

append the newElement into the current list of active transactions and remove known latest transaction

Parameters:
newElement new transaction element
Returns:
-

References transaction::cbFnct, transactionHead::first, transactionHead::last, moveToMemPool(), transaction::next, transaction::parameter, transactionErase(), and transaction::uplevel.

Referenced by tap_data_usb_ftdi(), tap_data_usb_jlink(), tap_idle_usb_ftdi(), tap_idle_usb_jlink(), tap_instr_usb_ftdi(), and tap_instr_usb_jlink().

struct transaction* transactionGet ( void   )  [read]

get latest transaction

Returns:
pointer to last activated transaction

Referenced by jtag_arm7_mov_chain1_data(), jtag_arm7_PrepareExitDebug(), jtag_arm7_ReadByte(), jtag_arm7_ReadCpuRegs(), jtag_arm7_ReadHalfword(), jtag_arm7_ReadWord(), jtag_arm7_ReadWordMemory(), jtag_arm7_ResynchStep(), jtag_arm7_RunProgram(), jtag_arm7_Step(), jtag_arm7_WriteByte(), jtag_arm7_WriteCpuRegs(), jtag_arm7_WriteHalfword(), jtag_arm7_WriteMemoryBuf(), jtag_arm7_WriteWord(), jtag_arm9_mov_chain1_data(), jtag_arm9_PrepareExitDebug(), jtag_arm9_ReadByte(), jtag_arm9_ReadCpuRegs(), jtag_arm9_ReadHalfword(), jtag_arm9_ReadWord(), jtag_arm9_ReadWordMemory(), jtag_arm9_ResynchStep(), jtag_arm9_RunProgram(), jtag_arm9_Step(), jtag_arm9_WriteByte(), jtag_arm9_WriteCpuRegs(), jtag_arm9_WriteHalfword(), jtag_arm9_WriteMemoryBuf(), jtag_arm9_WriteWord(), jtag_arm_IceRT_ClearAnyBreakPoint(), jtag_arm_IceRT_PutAnyBreakPoint(), jtag_arm_IceRT_PutHWBreakPoint0(), jtag_arm_IceRT_PutHWBreakPoint1(), jtag_arm_IceRT_PutSWBreakPoint0(), jtag_arm_IceRT_PutSWBreakPoint1(), jtag_arm_IceRT_PutWatchPoint0(), jtag_arm_IceRT_PutWatchPoint1(), jtag_arm_IceRT_RegRead(), jtag_arm_IceRT_RegRead_Once(), jtag_arm_IceRT_RegWrite_getPrevData(), jtag_arm_Mointor2DebugMode(), jtag_cortex_AHB_ReadByte(), jtag_cortex_AHB_ReadHalfword(), jtag_cortex_AHB_ReadWord(), jtag_cortex_AHB_ReadWordMemory(), jtag_cortex_AHB_setmodeTar(), jtag_cortex_AHB_WriteByte(), jtag_cortex_AHB_WriteHalfword(), jtag_cortex_AHB_WriteMemoryBuf(), jtag_cortex_AHB_WriteWord(), jtag_cortex_apacc_RegRead(), jtag_cortex_apacc_RegWrite(), jtag_cortex_ApAHB_BankedDataRegRead(), jtag_cortex_ApAHB_BankedDataRegWrite(), jtag_cortex_ApAHB_CtrlRegWrite(), jtag_cortex_ApAHB_DataRegRead(), jtag_cortex_ApAHB_DataRegWrite(), jtag_cortex_ApAHB_IdRegRead(), jtag_cortex_ApAHB_ROMbaseRegRead(), jtag_cortex_ApAHB_StatRegRead(), jtag_cortex_ApAHB_TarRegWrite(), jtag_cortex_core_ApplicationInterruptResetControl_ReadRegister(), jtag_cortex_core_BusFaultAddress_ReadRegister(), jtag_cortex_core_ConfigurationControl_ReadRegister(), jtag_cortex_core_CPUID_ReadRegister(), jtag_cortex_core_debugExceptionMonitorControl_ReadRegister(), jtag_cortex_core_DebugFaultStatus_ReadRegister(), jtag_cortex_core_debugHaltingControlStatus_ReadRegister(), jtag_cortex_core_HardFaultStatus_ReadRegister(), jtag_cortex_core_MemManageAddress_ReadRegister(), jtag_cortex_core_PollDbgState(), jtag_cortex_core_ReadCpuRegs(), jtag_cortex_core_ReadDebugReg(), jtag_cortex_core_RunProgram(), jtag_cortex_core_StopRunningProgram(), jtag_cortex_core_WriteCpuRegs(), jtag_cortex_dpacc_RegRead(), jtag_cortex_dpacc_RegWrite(), jtag_cortex_dwt_ClearAnyWatchPoint(), jtag_cortex_dwt_comp_RegRead(), jtag_cortex_dwt_comp_RegWrite(), jtag_cortex_dwt_ctrl_RegRead(), jtag_cortex_dwt_ctrl_RegWrite(), jtag_cortex_dwt_function_RegRead(), jtag_cortex_dwt_function_RegWrite(), jtag_cortex_dwt_mask_RegRead(), jtag_cortex_dwt_mask_RegWrite(), jtag_cortex_dwt_PutWatchPoint(), jtag_cortex_fpb_ClearAnyHWBreakPoint(), jtag_cortex_fpb_comp_RegRead(), jtag_cortex_fpb_comp_RegWrite(), jtag_cortex_fpb_ctrl_RegRead(), jtag_cortex_fpb_ctrl_RegWrite(), jtag_cotrex_DpCtrl_RegWrite(), jtag_cotrex_DpRdBuff_RegRead(), jtag_cotrex_DpSelect_RegWrite(), jtag_cotrex_DpStat_RegRead(), jtag_exchange_data(), jtag_exchange_instr(), tap_data_usb_ftdi(), tap_data_usb_jlink(), tap_idle_usb_ftdi(), tap_idle_usb_jlink(), tap_instr_usb_ftdi(), and tap_instr_usb_jlink().

void transactionExecute ( void   ) 

execute all pending transactions

Returns:
-

References transaction::cbFnct, transactionHead::first, transactionHead::last, transaction::next, transactionErase(), and transaction::uplevel.

Referenced by gdb_check_memory_block(), jt_stm32f10xflashEraseSector(), jt_stm32f10xSetupACR(), jtag_arm7_mov_chain1_data(), jtag_arm7_PrepareExitDebug(), jtag_arm7_ReadByte(), jtag_arm7_ReadCpuRegs(), jtag_arm7_ReadHalfword(), jtag_arm7_ReadWord(), jtag_arm7_ReadWordMemory(), jtag_arm7_ResynchStep(), jtag_arm7_RunProgram(), jtag_arm7_Step(), jtag_arm7_WriteCpuRegs(), jtag_arm9_mov_chain1_data(), jtag_arm9_PrepareExitDebug(), jtag_arm9_ReadByte(), jtag_arm9_ReadCpuRegs(), jtag_arm9_ReadHalfword(), jtag_arm9_ReadWord(), jtag_arm9_ReadWordMemory(), jtag_arm9_ResynchStep(), jtag_arm9_RunProgram(), jtag_arm9_Step(), jtag_arm9_WriteCpuRegs(), jtag_arm_IceRT_ClearAnyBreakPoint(), jtag_arm_IceRT_PutAnyBreakPoint(), jtag_arm_IceRT_PutHWBreakPoint0(), jtag_arm_IceRT_PutHWBreakPoint1(), jtag_arm_IceRT_PutSWBreakPoint0(), jtag_arm_IceRT_PutSWBreakPoint1(), jtag_arm_IceRT_PutWatchPoint0(), jtag_arm_IceRT_PutWatchPoint1(), jtag_arm_IceRT_RegRead(), jtag_arm_IceRT_RegRead_Once(), jtag_arm_IceRT_RegWrite_getPrevData(), jtag_arm_Mointor2DebugMode(), jtag_cortex_AHB_ReadByte(), jtag_cortex_AHB_ReadHalfword(), jtag_cortex_AHB_ReadWord(), jtag_cortex_AHB_ReadWordMemory(), jtag_cortex_core_ApplicationInterruptResetControl_ReadRegister(), jtag_cortex_core_BusFaultAddress_ReadRegister(), jtag_cortex_core_ConfigurationControl_ReadRegister(), jtag_cortex_core_CPUID_ReadRegister(), jtag_cortex_core_debugExceptionMonitorControl_ReadRegister(), jtag_cortex_core_DebugFaultStatus_ReadRegister(), jtag_cortex_core_debugHaltingControlStatus_ReadRegister(), jtag_cortex_core_HardFaultStatus_ReadRegister(), jtag_cortex_core_MemManageAddress_ReadRegister(), jtag_cortex_core_PollDbgState(), jtag_cortex_core_ReadCpuRegs(), jtag_cortex_core_ReadDebugReg(), jtag_cortex_core_RunProgram(), jtag_cortex_core_WriteCpuRegs(), jtag_cortex_dwt_ClearAnyWatchPoint(), jtag_cortex_dwt_comp_RegRead(), jtag_cortex_dwt_comp_RegWrite(), jtag_cortex_dwt_ctrl_RegRead(), jtag_cortex_dwt_ctrl_RegWrite(), jtag_cortex_dwt_function_RegRead(), jtag_cortex_dwt_function_RegWrite(), jtag_cortex_dwt_mask_RegRead(), jtag_cortex_dwt_mask_RegWrite(), jtag_cortex_dwt_PutWatchPoint(), jtag_cortex_fpb_ClearAnyHWBreakPoint(), jtag_cortex_fpb_comp_RegRead(), jtag_cortex_fpb_comp_RegWrite(), jtag_cortex_fpb_ctrl_RegRead(), jtag_cortex_fpb_ctrl_RegWrite(), stm32FlashProgram(), tap_data_usb_ftdi(), tap_data_usb_jlink(), tap_idle_usb_ftdi(), tap_idle_usb_jlink(), tap_instr_usb_ftdi(), tap_instr_usb_jlink(), and useWorkspace().

int transactionPenting ( void   ) 

check if any low level transacions exists

Return values:
1 at least one transaction in transactionHead
0 no transaction in transactionHead

References transactionHead::first.

Referenced by jtag_arm7_mov_chain1_data(), jtag_arm7_PrepareExitDebug(), jtag_arm7_ResynchStep(), jtag_arm7_RunProgram(), jtag_arm7_Step(), jtag_arm7_WriteCpuRegs(), jtag_arm9_mov_chain1_data(), jtag_arm9_PrepareExitDebug(), jtag_arm9_ResynchStep(), jtag_arm9_RunProgram(), jtag_arm9_Step(), jtag_arm9_WriteCpuRegs(), jtag_arm_IceRT_ClearAnyBreakPoint(), jtag_arm_IceRT_PutAnyBreakPoint(), jtag_arm_IceRT_PutHWBreakPoint0(), jtag_arm_IceRT_PutHWBreakPoint1(), jtag_arm_IceRT_PutSWBreakPoint0(), jtag_arm_IceRT_PutSWBreakPoint1(), jtag_arm_IceRT_PutWatchPoint0(), jtag_arm_IceRT_PutWatchPoint1(), jtag_arm_IceRT_RegRead(), jtag_arm_IceRT_RegRead_Once(), jtag_arm_IceRT_RegWrite_getPrevData(), jtag_arm_Mointor2DebugMode(), jtag_cortex_AHB_WriteByte(), jtag_cortex_AHB_WriteHalfword(), jtag_cortex_AHB_WriteMemoryBuf(), jtag_cortex_apacc_RegRead(), jtag_cortex_apacc_RegWrite(), jtag_cortex_ApAHB_BankedDataRegRead(), jtag_cortex_ApAHB_BankedDataRegWrite(), jtag_cortex_ApAHB_CtrlRegWrite(), jtag_cortex_ApAHB_DataRegRead(), jtag_cortex_ApAHB_DataRegWrite(), jtag_cortex_ApAHB_IdRegRead(), jtag_cortex_ApAHB_ROMbaseRegRead(), jtag_cortex_ApAHB_StatRegRead(), jtag_cortex_ApAHB_TarRegWrite(), jtag_cortex_core_ApplicationInterruptResetControl_ReadRegister(), jtag_cortex_core_BusFaultAddress_ReadRegister(), jtag_cortex_core_ConfigurationControl_ReadRegister(), jtag_cortex_core_CPUID_ReadRegister(), jtag_cortex_core_debugExceptionMonitorControl_ReadRegister(), jtag_cortex_core_DebugFaultStatus_ReadRegister(), jtag_cortex_core_debugHaltingControlStatus_ReadRegister(), jtag_cortex_core_HardFaultStatus_ReadRegister(), jtag_cortex_core_MemManageAddress_ReadRegister(), jtag_cortex_core_PollDbgState(), jtag_cortex_core_ReadCpuRegs(), jtag_cortex_core_ReadDebugReg(), jtag_cortex_core_RunProgram(), jtag_cortex_core_StopRunningProgram(), jtag_cortex_core_WriteCpuRegs(), jtag_cortex_dpacc_RegRead(), jtag_cortex_dpacc_RegWrite(), jtag_cortex_dwt_ClearAnyWatchPoint(), jtag_cortex_dwt_comp_RegRead(), jtag_cortex_dwt_comp_RegWrite(), jtag_cortex_dwt_ctrl_RegRead(), jtag_cortex_dwt_ctrl_RegWrite(), jtag_cortex_dwt_function_RegRead(), jtag_cortex_dwt_function_RegWrite(), jtag_cortex_dwt_mask_RegRead(), jtag_cortex_dwt_mask_RegWrite(), jtag_cortex_dwt_PutWatchPoint(), jtag_cortex_fpb_ClearAnyHWBreakPoint(), jtag_cortex_fpb_comp_RegRead(), jtag_cortex_fpb_comp_RegWrite(), jtag_cortex_fpb_ctrl_RegRead(), jtag_cortex_fpb_ctrl_RegWrite(), jtag_cotrex_DpCtrl_RegWrite(), jtag_cotrex_DpRdBuff_RegRead(), jtag_cotrex_DpSelect_RegWrite(), jtag_cotrex_DpStat_RegRead(), libusbReadData(), tap_data_usb_ftdi(), tap_data_usb_jlink(), tap_idle_usb_ftdi(), tap_idle_usb_jlink(), tap_instr_usb_ftdi(), and tap_instr_usb_jlink().

void transactionErase ( struct transaction self  ) 

release previous allocated resoures

Parameters:
self pointer to current transation context
Returns:
-

References activateMemCleanUp(), and moveToMemPool().

Referenced by gdb_check_memory_block(), jt_stm32f10xflashEraseSector(), jt_stm32f10xSetupACR(), jtag_arm7_mov_chain1_data(), jtag_arm7_PrepareExitDebug(), jtag_arm7_ReadByte(), jtag_arm7_ReadCpuRegs(), jtag_arm7_ReadHalfword(), jtag_arm7_ReadWord(), jtag_arm7_ReadWordMemory(), jtag_arm7_ResynchStep(), jtag_arm7_RunProgram(), jtag_arm7_Step(), jtag_arm7_WriteByte(), jtag_arm7_WriteCpuRegs(), jtag_arm7_WriteHalfword(), jtag_arm7_WriteMemoryBuf(), jtag_arm7_WriteWord(), jtag_arm9_mov_chain1_data(), jtag_arm9_PrepareExitDebug(), jtag_arm9_ReadByte(), jtag_arm9_ReadCpuRegs(), jtag_arm9_ReadHalfword(), jtag_arm9_ReadWord(), jtag_arm9_ReadWordMemory(), jtag_arm9_ResynchStep(), jtag_arm9_RunProgram(), jtag_arm9_Step(), jtag_arm9_WriteByte(), jtag_arm9_WriteCpuRegs(), jtag_arm9_WriteHalfword(), jtag_arm9_WriteMemoryBuf(), jtag_arm9_WriteWord(), jtag_arm_IceRT_ClearAnyBreakPoint(), jtag_arm_IceRT_PutAnyBreakPoint(), jtag_arm_IceRT_PutHWBreakPoint0(), jtag_arm_IceRT_PutHWBreakPoint1(), jtag_arm_IceRT_PutSWBreakPoint0(), jtag_arm_IceRT_PutSWBreakPoint1(), jtag_arm_IceRT_PutWatchPoint0(), jtag_arm_IceRT_PutWatchPoint1(), jtag_arm_IceRT_RegRead(), jtag_arm_IceRT_RegRead_Once(), jtag_arm_IceRT_RegWrite_getPrevData(), jtag_arm_Mointor2DebugMode(), jtag_cortex_AHB_ReadByte(), jtag_cortex_AHB_ReadHalfword(), jtag_cortex_AHB_ReadWord(), jtag_cortex_AHB_ReadWordMemory(), jtag_cortex_AHB_setmodeTar(), jtag_cortex_AHB_WriteByte(), jtag_cortex_AHB_WriteHalfword(), jtag_cortex_AHB_WriteMemoryBuf(), jtag_cortex_AHB_WriteWord(), jtag_cortex_apacc_RegRead(), jtag_cortex_apacc_RegWrite(), jtag_cortex_ApAHB_TarRegWrite(), jtag_cortex_core_ApplicationInterruptResetControl_ReadRegister(), jtag_cortex_core_BusFaultAddress_ReadRegister(), jtag_cortex_core_ConfigurationControl_ReadRegister(), jtag_cortex_core_CPUID_ReadRegister(), jtag_cortex_core_debugExceptionMonitorControl_ReadRegister(), jtag_cortex_core_DebugFaultStatus_ReadRegister(), jtag_cortex_core_debugHaltingControlStatus_ReadRegister(), jtag_cortex_core_HardFaultStatus_ReadRegister(), jtag_cortex_core_MemManageAddress_ReadRegister(), jtag_cortex_core_PollDbgState(), jtag_cortex_core_ReadCpuRegs(), jtag_cortex_core_ReadDebugReg(), jtag_cortex_core_RunProgram(), jtag_cortex_core_WriteCpuRegs(), jtag_cortex_dpacc_RegRead(), jtag_cortex_dpacc_RegWrite(), jtag_cortex_dwt_ClearAnyWatchPoint(), jtag_cortex_dwt_comp_RegRead(), jtag_cortex_dwt_comp_RegWrite(), jtag_cortex_dwt_ctrl_RegRead(), jtag_cortex_dwt_ctrl_RegWrite(), jtag_cortex_dwt_function_RegRead(), jtag_cortex_dwt_function_RegWrite(), jtag_cortex_dwt_mask_RegRead(), jtag_cortex_dwt_mask_RegWrite(), jtag_cortex_dwt_PutWatchPoint(), jtag_cortex_fpb_ClearAnyHWBreakPoint(), jtag_cortex_fpb_comp_RegRead(), jtag_cortex_fpb_comp_RegWrite(), jtag_cortex_fpb_ctrl_RegRead(), jtag_cortex_fpb_ctrl_RegWrite(), jtag_exchange_data(), jtag_exchange_instr(), stm32FlashProgram(), tap_data_usb_ftdi(), tap_idle_usb_ftdi(), tap_idle_usb_jlink(), tap_instr_usb_ftdi(), tap_usb_io_ftdi_cb(), tap_usb_io_jlink_cb(), transactionActivateFinal(), transactionExecute(), and useWorkspace().


Variable Documentation

struct transactionHead transactionHead = {NULL, NULL} [static]

head of excetution list

struct transaction* transactionCurrent = NULL [static]

last created transation

struct transactionMemPool memPool [static]

This file is part of the documentation for JTAG-GDB Server for ARM .

Generated on Mon Feb 15 21:23:21 2010 by doxygen 1.6.2.