#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include "dbg_msg.h"
#include "jt_arm.h"
#include "jt_flash.h"
Flash support functions
#define ATMEL_AT91SAM7_DBGU_CIDR 0xFFFFf240 |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_EPROC_MSK (0x7<<5) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_EPROC_ARM7TDMI (0x2<<5) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_MSK (0xFF<<8) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_16K (0x2<<8) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_32K (0x3<<8) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_64K (0x5<<8) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_128K (0x7<<8) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_256K (0x9<<8) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_512K (0xA<<8) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_SRAMSIZ_MSK (0xF<<16) |
#define ATMEL_AT91SAM7_DBGU_CIDR_SRAMSIZ_8K (0x8<<16) |
#define ATMEL_AT91SAM7_DBGU_CIDR_SRAMSIZ_16K (0x9<<16) |
#define ATMEL_AT91SAM7_DBGU_CIDR_SRAMSIZ_32K (0xA<<16) |
#define ATMEL_AT91SAM7_DBGU_CIDR_SRAMSIZ_64K (0xB<<16) |
#define ATMEL_AT91SAM7_DBGU_CIDR_SRAMSIZ_128K (0xC<<16) |
#define ATMEL_AT91SAM7_DBGU_CIDR_SRAMSIZ_256K (0xD<<16) |
#define ATMEL_AT91SAM7_DBGU_CIDR_ARCH_MSK (0xFF<<20) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_ARCH_SAM7S (0x70<<20) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_NVTPY_MSK (0x7<<28) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_NVTPY_EMBEDDED_FLASH (0x2<<28) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_EXT_MSK (0x1<<31) |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_DBGU_CIDR_EXT_NON 0x0 |
Referenced by jt_atmelflashGetInfo().
#define ATMEL_AT91SAM7_FLASH_BASE_ADDRESS 0x100000 |
Referenced by jt_atmelflashGetInfo().
static void ATMEL_AT91SAM7S16 | ( | void | ) | [inline, static] |
References DBG_LEVEL_JTAG_ARM, dbgPrintf(), and MAX_FLASH_INFO_STRING_LEN.
Referenced by jt_atmelflashGetInfo().
static void ATMEL_AT91SAM7S32 | ( | void | ) | [inline, static] |
References DBG_LEVEL_JTAG_ARM, dbgPrintf(), and MAX_FLASH_INFO_STRING_LEN.
Referenced by jt_atmelflashGetInfo().
static void ATMEL_AT91SAM7S64 | ( | void | ) | [inline, static] |
References DBG_LEVEL_JTAG_ARM, dbgPrintf(), and MAX_FLASH_INFO_STRING_LEN.
Referenced by jt_atmelflashGetInfo().
static void ATMEL_AT91SAM7S128 | ( | void | ) | [inline, static] |
References DBG_LEVEL_JTAG_ARM, dbgPrintf(), and MAX_FLASH_INFO_STRING_LEN.
Referenced by jt_atmelflashGetInfo().
static void ATMEL_AT91SAM7S256 | ( | void | ) | [inline, static] |
References DBG_LEVEL_JTAG_ARM, dbgPrintf(), and MAX_FLASH_INFO_STRING_LEN.
Referenced by jt_atmelflashGetInfo().
static void ATMEL_AT91SAM7S512 | ( | void | ) | [inline, static] |
References DBG_LEVEL_JTAG_ARM, dbgPrintf(), and MAX_FLASH_INFO_STRING_LEN.
Referenced by jt_atmelflashGetInfo().
int jt_atmelflashGetInfo | ( | uint32_t | base_address, | |
struct sector ** | sector_info | |||
) |
Try to get the Flash info and create a new sector_info if possible. (32-Bit access)
(Embedded flash of AT91SAM7 machines)
base_address | flash base address | |
sector_info | pointer to target for new sector_info |
References ATMEL_AT91SAM7_DBGU_CIDR, ATMEL_AT91SAM7_DBGU_CIDR_ARCH_MSK, ATMEL_AT91SAM7_DBGU_CIDR_ARCH_SAM7S, ATMEL_AT91SAM7_DBGU_CIDR_EPROC_ARM7TDMI, ATMEL_AT91SAM7_DBGU_CIDR_EPROC_MSK, ATMEL_AT91SAM7_DBGU_CIDR_EXT_MSK, ATMEL_AT91SAM7_DBGU_CIDR_EXT_NON, ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_128K, ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_16K, ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_256K, ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_32K, ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_512K, ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_64K, ATMEL_AT91SAM7_DBGU_CIDR_NVPSIZ_MSK, ATMEL_AT91SAM7_DBGU_CIDR_NVTPY_EMBEDDED_FLASH, ATMEL_AT91SAM7_DBGU_CIDR_NVTPY_MSK, ATMEL_AT91SAM7_FLASH_BASE_ADDRESS, ATMEL_AT91SAM7S128(), ATMEL_AT91SAM7S16(), ATMEL_AT91SAM7S256(), ATMEL_AT91SAM7S32(), ATMEL_AT91SAM7S512(), ATMEL_AT91SAM7S64(), DBG_LEVEL_JTAG_ARM, dbgPrintf(), jt_flash_create_sector_info(), jtag_arm_ReadWord(), and sector::lock.
Referenced by detectFlash().