Initial check in

This commit is contained in:
2026-01-03 19:05:48 +01:00
commit 1254878a31
253 changed files with 30484 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
#include <fx2.h>
extern bool (*DR_VendorCommand)(void);
extern void (*main_hook)(void);
extern void jtag_conf(void);
extern void jtag_main(void);
extern bool jtag_command(void);
void TRI_Boot(void)
{
jtag_conf();
main_hook = jtag_main;
DR_VendorCommand = jtag_command;
}
+96
View File
@@ -0,0 +1,96 @@
#include <fx2.h>
#include <fx2_regs.h>
#include "..\tri.base\inc\tri.h"
extern void jtag_init(void);
extern void jtag_tck(WORD);
extern void jtag_set_endir(BYTE);
extern void jtag_set_enddr(BYTE);
extern void jtag_set_state(BYTE);
extern void jtag_xfer( BYTE xdata *buffer, WORD length, BYTE last);
extern void FX2_Delay(WORD);
extern bool TRI_Command(void);
// ================================================================================================
// jtag_command
// ================================================================================================
bool jtag_command(void)
{
bool result = true;
bit dir = (SETUPDAT[0] & 0x80) ? 1 : 0;
BYTE cmd = SETUPDAT[1]; // (SETUPDAT[1] & 0x7F);
PSUDAV sud = (PSUDAV)SETUPDAT;
// ----------------------------------------------------
// IN command device -> host
// ----------------------------------------------------
if(dir)
{
result = TRI_Command();
}
// ----------------------------------------------------
// OUT command host -> device
// ----------------------------------------------------
else
{
switch(sud->Request)
{
// --------------------------------------------
// JTAG INIT
// --------------------------------------------
case CMD_JTAG_INIT:
jtag_init();
break;
// --------------------------------------------
// JTAG ENDIR
// --------------------------------------------
case CMD_JTAG_ENDIR:
jtag_set_endir(sud->Value.Byte.Lo);
break;
// --------------------------------------------
// JTAG ENDDR
// --------------------------------------------
case CMD_JTAG_ENDDR:
jtag_set_enddr(sud->Value.Byte.Lo);
break;
// --------------------------------------------
// JTAG STATE
// --------------------------------------------
case CMD_JTAG_STATE:
jtag_set_state(sud->Value.Byte.Lo);
break;
// --------------------------------------------
// JTAG RUNTEST
// --------------------------------------------
case CMD_JTAG_RUN:
jtag_set_state(sud->Value.Byte.Lo);
jtag_tck( sud->Index.Word);
break;
// --------------------------------------------
// JTAG TEST
// --------------------------------------------
case CMD_JTAG_TEST:
break;
// --------------------------------------------
// default
// --------------------------------------------
default:
result = TRI_Command();
break;
}
}
return result;
}
+143
View File
@@ -0,0 +1,143 @@
#include <fx2.h>
#include <fx2_regs.h>
#include <fx2_syncdelay.h>
#include <tri.h>
extern void jtag_init(void);
extern void jtag_ep2out(void);
extern WORD sir;
extern WORD sdr;
// inherited object routines
extern void tri_main(void);
extern void tri_conf(void);
// ================================================================================================
// main
// ================================================================================================
void jtag_main(void)
{
sir = 0;
}
// ================================================================================================
// configure
// ================================================================================================
void jtag_conf()
{
// ------------------------------------------------------------------------
// call "inherited" config()
// ------------------------------------------------------------------------
tri_conf();
// ------------------------------------------------------------------------
// add capabilities
// ------------------------------------------------------------------------
devCapabilities[0] |= bmCap0_JTG;
// ------------------------------------------------------------------------
// temp serial number
// ------------------------------------------------------------------------
devSerialNumber[0] = 'Y';
devSerialNumber[1] = '5';
// ========================================================================
// USB configuration
// ========================================================================
// ------------------------------------------------------------------------
// Configure EP2/EP4
//
// Endpoint 2 is the OUT endpoint for JTAG2 communication.
// Endpoint 4 is the IN endpoint for JTAG2 communication.
// ------------------------------------------------------------------------
EP2CFG = EP_VALID | EP_OUT | EP_BULK | EP_512 | EP_2x; SYNCDELAY;
EP4CFG = EP_VALID | EP_IN | EP_BULK | EP_512 | EP_2x; SYNCDELAY;
// ------------------------------------------------------------------------
// Out endpoints do not come up armed.
// Since the EP2 is double buffered we must write dummy byte
// count twice. Arm EP2 by writing byte count w/skip flag.
// ------------------------------------------------------------------------
EP2BCL = 0x80; SYNCDELAY;
EP2BCL = 0x80; SYNCDELAY;
// ------------------------------------------------------------------------
// Enable EP2/EP4 interrupts
// ------------------------------------------------------------------------
EPIE |= (bmEP2 | bmEP4);
// ------------------------------------------------------------------------
// usb interrupt handler hooks
// ------------------------------------------------------------------------
ep2inout = jtag_ep2out;
// ========================================================================
// Board specific initialization
//
// TRINITY_1:
//
// - 2 layers board
// - 56 pin mcu
// - 16 kB flash EEPROM
//
// J1 J2
// -------------------------- --------------------------
// GND - 1 2 - 5.0V SLWR - 1 2 - SLRD
// GND - 3 4 - 5.0V CLKOUT - 3 4 - GND
// PB.2 - 5 6 - PB.3 PD.5 - 5 6 - GND
// PB.1 - 7 8 - PB.0 PD.6 - 7 8 - PD.7
// SCL - 9 10 - SDA 3.3V - 9 10 - 3.3V
// PB.6 - 11 12 - PB.7 3.3V - 11 12 - 3.3V
// PB.5 - 13 14 - PB.4 PD.4 - 13 14 - GND
// FLAG.B - 15 16 - FLAG.A PD.3 - 15 16 - PD.2
// PA.2 - 17 18 - FLAG.C PD.1 - 17 18 - PD.0
// PA.1 - 19 20 - PA.0 GND - 19 20 - GND
// PA.7 - 21 22 - PA.3 GND - 21 22 - GND
// PA.4 - 23 24 - GND GND - 23 24 - GND
// PA.5 - 25 26 - PA.5 RESET - 25 26 - WU
//
//
// JTAG TOP
// ----------------
// T T G G P
// D C N N W
// I K D D R
//
// 9 7 5 3 1
// 10 8 6 4 2
//
// T T G G T
// R M N N D
// S S D D O
// T
//
// For JTAG function, the following pins are used for JTAG interface:
//
// TCK - PA.0 out
// TMS - PA.1 out
// TDI - PA.7 out
// TDO - PA.3 in
// ena - PA.4 out
//
// Keep it in sync with 'jtag_state.s51' !!!
//
// ========================================================================
PORTCCFG = 0x00; // port C is I/O, not GPIFADDR
SYNCDELAY;
IOA = 0x80;
OEA = 0x93;
// ------------------------------------------------------------------------
// INITIALZE PERIPHERALS (JTAG)
// ------------------------------------------------------------------------
jtag_init();
#ifdef DEBUG
lcd_init();
lcd_gotoxy(0,0);
lcd_puts("JTAG",4);
#endif
}
+182
View File
@@ -0,0 +1,182 @@
#include <fx2.h>
#include <fx2_regs.h>
#include <tri.h>
extern void jtag_set_state(BYTE);
extern void jtag_xfer( BYTE xdata *, WORD, BYTE);
WORD sir = 0;
WORD sdr = 0;
void reverse_id( BYTE xdata * id)
{
int i;
BYTE tmp;
for(i=0; i<4; i++)
{
tmp = id[i];
id[i] = 0;
if( tmp & 0x01) id[i] |= 0x80;
if( tmp & 0x02) id[i] |= 0x40;
if( tmp & 0x04) id[i] |= 0x20;
if( tmp & 0x08) id[i] |= 0x10;
if( tmp & 0x10) id[i] |= 0x08;
if( tmp & 0x20) id[i] |= 0x04;
if( tmp & 0x40) id[i] |= 0x02;
if( tmp & 0x80) id[i] |= 0x01;
}
}
// ================================================================================================
// EP2OUT
//
// Default processing of JTAG output packets. This task will also enable EP4 to handle
// JTAG 'in' requests. But because there is nothing to do after a packet sent to the host,
// the default interrupt handler will do just fine. No special handling is necessary.
//
// Note:
// Because the jtag commands, SCAN,SDR,SIR always prepare data for the host,
// it must be read by the host even if it doesn't need the data !!!!
// ================================================================================================
void jtag_ep2out(void)
{
BYTE fin = 0;
BYTE cmd = 0;
BYTE idx = 0;
WORD len = 0;
WORD adr = 0;
int i;
// ----------------------------------------------------------
// check for hook
// ----------------------------------------------------------
// if( fx2_ep2_hook && fx2_ep2_hook())
// continue;
// ----------------------------------------------------------
// if no hook defined or the hook didn't process the packet,
// then process it here.
// ----------------------------------------------------------
cmd = EP2FIFOBUF[0];
fin = EP2FIFOBUF[1];
idx = EP2FIFOBUF[2];
len = EP2FIFOBUF[3] + EP2FIFOBUF[2] * 256;
adr = EP2FIFOBUF[5] + EP2FIFOBUF[4] * 256;
EP4FIFOBUF[0] = EP2FIFOBUF[0];
EP4FIFOBUF[1] = 0;
EP4FIFOBUF[2] = EP2FIFOBUF[2];
EP4FIFOBUF[3] = EP2FIFOBUF[3];
EP4FIFOBUF[4] = EP2FIFOBUF[4];
EP4FIFOBUF[5] = EP2FIFOBUF[5];
EP4FIFOBUF[6] = EP2FIFOBUF[6];
EP4FIFOBUF[7] = EP2FIFOBUF[7];
switch(cmd)
{
// ------------------------------------------------------
// JTAG: SCAN
// ------------------------------------------------------
case CMD_JTAG_SCAN:
jtag_set_state(TS_RESET);
jtag_set_state(TS_DRSHIFT);
for(i=0; i<4*8; i++)
EP4FIFOBUF[12+i] = 0x00;
jtag_xfer( &EP4FIFOBUF[12], 4*8, 1);
for(i=0; i<4; i++)
{
reverse_id( &EP4FIFOBUF[12+i*8]);
if( EP4FIFOBUF[12+i*8] == 0)
break;
}
EP4FIFOBUF[ 8] = i;
EP4FIFOBUF[ 9] = 0;
EP4FIFOBUF[10] = 0;
EP4FIFOBUF[11] = 0;
EP4BCH = 1;
EP4BCL = 0;
break;
// ------------------------------------------------------
// JTAG: SIR
// ------------------------------------------------------
case CMD_JTAG_SIR:
jtag_set_state(TS_IRSHIFT);
jtag_xfer(&EP2FIFOBUF[8], len, fin);
len = (len + 7) / 8;
for(idx=8; idx<8+len; idx++)
EP4FIFOBUF[idx] = EP2FIFOBUF[idx];
#ifdef DEBUG
sir++;
lcd_gotoxy(0,0);
st7565r_putd( sir, 4, false);
#endif
EP4BCH = MSB(8+len);
EP4BCL = LSB(8+len);
break;
// ------------------------------------------------------
// JTAG: SDR
//
// write/read data shift
// ------------------------------------------------------
case CMD_JTAG_SDR:
jtag_set_state(TS_DRSHIFT);
jtag_xfer(&EP2FIFOBUF[8], len, fin);
len = (len + 7) / 8;
for(idx=8; idx<8+len; idx++)
EP4FIFOBUF[idx] = EP2FIFOBUF[idx];
#ifdef DEBUG
sdr++;
lcd_gotoxy(0,1);
st7565r_putd( sdr, 4, false);
#endif
EP4BCH = MSB(8+len);
EP4BCL = LSB(8+len);
break;
// ------------------------------------------------------
// JTAG: SDW
//
// writeonly data shift
// ------------------------------------------------------
case CMD_JTAG_SDW:
jtag_set_state(TS_DRSHIFT);
jtag_xfer(&EP2FIFOBUF[8], len, fin);
#ifdef DEBUG
sdr++;
lcd_gotoxy(0,1);
st7565r_putd( sdr, 4, false);
#endif
break;
}
// ----------------------------------------------------------
// Re-arm output endpoint EP2
// ----------------------------------------------------------
EP2BCL = 0x80;
}
+119
View File
@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectGui xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_gui.xsd">
<SchemaVersion>-6.1</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<PrjGuiSettings>
<LastAddFilePath></LastAddFilePath>
</PrjGuiSettings>
<ViewPool/>
<SECTreeCtrl>
<View>
<WinId>38003</WinId>
<ViewName>Registers</ViewName>
<TableColWidths>228 229</TableColWidths>
</View>
<View>
<WinId>346</WinId>
<ViewName>Code Coverage</ViewName>
<TableColWidths>293 160</TableColWidths>
</View>
<View>
<WinId>204</WinId>
<ViewName>Performance Analyzer</ViewName>
<TableColWidths>453</TableColWidths>
</View>
</SECTreeCtrl>
<TreeListPane>
<View>
<WinId>35141</WinId>
<ViewName>Event Statistics</ViewName>
<UserString></UserString>
<TableColWidths>200 50 700</TableColWidths>
</View>
<View>
<WinId>1506</WinId>
<ViewName>Symbols</ViewName>
<UserString></UserString>
<TableColWidths>106 106 106</TableColWidths>
</View>
<View>
<WinId>1936</WinId>
<ViewName>Watch 1</ViewName>
<UserString></UserString>
<TableColWidths>200 133 133</TableColWidths>
</View>
<View>
<WinId>1937</WinId>
<ViewName>Watch 2</ViewName>
<UserString></UserString>
<TableColWidths>200 133 133</TableColWidths>
</View>
<View>
<WinId>1935</WinId>
<ViewName>Call Stack + Locals</ViewName>
<UserString></UserString>
<TableColWidths>200 133 133</TableColWidths>
</View>
<View>
<WinId>2506</WinId>
<ViewName>Trace Data</ViewName>
<UserString></UserString>
<TableColWidths>75 135 130 95 70 230 200 150</TableColWidths>
</View>
<View>
<WinId>466</WinId>
<ViewName>Source Browser</ViewName>
<UserString>500</UserString>
<TableColWidths>300</TableColWidths>
</View>
</TreeListPane>
<CompViewPool/>
<WindowSettings>
<LogicAnalizer>
<ShowLACursor>1</ShowLACursor>
<ShowSignalInfo>1</ShowSignalInfo>
<ShowCycles>0</ShowCycles>
<LeftSideBarSize>0</LeftSideBarSize>
<TimeBaseIndex>-1</TimeBaseIndex>
</LogicAnalizer>
</WindowSettings>
<WinLayoutEx>
<sActiveDebugView></sActiveDebugView>
<WindowPosition>
<length>44</length>
<flags>0</flags>
<showCmd>1</showCmd>
<MinPosition>
<xPos>-1</xPos>
<yPos>-1</yPos>
</MinPosition>
<MaxPosition>
<xPos>-1</xPos>
<yPos>-1</yPos>
</MaxPosition>
<NormalPosition>
<Top>228</Top>
<Left>231</Left>
<Right>1892</Right>
<Bottom>1333</Bottom>
</NormalPosition>
</WindowPosition>
<MDIClientArea>
<RegID>0</RegID>
<MDITabState>
<Len>366</Len>
<Data>01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000002000000010000000100000043433A5C576F726B5C6D722E73775C73772E6D63755C6D63752E6678325C6678322E7472695C70726A5C7472692E70726F746F5C7372635C70726F746F5F626F6F742E63000000000C70726F746F5F626F6F742E6300000000C5D4F200FFFFFFFF43433A5C576F726B5C6D722E73775C73772E6D63755C6D63752E6678325C6678322E7472695C70726A5C7472692E70726F746F5C7372635C70726F746F5F636F6E662E63000000000C70726F746F5F636F6E662E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000C6020000520100005C0700009A030000</Data>
</MDITabState>
</MDIClientArea>
</WinLayoutEx>
</ProjectGui>
+722
View File
@@ -0,0 +1,722 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_opt.xsd">
<SchemaVersion>1.0</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Extensions>
<cExt>*.c</cExt>
<aExt>*.s*; *.src; *.a*</aExt>
<oExt>*.obj</oExt>
<lExt>*.lib</lExt>
<tExt>*.txt; *.h; *.inc</tExt>
<pExt>*.plm</pExt>
<CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions>
<DaveTm>
<dwLowDateTime>0</dwLowDateTime>
<dwHighDateTime>0</dwHighDateTime>
</DaveTm>
<Target>
<TargetName>release</TargetName>
<ToolsetNumber>0x0</ToolsetNumber>
<ToolsetName>MCS-51</ToolsetName>
<TargetOption>
<CLK51>48000000</CLK51>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>1</RunSim>
<RunTarget>0</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT>
<OPTHX>
<HexSelection>0</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>120</PageWidth>
<PageLength>65</PageLength>
<TabStop>8</TabStop>
<ListingPath>.\lst\release\</ListingPath>
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>0</IsCurrentTarget>
</OPTFL>
<CpuCode>255</CpuCode>
<Books>
<Book>
<Number>0</Number>
<Title>Data Sheet</Title>
<Path>DATASHTS\CYPRESS\CY7C68XXX_DS.PDF</Path>
</Book>
<Book>
<Number>1</Number>
<Title>Technical Reference Manual</Title>
<Path>DATASHTS\CYPRESS\FX2_TRM.PDF</Path>
</Book>
</Books>
<DebugOpt>
<uSim>1</uSim>
<uTrg>0</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>0</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>0</tRfunc>
<tRbox>1</tRbox>
<tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>-1</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon></pMon>
</DebugOpt>
<Breakpoint/>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>0</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>0</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
<StkLoc>0</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
</TargetOption>
</Target>
<Target>
<TargetName>debug</TargetName>
<ToolsetNumber>0x0</ToolsetNumber>
<ToolsetName>MCS-51</ToolsetName>
<TargetOption>
<CLK51>48000000</CLK51>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>1</RunSim>
<RunTarget>0</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT>
<OPTHX>
<HexSelection>0</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>120</PageWidth>
<PageLength>65</PageLength>
<TabStop>8</TabStop>
<ListingPath>.\lst\debug\</ListingPath>
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>255</CpuCode>
<Books>
<Book>
<Number>0</Number>
<Title>Data Sheet</Title>
<Path>DATASHTS\CYPRESS\CY7C68XXX_DS.PDF</Path>
</Book>
<Book>
<Number>1</Number>
<Title>Technical Reference Manual</Title>
<Path>DATASHTS\CYPRESS\FX2_TRM.PDF</Path>
</Book>
</Books>
<DebugOpt>
<uSim>1</uSim>
<uTrg>0</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>0</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>0</tRfunc>
<tRbox>1</tRbox>
<tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>-1</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon></pMon>
</DebugOpt>
<Breakpoint/>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>1</periodic>
<aLwin>0</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>0</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
<StkLoc>0</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
</TargetOption>
</Target>
<Group>
<GroupName>fx2lp - startup</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_startup.s51</PathWithFileName>
<FilenameWithoutPath>fx2_startup.s51</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_conf.s51</PathWithFileName>
<FilenameWithoutPath>fx2_conf.s51</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>fx2lp - init</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_delay1ms.s51</PathWithFileName>
<FilenameWithoutPath>fx2_delay1ms.s51</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_delay.c</PathWithFileName>
<FilenameWithoutPath>fx2_delay.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_globals.c</PathWithFileName>
<FilenameWithoutPath>fx2_globals.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_init.c</PathWithFileName>
<FilenameWithoutPath>fx2_init.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>fx2lp - iic</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_i2c.c</PathWithFileName>
<FilenameWithoutPath>fx2_i2c.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_eeprom.c</PathWithFileName>
<FilenameWithoutPath>fx2_eeprom.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>fx2lp - timer</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_tmr.c</PathWithFileName>
<FilenameWithoutPath>fx2_tmr.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>fx2lp - serial</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
</Group>
<Group>
<GroupName>fx2lp - usb</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_jmptbl.s51</PathWithFileName>
<FilenameWithoutPath>fx2_jmptbl.s51</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>11</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_disconnect.c</PathWithFileName>
<FilenameWithoutPath>fx2_disconnect.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>12</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_usb_isr.c</PathWithFileName>
<FilenameWithoutPath>fx2_usb_isr.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_usb_sleep.c</PathWithFileName>
<FilenameWithoutPath>fx2_usb_sleep.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2lp\src\fx2_usb_sudav.c</PathWithFileName>
<FilenameWithoutPath>fx2_usb_sudav.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>fx2mr - jtag</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>15</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2mr\src\jtag\jtag.s51</PathWithFileName>
<FilenameWithoutPath>jtag.s51</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>fx2mr - lcd</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\lib\fx2mr\src\lcd\7565r\lcd_7565r.c</PathWithFileName>
<FilenameWithoutPath>lcd_7565r.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>tri - base</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>17</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\tri.base\src\tri_dscr.s51</PathWithFileName>
<FilenameWithoutPath>tri_dscr.s51</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\tri.base\src\tri_main.c</PathWithFileName>
<FilenameWithoutPath>tri_main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\tri.base\src\tri_conf.c</PathWithFileName>
<FilenameWithoutPath>tri_conf.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\tri.base\src\tri_glb.c</PathWithFileName>
<FilenameWithoutPath>tri_glb.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\tri.base\src\tri_cmd.c</PathWithFileName>
<FilenameWithoutPath>tri_cmd.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\tri.base\src\tri_usb_ep1.c</PathWithFileName>
<FilenameWithoutPath>tri_usb_ep1.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>tri - jtag</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\jtag_boot.c</PathWithFileName>
<FilenameWithoutPath>jtag_boot.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\jtag_conf.c</PathWithFileName>
<FilenameWithoutPath>jtag_conf.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\jtag_cmd.c</PathWithFileName>
<FilenameWithoutPath>jtag_cmd.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>26</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\jtag_ep2.c</PathWithFileName>
<FilenameWithoutPath>jtag_ep2.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
</ProjectOpt>
File diff suppressed because it is too large Load Diff