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

📄 jtagdlg.h

📁 原创
💻 H
字号:
// jtagDlg.h : header file
//
#include "def.h"
#if !defined(AFX_JTAGDLG_H__2D60F398_0939_454C_88FC_8F9787B84905__INCLUDED_)
#define AFX_JTAGDLG_H__2D60F398_0939_454C_88FC_8F9787B84905__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define OutputPpt(value)    _outp((unsigned short)validPpt,value)
#define InputPpt()	    _inp((unsigned short)(validPpt+0x1))
#define EXTEST		"0000"  //LSB...MSB
#define BYPASS		"1111"
#define IDCODE		"0111"
#define SAMPLE_PRELOAD	"1100"
#define MAX_FILE_BUFFER  (64*1024)//最大文件64Kbyte

#define SAMPLE_PRELOAD	"1100"
#define JTAG_SET(value)	OutputPpt(value)
#define JTAG_GET_TDO()	( (InputPpt()&(1<<4)) ? HIGH:LOW )  //Select 13 is read inverted. 
#define JTAG_DELAY()

/////////////////////////////////////////////////////////////////////////////
// CJtagDlg dialog

class CJtagDlg : public CDialog
{
	// Construction
public:
	CJtagDlg(CWnd* pParent = NULL);	// standard constructor
    /**jtag function define**/
	void JTAG_Reset(void);
	void JTAG_RunTestldleState( void );
    void JTAG_ShiftIRState(char *wrIR);
    void JTAG_ShiftDRState(char *wrDR, char *rdDR);
    void JTAG_ShiftDRStateNoTdo(char *wrDR);
	void JTAG_Init(void);	
    void JTAG_ReadId(void);
	
	/**paralle function define**/
	int GetValidPpt(void);
	int InstallGiveIo(void);
	void SetPptCompMode(void);
	void OpenPpt(void);
    
	/**flash function define**/
	void S4510_Assert_nGCS(U32 addr);
	void S4510_Deassert_nGCS(U32 addr);
	void NOR_WrHW(U32 addr,U16 data);
	void NOR_WrByte(U32 addr,U8 data);
	short NOR_RdHW(U32 addr);
	void NOR_WAITBYTE(void);
	int NOR_WAITRB(void);
	void NOR_Reset(void);
	void NOR_EraseSector(int sec);
	void NOR_EraseChip(void);
	void NOR_Program(U32 addr, U8 *data, int len);
	int NOR_ReadId(void);
	int NOR_GetSecs(U32 size);
	void NOR_Init(void);
	
	/**samsung chip function define**/
	void S4510_InitCell(void);
	void S4510_SetPin(int index, char value);
	char S4510_GetPin(int index);
	void S4510_SetAddr(U32 addr);
	void S4510_SetDataByte(U8 data);   
	void S4510_SetDataHW(U16 data);
	void S4510_SetDataWord(U32 data);
	U8 S4510_GetDataByte(void);
	U16 S4510_GetDataHW(void);
	U32 S4510_GetDataWord(void);

	void unloaderDrive();
    void setUpDrive(); 
	
    
	/**Open the flute file**/
	int OpenImageFile(CString filename,U8 *buf);
	int DisplayImageFile(U8 *bufTemp,int size,int iType);
	int OnCheckFlash(U8 *chrFileBuff,U8 *chrFlashBuff,int iLen);
	//data define
public:
    /**jtag data define**/
	char rdDR[S4510_MAX_CELL_INDEX+1];
	
	/**parallel data define**/	 
    int validPpt; 
	
    /**flash data define**/
    U32 secaddr[19];
	
    /**samsung chip data define**/	   
    char outCellValue[S4510_MAX_CELL_INDEX+1];
    char inCellValue[S4510_MAX_CELL_INDEX+1];
    int  dataOutCellIndex[32];
    int  dataInCellIndex[32];
    int  addrCellIndex[22];
	
    /**the Fluted files name**/
    CString m_fileName;
    FILE *stream;
	
	//定义面板所用字符串
	CString strFlashId,strFlashName,strFlashManuf;
	CString strCpuId;	
	CString strStartAddr;
	CString strReadAddr;
	CString strReadLength;
	int iPrograming;
	
	// Dialog Data
	//{{AFX_DATA(CJtagDlg)
	enum { IDD = IDD_JTAG_DIALOG };
	CProgressCtrl	m_program;
	//}}AFX_DATA
	
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CJtagDlg)
protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL
	
	// Implementation
protected:
	HICON m_hIcon;
	
	// Generated message map functions
	//{{AFX_MSG(CJtagDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnButtonGetCpu();
	afx_msg void OnButtonGetFlash();
	afx_msg void OnButtonEraseFlash();
	afx_msg void OnButtonOpenFile();
	afx_msg void OnButtonWriteFlash();
	afx_msg void OnButtonReadFlash();
	afx_msg void OnButtonWriteTest();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_JTAGDLG_H__2D60F398_0939_454C_88FC_8F9787B84905__INCLUDED_)

⌨️ 快捷键说明

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