⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash_uploader.h

📁 使用JTAG口对AT91R40008芯片进行FLASH编程的程序
💻 H
字号:
//*----------------------------------------------------------------------------
//*         ATMEL Microcontroller Software Support  -  ROUSSET  -
//*----------------------------------------------------------------------------
//* The software is delivered "AS IS" without warranty or condition of any
//* kind, either express, implied or statutory. This includes without
//* limitation any warranty or condition with respect to merchantability or
//* fitness for any particular purpose, or against the infringements of
//* intellectual property rights of others.
//*----------------------------------------------------------------------------
//* File Name           : Flash_uploader.h
//* Object              : Flash uploader Definition File.
//*
//* 1.0 27/02/02 NL    : Creation
//*----------------------------------------------------------------------------

#ifndef flash_uploader_h
#define flash_uploader_h

//* Defines the I/O pins associated to the ICE interface
#define TMS			(1<<7)//*(1<<23)		
#define TDI			(1<<8)//*(1<<24)
#define TDO			(1<<5)//*(1<<16)
#define TCK			(1<<6)//*(1<<18)

//* Defines JTAG Instructions
#define EXTEST		0x0
#define SCAN_N		0x2
#define INTEST		0xC
#define IDCODE		0xE
#define BYPASS		0xF
#define CLAMP		0x5
#define HIGHZ		0x7
#define CLAMPZ		0x9
#define RESTART		0x4

//* Defines the JTAG Scan Chains
#define MACROCELL	0x0
#define DEBUG		0x1
#define ICE_BREAKER	0x2
#define EXTERNAL	0x3

//* Defines the different units in the ICEBreaker Module
#define ICE_DBG_CTRL		0x00
#define ICE_DBG_STS			0x01 
#define ICE_DBG_COM_CTRL	0x04
#define ICE_DBG_COM_DATA	0x05
#define ICE_WTP0_ADDR_VAL	0x08
#define ICE_WTP0_ADDR_MASK	0x09
#define ICE_WTP0_DATA_VAL	0x0A
#define ICE_WTP0_DATA_MASK	0x0B
#define ICE_WTP0_CTRL_VAL	0x0C
#define ICE_WTP0_CTRL_MASK	0x0D
#define ICE_WTP1_ADDR_VAL	0x10
#define ICE_WTP1_ADDR_MASK	0x11
#define ICE_WTP1_DATA_VAL	0x12
#define ICE_WTP1_DATA_MASK	0x13
#define ICE_WTP1_CTRL_VAL	0x14
#define ICE_WTP1_CTRL_MASK	0x15

//* Defines the mask associated to the registers
#define ICE_DBG_STS_MASK	0x0000001F		//* width = 5 bits


//* Miscelaneous definitions
#define JTAG_NO_IDLE 	0

#define R_BIT	1
#define W_BIT	2

//* JTAG assembler functions
extern int JTAG_Reset(void);
extern void JTAG_Shift_ir(u_int instruction, u_int iddleState);
extern void JTAG_Shift_dr_4_bits(u_int data, u_int iddleState);
extern void JTAG_IDCode(u_int *data);
extern void JTAG_Step(u_int instruction, u_int *data);
extern void JTAG_Step_System_Speed(u_int instruction);
extern void JTAG_Read_Bkru(u_char address, u_int *data);
extern void JTAG_Write_Bkru(u_char address, u_int data);

//* Test functions
void Read_ID_Code(void);
void Test_Read_Memory(void);
void Test_Write_Memory(void);
void Test_Read_Reg(void);
void Test_Write_Reg(void);
void Test_Store_Multiple(void);
void Stop(void);
void Reset(void);
void Test_Read_CPSR(void);
void Test_Write_CPSR(void);
void Test_Go(void);
void Test_Print_Context(void);

#endif /* flash_uploader_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -