jt_flash_amd.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <sys/time.h>
#include "dbg_msg.h"
#include "jt_arm.h"
#include "jt_instr.h"
#include "jt_flash.h"
#include "convert.h"

Functions


Detailed Description

Flash support functions


Function Documentation

uint8_t jt_amdflashReadResetByte ( uint32_t  base_address,
uint32_t  address 
)

Support Function to reset Flash back into Read Mode

Parameters:
base_address flash base address
address byte address to read
Returns:
8-bit data at address

References jtag_arm_ReadByte(), and jtag_arm_WriteByte().

void jt_amdflashResetByte ( uint32_t  base_address  ) 

Support Function to reset Flash back into Read Mode

Parameters:
base_address flash base address
Returns:
-

References jtag_arm_WriteByte().

Referenced by programFlashCB_write_sector().

int jt_amdflashProgByte ( uint32_t  base_address,
uint32_t  address,
uint8_t  data,
unsigned  wait 
)

Support Function to write one Byte to the Flash.
This is OK after an erase of a Sector.

Parameters:
base_address flash base address
address byte address to write
data 8-bit data value
wait if true wait for completion
Return values:
0 success
1 error

References convertDiffTimeToMsec, jtag_arm_ReadByte(), and jtag_arm_WriteByte().

Referenced by prog_flash_amd8().

int jt_amdflashProgByte_faster ( uint32_t  base_address,
uint32_t  address,
uint8_t *  data,
int  numberOfData,
unsigned  verify 
)

Support Function to write a number of bytes to the Flash.
This is OK after an erase of a Sector.

Parameters:
base_address flash base address
address byte address to write
data pointer to source data buffer
numberOfData number of byte data to write
verify if true wait for completion
Return values:
0 success
1 error

References ARM_LDMIA, ARM_LDRB, ARM_NOP, ARM_STMIA, ARM_STRB, convertDiffTimeToMsec, DBG_LEVEL_GDB_ARM_WARN, dbgPrintf(), DEBUG_REPEAT_SPEED, DEBUG_SPEED, instr_intest, INTEST, jtag_arm7_mov_chain1_data(), jtag_arm_chain1_sysspeed_restart(), jtag_arm_set_chain(), jtag_arm_WriteByte(), jtag_send_instr(), READ_WRITE, scan_chain, SYSTEM_SPEED, and WRITE_ONLY.

Referenced by prog_flash_amd8().

int jt_amdflashEraseSectorByte ( uint32_t  base_address,
uint32_t  address 
)

Support Function to Erase a Sector within the Flash

Parameters:
base_address First address of the Flash that has to be erased
address Addres within the sector which has to to be erased
Return values:
0 success
1 error

References convertDiffTimeToMsec, jtag_arm_ReadByte(), and jtag_arm_WriteByte().

Referenced by eraseFlashCB_sector(), and programFlashCB_write_sector().

uint16_t jt_amdflashReadResetHalfword ( uint32_t  base_address,
uint32_t  address 
)

Support Function to reset Flash back into Read Mode
Note: Address Bit A0 is always ignored due to Halfword access
At a 16 Bit Flash Data Bits D15-D8 are ignored
At two 8 Bit Flashes the command is always xmit'ed to both parts

Parameters:
base_address flash base address
address byte address to read
Returns:
16-bit data at address

References jtag_arm_ReadHalfword(), and jtag_arm_WriteHalfword().

void jt_amdflashResetHalfword ( uint32_t  base_address  ) 

Support Function to reset Flash back into Read Mode
Note: Address Bit A0 is always ignored due to Halfword access
At a 16 Bit Flash Data Bits D15-D8 are ignored
At two 8 Bit Flashes the command is always xmit'ed to both parts

Parameters:
base_address flash base address
Returns:
-

References jtag_arm_WriteHalfword().

Referenced by programFlashCB_write_sector().

int jt_amdflashProgHalfword ( uint32_t  base_address,
uint32_t  address,
uint16_t  data,
unsigned  wait 
)

Support Function to write one Halfword to the Flash.
Note: Address Bit A0 must be 0 always ,due to Halfword access

Parameters:
base_address flash base address
address byte address to write
data 16-bit data value
wait if true wait for completion
Return values:
0 success
1 error

References convertDiffTimeToMsec, jtag_arm_ReadHalfword(), and jtag_arm_WriteHalfword().

Referenced by prog_flash_amd16().

int jt_amdflashProgHalfword_faster ( uint32_t  base_address,
uint32_t  address,
uint16_t *  data,
int  numberOfData,
unsigned  verify 
)

Support Function to write a number of half words to the Flash.
This is OK after an erase of a Sector.

Parameters:
base_address flash base address
address Halfword address to write
data pointer to source data buffer
numberOfData number of byte data to write
verify if true wait for completion
Return values:
0 success
1 error

References ARM_LDMIA, ARM_LDRH, ARM_NOP, ARM_STMIA, ARM_STRH, convertDiffTimeToMsec, DBG_LEVEL_GDB_ARM_WARN, dbgPrintf(), DEBUG_REPEAT_SPEED, DEBUG_SPEED, instr_intest, INTEST, jtag_arm7_mov_chain1_data(), jtag_arm_chain1_sysspeed_restart(), jtag_arm_set_chain(), jtag_arm_WriteHalfword(), jtag_send_instr(), READ_WRITE, scan_chain, SYSTEM_SPEED, and WRITE_ONLY.

Referenced by prog_flash_amd16().

int jt_amdflashEraseSectorHalfword ( uint32_t  base_address,
uint32_t  address 
)

Support Function to Erase a Sector within the Flash

Parameters:
base_address First address of the Flash that has to be erased
address Addres within the sector which has to to be erased
Return values:
0 success
1 error

References convertDiffTimeToMsec, DBG_LEVEL_JTAG_ARM_LOW, dbgPrintf(), jtag_arm_ReadHalfword(), and jtag_arm_WriteHalfword().

Referenced by eraseFlashCB_sector(), and programFlashCB_write_sector().

uint32_t jt_amdflashReadResetWord ( uint32_t  base_address,
uint32_t  address 
)

Support Function to reset Flash back into Read Mode
Note: Address Bit A0 and A1 is always ignored due to Word access
At a 16 Bit Flash Data Bits D15-D8 are ignored (we might have two of them)
At four 8 Bit Flashes the command is always xmit'ed to all parts

Parameters:
base_address flash base address
address byte address to read
Returns:
32-bit data at address

References jtag_arm_ReadWord(), and jtag_arm_WriteWord().

void jt_amdflashResetWord ( uint32_t  base_address  ) 

Support Function to reset Flash back into Read Mode
Note: Address Bit A0 and A1 is always ignored due to Word access
At a 16 Bit Flash Data Bits D15-D8 are ignored (we might have two of them)
At four 8 Bit Flashes the command is always xmit'ed to all parts

Parameters:
base_address flash base address
Returns:
-

References jtag_arm_WriteWord().

Referenced by programFlashCB_write_sector().

int jt_amdflashProgWord ( uint32_t  base_address,
uint32_t  address,
uint32_t  data,
unsigned  wait 
)

Support Function to write one Word to the Flash.
This is OK after an erase of a Sector.
Note: Address Bit A0 and A1 must always be 0 ,due to Word access

Parameters:
base_address flash base address
address byte address to write
data 32-bit data value
wait if true wait for completion
Return values:
0 success
1 error

References convertDiffTimeToMsec, jtag_arm_ReadWord(), and jtag_arm_WriteWord().

Referenced by prog_flash_amd32().

int jt_amdflashProgWord_faster ( uint32_t  base_address,
uint32_t  address,
uint32_t *  data,
int  numberOfData,
unsigned  verify 
)

Support Function to write an number of words to the Flash.
This is OK after an erase of a Sector.

Parameters:
base_address flash base address
address Word address to write
data pointer to source data buffer
numberOfData number of 32-bit word data to write
verify if true wait for completion
Return values:
0 success
1 error

References ARM_LDMIA, ARM_LDRH, ARM_NOP, ARM_STMIA, ARM_STR, convertDiffTimeToMsec, DBG_LEVEL_GDB_ARM_WARN, dbgPrintf(), DEBUG_REPEAT_SPEED, DEBUG_SPEED, instr_intest, INTEST, jtag_arm7_mov_chain1_data(), jtag_arm_chain1_sysspeed_restart(), jtag_arm_set_chain(), jtag_arm_WriteWord(), jtag_send_instr(), READ_WRITE, scan_chain, SYSTEM_SPEED, and WRITE_ONLY.

Referenced by prog_flash_amd32().

int jt_amdflashEraseSectorWord ( uint32_t  base_address,
uint32_t  address 
)

Support Function to Erase a Sector within the Flash

Parameters:
base_address First address of the Flash that has to be erased
address Addres within the sector which has to to be erased
Return values:
0 success
1 error

References convertDiffTimeToMsec, jtag_arm_ReadWord(), and jtag_arm_WriteWord().

Referenced by eraseFlashCB_sector(), and programFlashCB_write_sector().


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.