Initial check in
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
#ifndef TRI_H
|
||||
#define TRI_H
|
||||
|
||||
// trinity specific (must be moved somewhere else)
|
||||
#define bmCap0_I2C 0x01 // has I2C bus
|
||||
#define bmCap0_SER 0x02 // has serial ports (2)
|
||||
#define bmCap0_EPR 0x04 // has flash EEPROM
|
||||
#define bmCap0_RAM 0x08 // has 32k SRAM
|
||||
#define bmCap0_JTG 0x10 // has standard JTAG
|
||||
|
||||
#define bmCap1_LED 0x01
|
||||
#define bmCap1_LCD 0x02
|
||||
#define bmCap1_EXP 0x04
|
||||
#define bmCap1_LXP 0x08
|
||||
#define bmCap1_SDR 0x10
|
||||
|
||||
// ================================================================================================
|
||||
// LCD stuff
|
||||
// ================================================================================================
|
||||
#ifdef LCD_7565
|
||||
#include <lcd\lcd_7565r.h>
|
||||
#endif
|
||||
|
||||
#ifdef LCD_44780
|
||||
#include <lcd\lcd_44780.h>
|
||||
#endif
|
||||
|
||||
// ================================================================================================
|
||||
// USB interrupt hooks
|
||||
// ================================================================================================
|
||||
extern void (*sudav) (void);
|
||||
|
||||
extern void (*ep0ack) (void); // sudav used instead
|
||||
extern void (*ep0out) (void); // sudav used instead
|
||||
extern void (*ep0in ) (void); // sudav used instead
|
||||
|
||||
extern void (*ep1out) (void);
|
||||
extern void (*ep1in ) (void);
|
||||
|
||||
extern void (*ep2inout) (void); // JTAG host->device
|
||||
extern void (*ep4inout) (void); // JTAG device->host
|
||||
|
||||
extern void (*ep6inout) (void); // for slave fifo or gpif highspeed transfer
|
||||
extern void (*ep8inout) (void); // for slave fifo or gpif highspeed transfer
|
||||
|
||||
extern bool (*DR_VendorCommand)();
|
||||
|
||||
// ================================================================================================
|
||||
// global variables
|
||||
// ================================================================================================
|
||||
extern xdata BYTE devSerialNumber [8];
|
||||
extern xdata BYTE devCapabilities [8];
|
||||
extern xdata BYTE devIdentifier [8];
|
||||
|
||||
extern BYTE xdata sig[2];
|
||||
extern BYTE xdata crc[2];
|
||||
|
||||
extern xdata DEVICE_DSCR xdata *pDscrDevice;
|
||||
extern xdata DEVICEQUAL_DSCR xdata *pDscrDeviceQual;
|
||||
|
||||
extern xdata CONFIG_DSCR xdata *pDscrMainConfig;
|
||||
extern xdata CONFIG_DSCR xdata *pDscrOthrConfig;
|
||||
extern xdata CONFIG_DSCR xdata *pDscrFsConfig;
|
||||
extern xdata CONFIG_DSCR xdata *pDscrHsConfig;
|
||||
|
||||
extern data STRING_DSCR xdata *pDscrString;
|
||||
|
||||
|
||||
// ============================================================================
|
||||
// ============================================================================
|
||||
// ============================================================================
|
||||
//
|
||||
// IMPORTANT !!!!
|
||||
//
|
||||
// Keep this include file synchronized with jtag_state.s51 and Delphi
|
||||
// sources !!!
|
||||
//
|
||||
// ============================================================================
|
||||
// ============================================================================
|
||||
// ============================================================================
|
||||
|
||||
// ============================================================================
|
||||
// JTAG states (Lattice VME values)
|
||||
// ============================================================================
|
||||
#define TS_RESET 0
|
||||
#define TS_IDLE 1
|
||||
#define TS_IRPAUSE 2
|
||||
#define TS_DRPAUSE 3
|
||||
#define TS_IRSHIFT 4
|
||||
#define TS_DRSHIFT 5
|
||||
#define TS_DRCAPT 6
|
||||
#define TS_IREXIT1 7
|
||||
#define TS_DREXIT1 8
|
||||
|
||||
// ============================================================================
|
||||
//
|
||||
// ENDPOINT 0 request codes
|
||||
//
|
||||
// reserved by cypress:
|
||||
// 0x00 - 0x0C
|
||||
// 0xA0 - 0xAF
|
||||
//
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// JTAG commands 0xC0 - 0xCF
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// interface commands
|
||||
// -------------------------------
|
||||
#define CMD_JTAG_INIT 0xC0 // initialize JTAG interface
|
||||
#define CMD_JTAG_RESET 0xC1 // reset JTAG interface
|
||||
#define CMD_JTAG_ENABLE 0xC2 // enable physical I/O
|
||||
#define CMD_JTAG_STATUS 0xC3 // get JTAG status
|
||||
|
||||
// SVF,VME,... commands
|
||||
// -------------------------------
|
||||
#define CMD_JTAG_ENDIR 0xC8 //
|
||||
#define CMD_JTAG_ENDDR 0xC9 //
|
||||
#define CMD_JTAG_STATE 0xCA //
|
||||
#define CMD_JTAG_TRST 0xCB //
|
||||
|
||||
// -------------------------------
|
||||
#define CMD_JTAG_TEST 0xCF //
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Trinity configuration commands 0xE0 - 0xE7
|
||||
// ----------------------------------------------------------------------------
|
||||
#define CMD_TRI_CAPS 0xE0 // get/set trinity board capabilities
|
||||
#define CMD_TRI_SERIAL 0xE1 // get/set trinity board serial
|
||||
#define CMD_TRI_IDENTIFIER 0xE2 // get/set trinity board identifier
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Trinity base peripheral commands 0xD0 - 0xDF
|
||||
// ----------------------------------------------------------------------------
|
||||
#define CMD_TRI_IIC 0xD0 // IIC read/write
|
||||
#define CMD_TRI_SER 0xD8 // serial read/write
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// LCD/LED commands
|
||||
// ----------------------------------------------------------------------------
|
||||
#define CMD_LCD_LED 0x40 //
|
||||
|
||||
#define CMD_LCD_CLS 0x50 //
|
||||
#define CMD_LCD_GOTOXY 0x51 //
|
||||
#define CMD_LCD_PUTC 0x52 //
|
||||
#define CMD_LCD_PUTS 0x53 //
|
||||
|
||||
// =============================================================================
|
||||
//
|
||||
// ENDPOINT 1 request codes
|
||||
//
|
||||
//
|
||||
// =============================================================================
|
||||
#define CMD_IIC_WRITE 0x00 // IIC write
|
||||
|
||||
#define CMD_IIC_READ 0x00 // IIC read
|
||||
#define CMD_IIC_READ_RSW 0x01 // IIC read w/ repeated start cond. 16
|
||||
#define CMD_IIC_READ_RSB 0x02 // IIC read w/ repeated start cond. 8
|
||||
|
||||
#define CMD_IIC_WAIT 0x1F // wait for a device
|
||||
// (e.g: wait for eeprom write finish)
|
||||
|
||||
#define CMD_EEP_WRITE 0x20 // EEPROM write
|
||||
#define CMD_EEP_READ 0x20 // EEPROM read
|
||||
|
||||
|
||||
// =============================================================================
|
||||
//
|
||||
// ENDPOINT 2 request codes
|
||||
//
|
||||
// =============================================================================
|
||||
// -----------------------------------------------------------------------------
|
||||
// JTAG commands 0xC0 - 0xCF
|
||||
//
|
||||
// These commands may transfer huge amount of data or take long time to run,
|
||||
// so they are implemented as EP2 commands.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// interface commands
|
||||
// -------------------------------
|
||||
#define CMD_JTAG_SCAN 0xC0 // scan JTAG chain
|
||||
|
||||
// SVF,VME,... commands
|
||||
// -------------------------------
|
||||
#define CMD_JTAG_SIR 0xC1 // write/read
|
||||
#define CMD_JTAG_SDR 0xC2 // write/read
|
||||
#define CMD_JTAG_RUN 0xC3 //
|
||||
#define CMD_JTAG_SDW 0xC4 // write only
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,9 @@
|
||||
#include <fx2.h>
|
||||
#include <tri.h>
|
||||
|
||||
extern bool tri_command(void);
|
||||
|
||||
void tri_boot(void)
|
||||
{
|
||||
DR_VendorCommand = tri_command;
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <fx2_i2c.h>
|
||||
|
||||
#include <tri.h>
|
||||
|
||||
extern xdata BYTE devSerialNumber [];
|
||||
extern xdata BYTE devCapabilities [];
|
||||
extern xdata BYTE devIdentifier [];
|
||||
|
||||
xdata i2c_buffer[64];
|
||||
|
||||
// ================================================================================================
|
||||
// tri_command
|
||||
//
|
||||
// Common trinity commands implementation. The functions are:
|
||||
//
|
||||
// - read serial number
|
||||
// - read capabilities
|
||||
// - read identifier
|
||||
// - iic read
|
||||
// - eeprom read (todo)
|
||||
//
|
||||
// - write identifier
|
||||
// - iic write
|
||||
// - eeprom write (todo)
|
||||
//
|
||||
// ================================================================================================
|
||||
bool tri_command()
|
||||
{
|
||||
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)
|
||||
{
|
||||
switch(sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// Get Serial Number
|
||||
// --------------------------------------------
|
||||
case CMD_TRI_SERIAL:
|
||||
SUDPTRH = MSB(devSerialNumber);
|
||||
SUDPTRL = LSB(devSerialNumber);
|
||||
|
||||
break;
|
||||
|
||||
// --------------------------------------------
|
||||
// Get Capabilities
|
||||
// --------------------------------------------
|
||||
case CMD_TRI_CAPS:
|
||||
SUDPTRH = MSB(devCapabilities);
|
||||
SUDPTRL = LSB(devCapabilities);
|
||||
|
||||
break;
|
||||
|
||||
// --------------------------------------------
|
||||
// Get Identifier
|
||||
// --------------------------------------------
|
||||
case CMD_TRI_IDENTIFIER:
|
||||
SUDPTRH = MSB(devIdentifier);
|
||||
SUDPTRL = LSB(devIdentifier);
|
||||
|
||||
break;
|
||||
|
||||
// --------------------------------------------
|
||||
// I2C read
|
||||
// --------------------------------------------
|
||||
case CMD_TRI_IIC:
|
||||
break;
|
||||
|
||||
// --------------------------------------------
|
||||
// default (invalid command)
|
||||
// --------------------------------------------
|
||||
default:
|
||||
// result = false;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------
|
||||
// OUT command host -> device
|
||||
// ----------------------------------------------------
|
||||
else
|
||||
{
|
||||
switch(cmd)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// Set Identifier
|
||||
// --------------------------------------------
|
||||
case CMD_TRI_IDENTIFIER:
|
||||
break;
|
||||
|
||||
// --------------------------------------------
|
||||
// default (invalid command)
|
||||
// --------------------------------------------
|
||||
default:
|
||||
// result = false;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,349 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <fx2_i2c.h>
|
||||
#include <fx2_eeprom.h>
|
||||
#include <fx2_usart.h>
|
||||
#include <fx2_syncdelay.h>
|
||||
|
||||
#include <tri.h>
|
||||
|
||||
STRING_DSCR xdata * GetStringDscr( BYTE index);
|
||||
|
||||
extern void tri_sudav( void);
|
||||
extern void tri_ep1out( void);
|
||||
|
||||
// ================================================================================================
|
||||
// tri_conf
|
||||
// ================================================================================================
|
||||
void tri_conf()
|
||||
{
|
||||
int i;
|
||||
|
||||
#ifdef LCD_7565
|
||||
// ------------------------------------------------------------------------
|
||||
// For LCD (7565r), the following pins are used for LCD interface:
|
||||
//
|
||||
// RST - PD.6
|
||||
// CS - PD.5
|
||||
// A0 - PD.4
|
||||
// SCL - PD.3
|
||||
// SI - PD.1
|
||||
// ------------------------------------------------------------------------
|
||||
IOD = 0x00;
|
||||
OED = 0xFF;
|
||||
#endif
|
||||
|
||||
#ifdef LCD_44780
|
||||
// ------------------------------------------------------------------------
|
||||
// LED and LCD display
|
||||
//
|
||||
// bit dir init function
|
||||
// ------------------------------------------
|
||||
// PD.0 - - (FPGA)
|
||||
//
|
||||
// PD.1 out 0 LCD R/W
|
||||
// PD.2 out 0 LCD R/S
|
||||
// PD.3 out 0 LCD E
|
||||
//
|
||||
// PD.4 out 0 LED 0
|
||||
// PD.5 out 0 LED 1
|
||||
// PD.6 out 0 LED 2
|
||||
// PD.7 out 0 LED 3
|
||||
//
|
||||
// PE.0 out 0 LCD D0
|
||||
// PE.1 out 0 LCD D1
|
||||
// PE.2 out 0 LCD D2
|
||||
// PE.3 out 0 LCD D3
|
||||
// PE.4 out 0 LCD D4
|
||||
// PE.5 out 0 LCD D5
|
||||
// PE.6 out 0 LCD D6
|
||||
// PE.7 out 0 LCD D7
|
||||
//
|
||||
// ------------------------------------------------------------------------
|
||||
IOD = 0x00; // PD[1,2,3] lcd 44780 ctrl PD[4,5,6,7] leds
|
||||
IOE = 0x00; // lcd 44780 data
|
||||
|
||||
OEE = 0xFF; //
|
||||
OED = 0xFE; //
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
lcd_init();
|
||||
lcd_cls();
|
||||
lcd_gotoxy(1,1);
|
||||
lcd_putc('X');
|
||||
lcd_gotoxy(0,0);
|
||||
#endif
|
||||
|
||||
// ========================================================================
|
||||
//
|
||||
// USB Descriptor Tables
|
||||
//
|
||||
// ========================================================================
|
||||
pDscrString = (STRING_DSCR xdata *)&DscrString;
|
||||
pDscrDevice = (DEVICE_DSCR xdata *)&DscrDevice;
|
||||
pDscrDeviceQual = (DEVICEQUAL_DSCR xdata *)&DscrDeviceQual;
|
||||
|
||||
pDscrHsConfig = (CONFIG_DSCR xdata *)&DscrHsConfig;
|
||||
pDscrFsConfig = (CONFIG_DSCR xdata *)&DscrFsConfig;
|
||||
|
||||
pDscrMainConfig = pDscrHsConfig;
|
||||
pDscrOthrConfig = pDscrFsConfig;
|
||||
|
||||
pDscrMainConfig->type = DSCR_CONFIG;
|
||||
pDscrOthrConfig->type = DSCR_OTHERSPEED;
|
||||
|
||||
// ========================================================================
|
||||
//
|
||||
// EP1
|
||||
//
|
||||
// ========================================================================
|
||||
EP1OUTCFG = 0xB0; SYNCDELAY; // valid, out, bulk, 64, 1x
|
||||
EP1INCFG = 0xB0; SYNCDELAY; // valid, in, bulk, 64, 1x
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// EP1 usb interrupt handlers
|
||||
// ------------------------------------------------------------------------
|
||||
ep1out = tri_ep1out;
|
||||
ep1in = 0; // not needed
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Out endpoints do not come up armed.
|
||||
// Arm the EP1OUT endpoint by writing the byte count.
|
||||
// --------------------------------------------------------------
|
||||
EP1OUTBC = 0x40; SYNCDELAY; // arm EP1 output endpoint
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Enable EP1 interrupts
|
||||
// --------------------------------------------------------------
|
||||
EPIE |= (bmEP1IN | bmEP1OUT);
|
||||
|
||||
// ========================================================================
|
||||
// Enable INT2 and INT4 autovectoring
|
||||
// ------------------------------------------------------------------------
|
||||
INTSETUP |= (bmAV2EN | bmAV4EN);
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// EP0 USB interrupt handlers
|
||||
// ------------------------------------------------------------------------
|
||||
sudav = tri_sudav;
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Enable interrupts
|
||||
// ------------------------------------------------------------------------
|
||||
USB_IRQ_ENABLE(); // Enable USB interrupts
|
||||
RSM_IRQ_ENABLE(); // Enable Wake-up/resume interrupt
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Enable USB interrupts
|
||||
// ------------------------------------------------------------------------
|
||||
USBIE |= bmSUDAV |
|
||||
bmSUTOK |
|
||||
bmSUSP |
|
||||
bmURES |
|
||||
bmHSGRANT;
|
||||
|
||||
// ========================================================================
|
||||
//
|
||||
// I2C
|
||||
//
|
||||
// ========================================================================
|
||||
fx2_i2c_init();
|
||||
|
||||
// ========================================================================
|
||||
//
|
||||
// Read configuration data from eeprom
|
||||
//
|
||||
// ========================================================================
|
||||
EA = 1;
|
||||
|
||||
// FX2_EEPROM_Read( 511, 0, 2, sig );
|
||||
// FX2_EEPROM_Read( 511, 2, 8, devSerialNumber );
|
||||
// FX2_EEPROM_Read( 511, 10, 8, devCapabilities );
|
||||
// FX2_EEPROM_Read( 511, 18, 8, devIdentifier );
|
||||
// FX2_EEPROM_Read( 511, 30, 2, crc );
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// check data
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// if data is corrupt, clear the configuration variables.
|
||||
// ------------------------------------------------------------------------
|
||||
for( i=0; i<8; i++)
|
||||
{
|
||||
devCapabilities [i] = 0;
|
||||
devSerialNumber [i] = 0;
|
||||
devIdentifier [i] = 0;
|
||||
}
|
||||
|
||||
devSerialNumber[0] = 'T';
|
||||
devSerialNumber[1] = '1';
|
||||
|
||||
devCapabilities[0] |= bmCap0_I2C;
|
||||
devCapabilities[0] |= bmCap0_EPR;
|
||||
|
||||
/*
|
||||
buf[0] = 0x33;
|
||||
buf[1] = 0x75;
|
||||
buf[2] = 0xEF;
|
||||
buf[3] = 0xAA;
|
||||
buf[4] = 0x30;
|
||||
buf[5] = 0x31;
|
||||
buf[6] = 0x32;
|
||||
buf[7] = 0x33;
|
||||
|
||||
dly[0] = 1;
|
||||
dly[1] = 0;
|
||||
dly[2] = 0;
|
||||
dly[3] = 0;
|
||||
dly[4] = 1;
|
||||
dly[5] = 0;
|
||||
dly[6] = 4;
|
||||
dly[7] = 0;
|
||||
|
||||
|
||||
|
||||
fx2_usart_init( 9600, uc8e1);
|
||||
fx2_usart_send( 4, buf, dly);
|
||||
|
||||
fx2_usart_send( 4, &buf[4], &dly[4]);
|
||||
// SBUF0 = 0xaa;
|
||||
// SBUF1 = 0x31;
|
||||
|
||||
// fx2_i2c_read( 0x55, 3, buf);
|
||||
// fx2_i2c_write( 0x55, 5, buf);
|
||||
*/
|
||||
}
|
||||
|
||||
// ================================================================================================
|
||||
// ================================================================================================
|
||||
// ================================================================================================
|
||||
//
|
||||
// LCD 7565r support
|
||||
//
|
||||
// ================================================================================================
|
||||
// ================================================================================================
|
||||
// ================================================================================================
|
||||
#ifdef LCD_7565
|
||||
|
||||
#define PIN_RST PD6
|
||||
#define PIN_CS PD5
|
||||
#define PIN_A0 PD4
|
||||
#define PIN_SCL PD3
|
||||
#define PIN_SI PD1
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
// lcd init
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void lcd_7565r_init(void)
|
||||
{
|
||||
PIN_CS = 1; // unselect the chip
|
||||
PIN_RST = 0; // RST
|
||||
FX2_Delay(10); // delay 10 ms
|
||||
|
||||
PIN_RST = 1; // release RST line
|
||||
FX2_Delay(1); // delay 1 ms
|
||||
PIN_CS = 0; // select the chip
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
// lcd deactivate
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void lcd_7565r_deactivate(void)
|
||||
{
|
||||
PIN_RST = 1; // make sure reset line is released
|
||||
PIN_CS = 0; // unselect display
|
||||
|
||||
PIN_A0 = 0; //
|
||||
PIN_SI = 0; //
|
||||
PIN_SCL = 0; //
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
// lcd send
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void lcd_7565r_send( BYTE d, bit a0)
|
||||
{
|
||||
BYTE i;
|
||||
|
||||
PIN_A0 = 0;
|
||||
|
||||
for( i=0; i<8; i++)
|
||||
{
|
||||
PIN_SI = (d & (1 << (7-i))) ? 1 : 0;
|
||||
PIN_A0 = (i == 7) ? a0 : 0;
|
||||
PIN_SCL = 1;
|
||||
PIN_SCL = 0;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
// ================================================================================================
|
||||
// ================================================================================================
|
||||
// ================================================================================================
|
||||
//
|
||||
// LCD 44780 support
|
||||
//
|
||||
// ================================================================================================
|
||||
// ================================================================================================
|
||||
// ================================================================================================
|
||||
#ifdef LCD_44780
|
||||
|
||||
#define LED_3 PD7
|
||||
#define LED_2 PD6
|
||||
#define LED_1 PD5
|
||||
#define LED_0 PD4
|
||||
|
||||
#define LCD_E PD3
|
||||
#define LCD_RS PD2
|
||||
#define LCD_RW PD1
|
||||
|
||||
#define LCD_DATA IOE
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
// lcd_4478_write_led
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void lcd_44780_write_led( BYTE n, BYTE v)
|
||||
{
|
||||
switch(n)
|
||||
{
|
||||
case 0: LED_0 = (v) ? 1 : 0; break;
|
||||
case 1: LED_1 = (v) ? 1 : 0; break;
|
||||
case 2: LED_2 = (v) ? 1 : 0; break;
|
||||
case 3: LED_3 = (v) ? 1 : 0; break;
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
// lcd_44780_write_ctrl
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void lcd_44780_write_ctrl( unsigned char value)
|
||||
{
|
||||
LCD_E = 1;
|
||||
LCD_DATA = value;
|
||||
LCD_E = 0;
|
||||
|
||||
LCD_RW = 0;
|
||||
LCD_RS = 0;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
// lcd_44780_write_data
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
void lcd_44780_write_data( unsigned char value)
|
||||
{
|
||||
LCD_RW = 0;
|
||||
LCD_RS = 1;
|
||||
|
||||
LCD_E = 1;
|
||||
LCD_DATA = value;
|
||||
LCD_E = 0;
|
||||
|
||||
LCD_RW = 0;
|
||||
LCD_RS = 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,309 @@
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;;
|
||||
;; File : fx2_dscr.asm
|
||||
;; Contents : This file contains descriptor data tables.
|
||||
;;
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
DSCR_DEVICE equ 1 ;; Descriptor type: Device
|
||||
DSCR_CONFIG equ 2 ;; Descriptor type: Configuration
|
||||
DSCR_STRING equ 3 ;; Descriptor type: String
|
||||
DSCR_INTRFC equ 4 ;; Descriptor type: Interface
|
||||
DSCR_ENDPNT equ 5 ;; Descriptor type: Endpoint
|
||||
DSCR_DEVQUAL equ 6 ;; Descriptor type: Device Qualifier
|
||||
|
||||
ET_CONTROL equ 0 ;; Endpoint type: Control
|
||||
ET_ISO equ 1 ;; Endpoint type: Isochronous
|
||||
ET_BULK equ 2 ;; Endpoint type: Bulk
|
||||
ET_INT equ 3 ;; Endpoint type: Interrupt
|
||||
|
||||
DSCR_DEVICE_LEN equ 18
|
||||
DSCR_CONFIG_LEN equ 9
|
||||
DSCR_INTRFC_LEN equ 9
|
||||
DSCR_ENDPNT_LEN equ 7
|
||||
DSCR_DEVQUAL_LEN equ 10
|
||||
|
||||
DIR_OUT equ 0
|
||||
DIR_IN equ 080H
|
||||
|
||||
|
||||
PUBLIC DscrDevice
|
||||
PUBLIC DscrDeviceQual
|
||||
PUBLIC DscrHsConfig
|
||||
PUBLIC DscrFsConfig
|
||||
PUBLIC DscrString
|
||||
|
||||
DSCR SEGMENT CODE PAGE
|
||||
rseg DSCR
|
||||
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;;
|
||||
;; Device Descriptor
|
||||
;;
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
DscrDevice:
|
||||
db DSCR_DEVICE_LEN ;; Descriptor length
|
||||
db DSCR_DEVICE ;; Decriptor type
|
||||
db 00 ;; Specification Version (BCD) (L)
|
||||
db 02 ;; Specification Version (BCD) (H)
|
||||
db 0FFH ;; Device class
|
||||
db 0FFH ;; Device sub-class
|
||||
db 0FFH ;; Device sub-sub-class
|
||||
db 64 ;; Maximum packet size for EP0
|
||||
|
||||
db 0D0h ;; Vendor ID (L)
|
||||
db 016h ;; Vendor ID (H)
|
||||
db 012h ;; Product ID (L)
|
||||
db 007h ;; Product ID (H)
|
||||
|
||||
db 00h ;; Product version ID (L)
|
||||
db 00h ;; Product version ID (H)
|
||||
db 1 ;; Manufacturer string index
|
||||
db 2 ;; Product string index
|
||||
db 0 ;; Serial number string index
|
||||
db 1 ;; Number of configurations
|
||||
|
||||
DscrDeviceQual:
|
||||
db DSCR_DEVQUAL_LEN ;; Descriptor length
|
||||
db DSCR_DEVQUAL ;; Decriptor type
|
||||
dw 0002H ;; Specification Version (BCD)
|
||||
db 0FFH ;; Device class
|
||||
db 0FFH ;; Device sub-class
|
||||
db 0FFH ;; Device sub-sub-class
|
||||
db 64 ;; Maximum packet size for other speed
|
||||
db 1 ;; Number of configurations
|
||||
db 0 ;; Reserved
|
||||
|
||||
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;;
|
||||
;; Full Speed Configuration (DEFAULT)
|
||||
;;
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
DSCR_FS SEGMENT CODE PAGE
|
||||
rseg DSCR_FS
|
||||
|
||||
DscrFsConfig:
|
||||
;; ====================================================================
|
||||
;; Configuration Descriptor
|
||||
;; ====================================================================
|
||||
db DSCR_CONFIG_LEN ;; Descriptor length
|
||||
db DSCR_CONFIG ;; Descriptor type
|
||||
|
||||
db (DscrFsConfigEnd-DscrFsConfig) mod 256 ;; Total Length (LSB)
|
||||
db (DscrFsConfigEnd-DscrFsConfig) / 256 ;; Total Length (MSB)
|
||||
|
||||
db 1 ;; Number of interfaces
|
||||
db 9 ;; Configuration number
|
||||
db 0 ;; Configuration string
|
||||
db 01000000b ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu)
|
||||
db 50 ;; Power requirement (div 2 ma)
|
||||
|
||||
;; ====================================================================
|
||||
;; Interface 0, Alternate Setting 0
|
||||
;; ====================================================================
|
||||
db DSCR_INTRFC_LEN ;; Descriptor length
|
||||
db DSCR_INTRFC ;; Descriptor type
|
||||
db 0 ;; Zero-based index of this interface
|
||||
db 0 ;; Alternate setting
|
||||
db 2 ;; Number of end points
|
||||
db 0ffH ;; Interface class
|
||||
db 0ffH ;; Interface sub class
|
||||
db 0ffH ;; Interface sub sub class
|
||||
db 0 ;; Interface descriptor string index
|
||||
|
||||
;; --------------------------------------------------------------------
|
||||
;; Endpoint Descriptor 01 (64 bytes bulk mode)
|
||||
;; --------------------------------------------------------------------
|
||||
db DSCR_ENDPNT_LEN ;; Descriptor length
|
||||
db DSCR_ENDPNT ;; Descriptor type
|
||||
db 01H + DIR_OUT ;; Endpoint number, and direction
|
||||
db ET_BULK ;; Endpoint type
|
||||
db 40H ;; Maximum packet size (LSB)
|
||||
db 00H ;; Maximum packet size (MSB)
|
||||
db 00H ;; Polling interval
|
||||
|
||||
;; --------------------------------------------------------------------
|
||||
;; Endpoint Descriptor 81 (64 bytes bulk mode)
|
||||
;; --------------------------------------------------------------------
|
||||
db DSCR_ENDPNT_LEN ;; Descriptor length
|
||||
db DSCR_ENDPNT ;; Descriptor type
|
||||
db 01H + DIR_IN ;; Endpoint number, and direction
|
||||
db ET_BULK ;; Endpoint type
|
||||
db 40H ;; Maximum packet size (LSB)
|
||||
db 00H ;; Maximum packet size (MSB)
|
||||
db 00H ;; Polling interval
|
||||
DscrFsConfigEnd:
|
||||
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;;
|
||||
;; High Speed Configuration
|
||||
;;
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
DSCR_HS SEGMENT CODE PAGE
|
||||
rseg DSCR_HS
|
||||
|
||||
DscrHsConfig:
|
||||
;; ====================================================================
|
||||
;; Configuration Descriptor
|
||||
;; ====================================================================
|
||||
db DSCR_CONFIG_LEN ;; Descriptor length
|
||||
db DSCR_CONFIG ;; Descriptor type
|
||||
|
||||
db (DscrHsConfigEnd-DscrHsConfig) mod 256 ;; Total Length (LSB)
|
||||
db (DscrHsConfigEnd-DscrHsConfig) / 256 ;; Total Length (MSB)
|
||||
|
||||
db 1 ;; Number of interfaces
|
||||
db 1 ;; Configuration number
|
||||
db 0 ;; Configuration string
|
||||
db 10000000b ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu)
|
||||
db 45 ;; Power requirement (div 2 mA)
|
||||
|
||||
;; ====================================================================
|
||||
;; Interface Descriptor
|
||||
;; ====================================================================
|
||||
db DSCR_INTRFC_LEN ;; Descriptor length
|
||||
db DSCR_INTRFC ;; Descriptor type
|
||||
db 0 ;; Zero-based index of this interface
|
||||
db 0 ;; Alternate setting
|
||||
db 4 ;; Number of end points
|
||||
db 0ffH ;; Interface class
|
||||
db 00H ;; Interface sub class
|
||||
db 00H ;; Interface sub sub class
|
||||
db 0 ;; Interface descriptor string index
|
||||
|
||||
;; ====================================================================
|
||||
;; Endpoint Descriptor 01 (out, interrupt, 1x, 64) 01
|
||||
;; ====================================================================
|
||||
db DSCR_ENDPNT_LEN ;; Descriptor length
|
||||
db DSCR_ENDPNT ;; Descriptor type
|
||||
db 01H + DIR_OUT ;; Endpoint number, and direction
|
||||
db ET_BULK ;; Endpoint type
|
||||
db 40H ;; Maximum packet size (LSB)
|
||||
db 00H ;; Maximum packet size (MSB)
|
||||
db 00H ;; Polling interval
|
||||
|
||||
;; ====================================================================
|
||||
;; Endpoint Descriptor 01 (in, interrupt, 1x, 64) 81
|
||||
;; ====================================================================
|
||||
db DSCR_ENDPNT_LEN ;; Descriptor length
|
||||
db DSCR_ENDPNT ;; Descriptor type
|
||||
db 01H + DIR_IN ;; Endpoint number, and direction
|
||||
db ET_BULK ;; Endpoint type
|
||||
db 40H ;; Maximum packet size (LSB)
|
||||
db 00H ;; Maximum packet size (MSB)
|
||||
db 00H ;; Polling interval
|
||||
|
||||
;; ====================================================================
|
||||
;; Endpoint Descriptor 02 (out, bulk, 2x, 512) 02
|
||||
;; ====================================================================
|
||||
db DSCR_ENDPNT_LEN ;; Descriptor length
|
||||
db DSCR_ENDPNT ;; Descriptor type
|
||||
db 02H + DIR_OUT ;; Endpoint number, and direction
|
||||
db ET_BULK ;; Endpoint type
|
||||
db 00H ;; Maximum packet size (LSB)
|
||||
db 02H ;; Maximum packet size (MSB)
|
||||
db 00H ;; Polling interval
|
||||
|
||||
;; ====================================================================
|
||||
;; Endpoint Descriptor 04 (in, bulk, 2x, 512) 84
|
||||
;; ====================================================================
|
||||
db DSCR_ENDPNT_LEN ;; Descriptor length
|
||||
db DSCR_ENDPNT ;; Descriptor type
|
||||
db 04H + DIR_IN ;; Endpoint number, and direction
|
||||
db ET_BULK ;; Endpoint type
|
||||
db 00H ;; Maximum packet size (LSB)
|
||||
db 02H ;; Maximum packet size (MSB)
|
||||
db 00H ;; Polling interval
|
||||
|
||||
;; ====================================================================
|
||||
;; Endpoint Descriptor 06 (out, bulk, 2x, 512) 06
|
||||
;; ====================================================================
|
||||
db DSCR_ENDPNT_LEN ;; Descriptor length
|
||||
db DSCR_ENDPNT ;; Descriptor type
|
||||
db 06H + DIR_OUT ;; Endpoint number, and direction
|
||||
db ET_BULK ;; Endpoint type
|
||||
db 00H ;; Maximum packet size (LSB)
|
||||
db 02H ;; Maximum packet size (MSB)
|
||||
db 00H ;; Polling interval
|
||||
|
||||
;; ====================================================================
|
||||
;; Endpoint Descriptor 08 (in, bulk, 2x, 512) 88
|
||||
;; ====================================================================
|
||||
db DSCR_ENDPNT_LEN ;; Descriptor length
|
||||
db DSCR_ENDPNT ;; Descriptor type
|
||||
db 08H + DIR_IN ;; Endpoint number, and direction
|
||||
db ET_BULK ;; Endpoint type
|
||||
db 00H ;; Maximum packet size (LSB)
|
||||
db 02H ;; Maximum packet size (MSB)
|
||||
db 00H ;; Polling interval
|
||||
DscrHsConfigEnd:
|
||||
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;;
|
||||
;; String Descriptors
|
||||
;;
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
;; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
DSCR_ST SEGMENT CODE PAGE
|
||||
rseg DSCR_ST
|
||||
|
||||
DscrString:
|
||||
|
||||
String0:
|
||||
db String0End-String0
|
||||
db DSCR_STRING
|
||||
db ' ',00
|
||||
String0End:
|
||||
|
||||
String1:
|
||||
db String1End-String1
|
||||
db DSCR_STRING
|
||||
db 'M', 00
|
||||
db 'R', 00
|
||||
db ' ', 00
|
||||
db 'D', 00
|
||||
db 'e', 00
|
||||
db 'v', 00
|
||||
db 'i', 00
|
||||
db 'c', 00
|
||||
db 'e', 00
|
||||
db 's', 00
|
||||
db 00, 00
|
||||
String1End:
|
||||
|
||||
String2:
|
||||
db String2End-String2
|
||||
db DSCR_STRING
|
||||
db 'T', 00
|
||||
db 'r', 00
|
||||
db 'i', 00
|
||||
db 'n', 00
|
||||
db 'i', 00
|
||||
db 't', 00
|
||||
db 'y', 00
|
||||
db 00, 00
|
||||
String2End:
|
||||
|
||||
UserDscr:
|
||||
dw 0000H
|
||||
|
||||
END
|
||||
@@ -0,0 +1,19 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <fx2_i2c.h>
|
||||
#include <fx2_eeprom.h>
|
||||
#include <fx2_syncdelay.h>
|
||||
#include <rtx51tny.h>
|
||||
|
||||
void (*main_hook)() = 0;
|
||||
void (*idle_hook)() = 0;
|
||||
|
||||
// ================================================================================================
|
||||
// global variables
|
||||
// ================================================================================================
|
||||
xdata BYTE devSerialNumber [8] _at_ 0xE000;
|
||||
xdata BYTE devCapabilities [8] _at_ 0xE008;
|
||||
xdata BYTE devIdentifier [8] _at_ 0xE010;
|
||||
|
||||
BYTE xdata sig[2];
|
||||
BYTE xdata crc[2];
|
||||
@@ -0,0 +1,73 @@
|
||||
// ================================================================================================
|
||||
// CY_TRINITY
|
||||
//
|
||||
// CY_TRINITY boards built on Cypress' FX2LP chip, CY7C68013A.
|
||||
// The firmware assumes that, the boards have a 16 kB I2C EEPROM memory at address 0x51.
|
||||
// The last page (32 byte) of the EEPROM is reserved for board identification.
|
||||
// The rest of the EEPROM is reserved for permanent firmware.
|
||||
//
|
||||
// ================================================================================================
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
|
||||
#ifdef RTX51TNY
|
||||
#include <rtx51tny.h>
|
||||
#endif
|
||||
|
||||
extern void tri_conf();
|
||||
extern void tri_boot();
|
||||
|
||||
extern void (*main_hook)();
|
||||
extern void (*idle_hook)();
|
||||
|
||||
// ================================================================================================
|
||||
// main()
|
||||
// ================================================================================================
|
||||
#ifdef RTX51TNY
|
||||
void tri_main(void) _task_ 0
|
||||
#else
|
||||
void main(void)
|
||||
#endif
|
||||
|
||||
{
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// INITIALIZE BASE HARDWARE/ENDPOINTS
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
FX2_Init();
|
||||
|
||||
tri_conf();
|
||||
tri_boot();
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Renumerate if necessary. Do this by checking the renum bit. If it
|
||||
// is already set, no need to renumerate. The renum bit will already
|
||||
// set if this firmware was loaded from eeprom.
|
||||
// -------------------------------------------------------------------
|
||||
if( !(USBCS & bmRENUM))
|
||||
FX2_Disconnect(true);
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Unconditionally re-connect. If we loaded from eeprom we are
|
||||
// disconnected and need to connect. If we just renumerated, this is
|
||||
// not necessary but doesn't hurt anything.
|
||||
// -------------------------------------------------------------------
|
||||
USBCS &= ~bmDISCON;
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// call main hook for starting board specific tasks, e.g.: jtag
|
||||
// -------------------------------------------------------------------
|
||||
if( main_hook)
|
||||
main_hook();
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// idle
|
||||
// -------------------------------------------------------------------
|
||||
while(1)
|
||||
{
|
||||
if( idle_hook)
|
||||
idle_hook();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <fx2_i2c.h>
|
||||
#include <fx2_eeprom.h>
|
||||
#include <tri.h>
|
||||
//#include <lcd\lcd_7565r.h>
|
||||
|
||||
#define DATAINPTR ((BYTE xdata *)&EP1INBUF [8])
|
||||
#define DATAOUTPTR ((BYTE xdata *)&EP1OUTBUF[8])
|
||||
|
||||
|
||||
//extern BYTE fx2_i2c_read( BYTE, BYTE, BYTE xdata *);
|
||||
|
||||
|
||||
// ================================================================================================
|
||||
// EP1
|
||||
//
|
||||
// Default processing of I2C and EEPROM packets. Inherited EP1 packet handlers normally
|
||||
// don't override I2C and EEPROM packet processing. They implement (most of the time) new
|
||||
// features, which have simple data transfer only. EP1 is not intented to use for transfering
|
||||
// large amount of data, e.g.: jtag, or LA stream.
|
||||
//
|
||||
// BUF[0] : dir[7] + command[6..0]
|
||||
// BUF[1] : address
|
||||
// BUF[2] : address ext
|
||||
// BUF[3] : subaddress[lo]/eeprom page address[lo]
|
||||
// BUF[4] : subaddress[hi]/eeprom page address[lo]
|
||||
// BUF[5] : length (max 32)
|
||||
// BUF[6] : offset
|
||||
// BUF[7] : timeout in ms
|
||||
// ================================================================================================
|
||||
void tri_ep1out( void)
|
||||
{
|
||||
bool rd; // true if eeprom/i2c xfer operation is read
|
||||
BYTE cmd; // the actual command
|
||||
|
||||
WORD address; // device address + address extension
|
||||
WORD subaddr; // sub address for repeated start read
|
||||
WORD page; // eeprom page number
|
||||
BYTE length; // data length
|
||||
BYTE offset; // offset in eeprom page
|
||||
BYTE tmo; // timeout
|
||||
|
||||
// ------------------------------------------------------
|
||||
// parse command
|
||||
// ------------------------------------------------------
|
||||
rd = EP1OUTBUF[0] & 0x80;
|
||||
cmd = EP1OUTBUF[0] & 0x7F;
|
||||
|
||||
address = *(WORD*)&EP1OUTBUF[1]; // I2C address
|
||||
subaddr = *(WORD*)&EP1OUTBUF[3]; // sub address for RS
|
||||
page = *(WORD*)&EP1OUTBUF[3]; // page number
|
||||
length = *(BYTE*)&EP1OUTBUF[5]; // data length
|
||||
offset = *(BYTE*)&EP1OUTBUF[6]; // offset in page
|
||||
tmo = *(BYTE*)&EP1OUTBUF[7]; // timeout
|
||||
|
||||
if( length > 132)
|
||||
length = 132;
|
||||
|
||||
// ------------------------------------------------------
|
||||
// prepare status block
|
||||
// ------------------------------------------------------
|
||||
EP1INBUF[0] = EP1OUTBUF[0];
|
||||
EP1INBUF[1] = EP1OUTBUF[1];
|
||||
EP1INBUF[2] = EP1OUTBUF[2];
|
||||
EP1INBUF[3] = EP1OUTBUF[3];
|
||||
EP1INBUF[4] = EP1OUTBUF[4];
|
||||
EP1INBUF[5] = EP1OUTBUF[5];
|
||||
EP1INBUF[6] = EP1OUTBUF[6];
|
||||
EP1INBUF[7] = I2C_OK;
|
||||
|
||||
if(rd)
|
||||
{
|
||||
switch(cmd)
|
||||
{
|
||||
case CMD_IIC_READ:
|
||||
EP1INBUF[7] = fx2_i2c_read( address, length, DATAINPTR);
|
||||
EP1INBC = 8 +length;
|
||||
break;
|
||||
|
||||
case CMD_IIC_READ_RSW:
|
||||
EP1INBUF[7] = fx2_i2c_read_rsw( address, subaddr, length, DATAINPTR);
|
||||
EP1INBC = 8 +length;
|
||||
break;
|
||||
/*
|
||||
case 1://CMD_EEPROM_BOOT:
|
||||
EP1INBUF[7] = FX2_EEPROM_ReadPage0( 0,8, DATAINPTR);
|
||||
EP1INBC = 8 +8;
|
||||
break;
|
||||
|
||||
case 2://CMD_EEPROM_RAW:
|
||||
EP1INBUF[7] = FX2_EEPROM_ReadPage( page, 32, DATAINPTR);
|
||||
EP1INBC = 8 +32;
|
||||
break;
|
||||
*/
|
||||
default:
|
||||
EP1INBC = 8;
|
||||
}
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
// *(WORD*)&EP1INBUF[6] = length;
|
||||
|
||||
switch(cmd)
|
||||
{
|
||||
case CMD_IIC_WRITE:
|
||||
EP1INBUF[7] = fx2_i2c_write( address, length, DATAOUTPTR);
|
||||
/*
|
||||
lcd_gotoxy( 0, 1);
|
||||
lcd_putx2(EP1OUTBUF[0]);
|
||||
lcd_putx2(EP1OUTBUF[1]);
|
||||
lcd_putx2(EP1OUTBUF[2]);
|
||||
lcd_putx2(EP1OUTBUF[3]);
|
||||
lcd_putx2(EP1OUTBUF[4]);
|
||||
lcd_putx2(EP1OUTBUF[5]);
|
||||
lcd_putx2(EP1OUTBUF[6]);
|
||||
lcd_putx2(EP1OUTBUF[7]);
|
||||
*/
|
||||
break;
|
||||
|
||||
case 1://CMD_EEPROM_RAW:
|
||||
EP1INBUF[7] = FX2_EEPROM_WritePage( page, 32, DATAOUTPTR);
|
||||
break;
|
||||
}
|
||||
|
||||
EP1INBC = 8;
|
||||
}
|
||||
|
||||
EP1OUTBC = 0x40; // re-arm EP1OUT
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,695 @@
|
||||
<?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; *.o</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>0</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>1</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>0</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>1</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>0</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
<sDlgPa></sDlgPa>
|
||||
<sIfile></sIfile>
|
||||
<tDll></tDll>
|
||||
<tDllPa></tDllPa>
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>BIN\MON51.DLL</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGTP51</Key>
|
||||
<Name>(98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(99=-1,-1,-1,-1,0)(101=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0)(94=-1,-1,-1,-1,0)(104=-1,-1,-1,-1,0)(5065=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>MON51</Key>
|
||||
<Name>-S5 -B38400 -O1311</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGDP51</Key>
|
||||
<Name>(98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(99=-1,-1,-1,-1,0)(101=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0)(94=-1,-1,-1,-1,0)(104=-1,-1,-1,-1,0)(5065=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<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>1</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>1</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>1</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>0</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>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\lib\fx2lp\src\fx2_usart.c</PathWithFileName>
|
||||
<FilenameWithoutPath>fx2_usart.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>fx2lp - usb</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>11</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>12</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>13</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>14</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>15</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 - lcd</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>1</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>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\tri_dscr.s51</PathWithFileName>
|
||||
<FilenameWithoutPath>tri_dscr.s51</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\tri_main.c</PathWithFileName>
|
||||
<FilenameWithoutPath>tri_main.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>19</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\tri_boot.c</PathWithFileName>
|
||||
<FilenameWithoutPath>tri_boot.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>20</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\tri_conf.c</PathWithFileName>
|
||||
<FilenameWithoutPath>tri_conf.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>21</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\tri_glb.c</PathWithFileName>
|
||||
<FilenameWithoutPath>tri_glb.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>22</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\tri_cmd.c</PathWithFileName>
|
||||
<FilenameWithoutPath>tri_cmd.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\tri_usb_ep1.c</PathWithFileName>
|
||||
<FilenameWithoutPath>tri_usb_ep1.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
</ProjectOpt>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
||||
#include <fx2.h>
|
||||
|
||||
extern bool (*DR_VendorCommand)(void);
|
||||
extern void (*main_hook)(void);
|
||||
|
||||
extern void cf1_conf(void);
|
||||
extern void cf1_main(void);
|
||||
extern bool cf1_command(void);
|
||||
|
||||
void TRI_Boot(void)
|
||||
{
|
||||
cf1_conf();
|
||||
|
||||
main_hook = cf1_main;
|
||||
DR_VendorCommand = cf1_command;
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
|
||||
#include <tri.h>
|
||||
#include <lcd\lcd_44780.h>
|
||||
|
||||
extern bool jtag_command(void);
|
||||
|
||||
// ============================================================================
|
||||
// command
|
||||
// ============================================================================
|
||||
bool cf1_command(void)
|
||||
{
|
||||
bool result = true;
|
||||
|
||||
bit dir = (SETUPDAT[0] & 0x80) ? 1 : 0;
|
||||
BYTE cmd = SETUPDAT[1]; // (SETUPDAT[1] & 0x7F);
|
||||
PSUDAV sud = (PSUDAV)SETUPDAT;
|
||||
|
||||
BYTE X = SETUPDAT[2];
|
||||
BYTE Y = SETUPDAT[3];
|
||||
BYTE C = SETUPDAT[3];
|
||||
|
||||
BYTE LED = SETUPDAT[2];
|
||||
BYTE VAL = SETUPDAT[3];
|
||||
|
||||
//#ifdef DEBUG
|
||||
// lcd_gotoxy(0,0);
|
||||
// lcd_putx2(cmd);
|
||||
// lcd_putx2(X);
|
||||
// lcd_putx2(Y);
|
||||
// lcd_putled( 3, 1);
|
||||
//#endif
|
||||
|
||||
// ----------------------------------------------------
|
||||
// IN command device -> host
|
||||
// ----------------------------------------------------
|
||||
if(dir)
|
||||
{
|
||||
switch(sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = jtag_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------
|
||||
// OUT command host -> device
|
||||
// ----------------------------------------------------
|
||||
else
|
||||
{
|
||||
switch(sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// display commands
|
||||
// --------------------------------------------
|
||||
case CMD_LCD_LED:
|
||||
lcd_putled( LED, VAL);
|
||||
break;
|
||||
|
||||
case CMD_LCD_CLS:
|
||||
lcd_gotoxy(0,0); lcd_puts(" ");
|
||||
lcd_gotoxy(0,1); lcd_puts(" ");
|
||||
break;
|
||||
|
||||
case CMD_LCD_GOTOXY:
|
||||
lcd_gotoxy(X,Y);
|
||||
break;
|
||||
|
||||
case CMD_LCD_PUTC:
|
||||
lcd_putc(C);
|
||||
break;
|
||||
|
||||
case CMD_LCD_PUTS:
|
||||
lcd_putc(EP0BUF[0]);
|
||||
break;
|
||||
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = jtag_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <fx2_syncdelay.h>
|
||||
|
||||
#include <rtx51tny.h>
|
||||
#include <tri.h>
|
||||
|
||||
#include <lcd\lcd_44780.h>
|
||||
|
||||
extern xdata BYTE devSerialNumber [];
|
||||
extern xdata BYTE devCapabilities [];
|
||||
extern xdata BYTE devIdentifier [];
|
||||
|
||||
extern void FX2_Delay(WORD);
|
||||
|
||||
// inherited object routines
|
||||
extern void jtag_main(void);
|
||||
extern void jtag_conf(void);
|
||||
|
||||
// ================================================================================================
|
||||
// main
|
||||
//
|
||||
// This routine is the place to start tasks !
|
||||
// ================================================================================================
|
||||
void cf1_main(void)
|
||||
{
|
||||
// -------------------------------------------------------------------
|
||||
// call "inherited" main()
|
||||
// -------------------------------------------------------------------
|
||||
jtag_main();
|
||||
}
|
||||
|
||||
// ================================================================================================
|
||||
// configure board
|
||||
// ================================================================================================
|
||||
void cf1_conf()
|
||||
{
|
||||
// ------------------------------------------------------------------------
|
||||
// call "inherited" config()
|
||||
// ------------------------------------------------------------------------
|
||||
jtag_conf();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// set IFCLK to 30 MHz
|
||||
//
|
||||
// with 30 MHz the on-board SDRAM can run on 120 MHz
|
||||
// with 48 MHz the on-board SDRAM can run on 144 or 96 MHz
|
||||
// ------------------------------------------------------------------------
|
||||
IFCONFIG &= ~bm3048MHZ; SYNCDELAY; // 30 MHz
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// add capabilities
|
||||
// ------------------------------------------------------------------------
|
||||
devCapabilities[1] |= bmCap1_LCD;
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Board specific initialization
|
||||
//
|
||||
// TRINITY_2:
|
||||
// - 4 layers board
|
||||
// - 128 pin mcu
|
||||
// - 32k SRAM for mcu
|
||||
// - Lattice FPGA
|
||||
// - 32M SDRAM for FPGA
|
||||
// - LCD (44780) & LED port
|
||||
// - 8 bit expansion port
|
||||
//
|
||||
// Not USB powered device. It must monitor USB power for
|
||||
// correct working. Port C bit 5 is the monitoring bit.
|
||||
//
|
||||
// GPIF is not implemented in this firmware. It is just
|
||||
// a suggestion.
|
||||
//
|
||||
// FPGA - programming
|
||||
//
|
||||
// bit dir init function
|
||||
// ------------------------------------------
|
||||
// PC.0 out 0 TCK
|
||||
// PC.1 out 1 TMS
|
||||
// PC.2 out 1 TDI
|
||||
// PC.3 in - TDO
|
||||
// PC.4 out 1 PRGn
|
||||
//
|
||||
// FPGA - GPIF
|
||||
//
|
||||
// bit/pin dir init function
|
||||
// ------------------------------------------
|
||||
// PC.6 out 0 GA[0]
|
||||
// PC.7 out 0 GA[1]
|
||||
//
|
||||
// PB.0 in/out - GP[0]
|
||||
// PB.1 in/out - GP[1]
|
||||
// PB.2 in/out - GP[2]
|
||||
// PB.3 in/out - GP[3]
|
||||
// PB.4 in/out - GP[4]
|
||||
// PB.5 in/out - GP[5]
|
||||
// PB.6 in/out - GP[6]
|
||||
// PB.7 in/out - GP[7]
|
||||
//
|
||||
// CTL0 out 0 CTL0
|
||||
// CTL1 out 0 CTL1
|
||||
// CTL2 out 0 CTL2
|
||||
// CTL3 out 0 CTL3
|
||||
// CTL4 out 0 CTL4
|
||||
// CTL5 out 0 CTL5
|
||||
//
|
||||
// RDY0 in - RDY0
|
||||
// RDY1 in - RDY1
|
||||
// RDY2 in - RDY2
|
||||
// RDY3 in - RDY3
|
||||
//
|
||||
// FPGA - MISC
|
||||
//
|
||||
// bit dir init function
|
||||
// ------------------------------------------
|
||||
// PD.0 out (0) RESET
|
||||
// IFCK out - CLK
|
||||
// INT5 in (1) INT
|
||||
//
|
||||
//
|
||||
// LED and LCD display
|
||||
//
|
||||
// bit dir init function
|
||||
// ------------------------------------------
|
||||
// PD.0 - - (FPGA)
|
||||
//
|
||||
// PD.1 out 0 LCD R/W
|
||||
// PD.2 out 0 LCD R/S
|
||||
// PD.3 out 0 LCD E
|
||||
//
|
||||
// PD.4 out 0 LED 0
|
||||
// PD.5 out 0 LED 1
|
||||
// PD.6 out 0 LED 2
|
||||
// PD.7 out 0 LED 3
|
||||
//
|
||||
// PE.0 out 0 LCD D0
|
||||
// PE.1 out 0 LCD D1
|
||||
// PE.2 out 0 LCD D2
|
||||
// PE.3 out 0 LCD D3
|
||||
// PE.4 out 0 LCD D4
|
||||
// PE.5 out 0 LCD D5
|
||||
// PE.6 out 0 LCD D6
|
||||
// PE.7 out 0 LCD D7
|
||||
// ------------------------------------------
|
||||
//
|
||||
// Expansion Port
|
||||
//
|
||||
// bit dir init function
|
||||
// ------------------------------------------
|
||||
// PA.0 i/o - PA.0
|
||||
// PA.1 out 0 PA.1
|
||||
// PA.2 out 0 PA.2
|
||||
// PA.3 out 0 PA.3
|
||||
// PA.4 out 0 PA.4
|
||||
// PA.5 out 0 PA.5
|
||||
// PA.6 out 0 PA.6
|
||||
// PA.7 out 0 PA.7
|
||||
// ------------------------------------------
|
||||
//
|
||||
// MISC
|
||||
//
|
||||
// bit dir init function
|
||||
// ------------------------------------------
|
||||
// PC.5 in (1) VMON
|
||||
// PA.0 out 0 debug trigger 1
|
||||
//
|
||||
// ------------------------------------------------------------------------
|
||||
PORTCCFG = 0x00; SYNCDELAY; // port C is I/O, not GPIFADDR
|
||||
|
||||
IOC = 0xFE; // set default values
|
||||
OEC = 0x17; // set port directions
|
||||
|
||||
IOA = 0x00; // expansion port
|
||||
OEA = 0x01; //
|
||||
|
||||
devSerialNumber[0] = 'C';
|
||||
devSerialNumber[1] = '5';
|
||||
|
||||
EP0BCL = 0x40; SYNCDELAY;
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// INITIALIZE LCD
|
||||
// -------------------------------------------------------------------
|
||||
lcd_init();
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
#include <fx2.h>
|
||||
|
||||
extern bool (*DR_VendorCommand)(void);
|
||||
extern void (*main_hook)(void);
|
||||
|
||||
extern void cnc1_conf(void);
|
||||
extern void cnc1_main(void);
|
||||
extern bool cnc1_command(void);
|
||||
|
||||
void tri_boot(void)
|
||||
{
|
||||
cnc1_conf();
|
||||
|
||||
main_hook = cnc1_main;
|
||||
DR_VendorCommand = cnc1_command;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
|
||||
extern bool cf1_command(void);
|
||||
|
||||
// ================================================================================================
|
||||
// Command
|
||||
// ================================================================================================
|
||||
bool cnc1_command(void)
|
||||
{
|
||||
bool result = true;
|
||||
|
||||
bit dir = (SETUPDAT[0] & 0x80) ? 1 : 0;
|
||||
BYTE cmd = SETUPDAT[1];
|
||||
PSUDAV sud = (PSUDAV)SETUPDAT;
|
||||
|
||||
// ----------------------------------------------------
|
||||
// IN command device -> host
|
||||
// ----------------------------------------------------
|
||||
if(dir)
|
||||
{
|
||||
switch(sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = cf1_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------
|
||||
// OUT command host -> device
|
||||
// ----------------------------------------------------
|
||||
else
|
||||
{
|
||||
switch(sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = cf1_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <fx2_syncdelay.h>
|
||||
#include <fx2_i2c.h>
|
||||
|
||||
#include <lcd\lcd_44780.h>
|
||||
|
||||
#include <tri.h>
|
||||
|
||||
extern xdata BYTE devSerialNumber [];
|
||||
extern xdata BYTE devCapabilities [];
|
||||
extern xdata BYTE devIdentifier [];
|
||||
|
||||
extern void cf1_main(void);
|
||||
extern void cf1_conf(void);
|
||||
|
||||
extern void cnc1_ep6out(void);
|
||||
|
||||
xdata BYTE buf[30];
|
||||
|
||||
// ================================================================================================
|
||||
// main
|
||||
// ================================================================================================
|
||||
void cnc1_main(void)
|
||||
{
|
||||
// ------------------------------------------------------------------------
|
||||
// call *inherited* main()
|
||||
// ------------------------------------------------------------------------
|
||||
cf1_main();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// *cf1* specific main()
|
||||
// ------------------------------------------------------------------------
|
||||
lcd_gotoxy(0,0); lcd_puts("X CNC1 X");
|
||||
lcd_gotoxy(0,1); lcd_puts("M M");
|
||||
|
||||
PD7 = 0;
|
||||
PD6 = 1;
|
||||
PD5 = 0;
|
||||
PD4 = 1;
|
||||
|
||||
buf[0] = 0;
|
||||
buf[1] = 0x61;
|
||||
buf[2] = 0x39;
|
||||
|
||||
|
||||
// fx2_i2c_write( 0x10, 4, buf);
|
||||
|
||||
|
||||
|
||||
fx2_i2c_write( 0x10, 1, buf);
|
||||
fx2_i2c_read( 0x10, 4, buf);
|
||||
|
||||
lcd_gotoxy( 2, 1);
|
||||
lcd_putc(buf[0] & 0xDF);
|
||||
lcd_putc(buf[1] & 0xDF);
|
||||
lcd_putc(buf[2] & 0xDF);
|
||||
lcd_putc(buf[3] & 0xDF);
|
||||
}
|
||||
|
||||
// ================================================================================================
|
||||
// configure
|
||||
// ================================================================================================
|
||||
void cnc1_conf(void)
|
||||
{
|
||||
// ------------------------------------------------------------------------
|
||||
// call *inherited* config()
|
||||
// ------------------------------------------------------------------------
|
||||
cf1_conf();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// temp serial number
|
||||
// ------------------------------------------------------------------------
|
||||
devSerialNumber[0] = 'N';
|
||||
devSerialNumber[1] = '5';
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Configure EP6/EP8
|
||||
//
|
||||
// Endpoint 6 is the OUT endpoint for FPGA communication.
|
||||
// Endpoint 8 is the IN endpoint for FPGA communication.
|
||||
// ------------------------------------------------------------------------
|
||||
EP6CFG = EP_VALID | EP_OUT | EP_BULK | EP_512 | EP_2x; SYNCDELAY;
|
||||
EP8CFG = EP_VALID | EP_IN | EP_BULK | EP_512 | EP_2x; SYNCDELAY;
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Out endpoints do not come up armed.
|
||||
// Since the EP6 is double buffered we must write dummy byte
|
||||
// count twice. Arm EP6 by writing byte count w/skip flag.
|
||||
// ------------------------------------------------------------------------
|
||||
EP6BCL = 0x80; SYNCDELAY;
|
||||
EP6BCL = 0x80; SYNCDELAY;
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// Enable EP6/EP8 interrupts
|
||||
// ------------------------------------------------------------------------
|
||||
EPIE |= (bmEP6 | bmEP8);
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// usb interrupt handler hooks
|
||||
// ------------------------------------------------------------------------
|
||||
ep6inout = cnc1_ep6out;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
|
||||
#include <tri.h>
|
||||
|
||||
// ================================================================================================
|
||||
// EP6OUT
|
||||
//
|
||||
// ================================================================================================
|
||||
void cnc1_ep6out(void)
|
||||
{
|
||||
|
||||
|
||||
// ----------------------------------------------------------
|
||||
// Re-arm output endpoint EP6
|
||||
// ----------------------------------------------------------
|
||||
EP6BCL = 0x80;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
#include <fx2.h>
|
||||
|
||||
extern bool (*DR_VendorCommand)(void);
|
||||
extern void (*main_hook)(void);
|
||||
|
||||
extern void mb_conf(void);
|
||||
extern void mb_main(void);
|
||||
extern bool mb_command(void);
|
||||
|
||||
void tri_boot(void)
|
||||
{
|
||||
mb_conf();
|
||||
|
||||
main_hook = mb_main;
|
||||
DR_VendorCommand = mb_command;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
|
||||
extern bool cf1_command(void);
|
||||
|
||||
bool mb_command( void)
|
||||
{
|
||||
bool result = true;
|
||||
|
||||
bit dir = (SETUPDAT[0] & 0x80) ? 1 : 0;
|
||||
BYTE cmd = SETUPDAT[1];
|
||||
PSUDAV sud = (PSUDAV)SETUPDAT;
|
||||
|
||||
|
||||
// ----------------------------------------------------
|
||||
// IN command device -> host
|
||||
// ----------------------------------------------------
|
||||
if(dir)
|
||||
{
|
||||
switch( sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = cf1_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------
|
||||
// OUT command host -> device
|
||||
// ----------------------------------------------------
|
||||
else
|
||||
{
|
||||
switch( sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = cf1_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <fx2_i2c.h>
|
||||
#include <fx2_usart.h>
|
||||
|
||||
#include <lcd\lcd_44780.h>
|
||||
|
||||
#include <tri.h>
|
||||
#include <modbus.h>
|
||||
|
||||
extern void cf1_main(void);
|
||||
extern void cf1_conf(void);
|
||||
|
||||
|
||||
BYTE xdata buf[10];
|
||||
BYTE xdata dly[10];
|
||||
|
||||
|
||||
// =================================================================================================
|
||||
// configure
|
||||
// =================================================================================================
|
||||
void mb_conf( void)
|
||||
{
|
||||
// ------------------------------------------------------------------------
|
||||
// call *inherited* config()
|
||||
// ------------------------------------------------------------------------
|
||||
cf1_conf();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// temp serial number
|
||||
// ------------------------------------------------------------------------
|
||||
devSerialNumber[0] = 'M';
|
||||
devSerialNumber[1] = 'B';
|
||||
devSerialNumber[2] = '1';
|
||||
|
||||
|
||||
devCapabilities[0] |= bmCap0_MBRTU;
|
||||
devCapabilities[0] |= bmCap0_MBASC;
|
||||
|
||||
// TEST only !!!
|
||||
// ------------------------------------------------------------------------
|
||||
// initialize serial port
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
//fx2_usart_init( 9600, uc8e1);
|
||||
lcd_putled(3,1);
|
||||
|
||||
mb_init( mbChannel1, mbRTU, 10, 9600, mbParityEven);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void FX2_Delay( WORD ms);
|
||||
|
||||
|
||||
|
||||
// =================================================================================================
|
||||
// main
|
||||
// =================================================================================================
|
||||
void mb_main( void)
|
||||
{
|
||||
int i;
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// call *inherited* main()
|
||||
// ------------------------------------------------------------------------
|
||||
cf1_main();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// TEST only !!!
|
||||
// ------------------------------------------------------------------------
|
||||
// ------------------------------------------------------------------------
|
||||
// *modbus* specific main()
|
||||
// ------------------------------------------------------------------------
|
||||
lcd_gotoxy(0,0); lcd_puts(" MODBUS ");
|
||||
lcd_gotoxy(0,1); lcd_puts("> -- <");
|
||||
|
||||
|
||||
buf[0] = 0x10;
|
||||
buf[0] = 0x3;
|
||||
buf[1] = 40001 >> 8;
|
||||
buf[2] = 40001 & 0xFF;
|
||||
buf[3] = 0x00;
|
||||
buf[4] = 0x01;
|
||||
|
||||
buf[5] = 0x11;
|
||||
buf[6] = 0x22;
|
||||
buf[7] = 0x33;
|
||||
|
||||
dly[0] = 0;
|
||||
dly[1] = 0;
|
||||
dly[2] = 0;
|
||||
dly[3] = 0;
|
||||
dly[4] = 0;
|
||||
dly[5] = 0;
|
||||
dly[6] = 0;
|
||||
dly[7] = 0;
|
||||
|
||||
|
||||
buf[0] = 31001 >> 8;
|
||||
buf[1] = 31001;
|
||||
buf[2] = 0;
|
||||
buf[3] = 1;
|
||||
buf[4] = 5;
|
||||
buf[5] = 5;
|
||||
|
||||
// fx2_i2c_write( 0x55, 6, buf);
|
||||
// fx2_i2c_read( 0x55, 2, buf);
|
||||
|
||||
buf[0] = 4;
|
||||
buf[1] = 31001 >> 8;
|
||||
buf[2] = 31001;
|
||||
buf[3] = 0;
|
||||
buf[4] = 1;
|
||||
|
||||
|
||||
|
||||
// fx2_usart_send( 4, buf, dly);
|
||||
// fx2_usart_send( 4, &buf[4], &dly[4]);
|
||||
|
||||
|
||||
// for( i=0; i<35; i++)
|
||||
// {
|
||||
// lcd_putled(0,1);
|
||||
// mb_send( mbChannel1, 2, 5, buf, 0);
|
||||
// lcd_putled(0,0);
|
||||
//
|
||||
// FX2_Delay(100);
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// set plc portparameters
|
||||
// --------------------------------------------------------------
|
||||
buf[0] = 40006 >> 8; // register address
|
||||
buf[1] = 40006; //
|
||||
|
||||
buf[2] = 0; // number of words
|
||||
buf[3] = 3; // number of words
|
||||
|
||||
buf[4] = 0; // modbus address
|
||||
buf[5] = 1; //
|
||||
|
||||
buf[6] = 0; // speed
|
||||
buf[7] = 48; //
|
||||
|
||||
buf[8] = 0; // config
|
||||
buf[9] = 1;
|
||||
|
||||
fx2_i2c_write( 0x55, 10, buf);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Binary file not shown.
@@ -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>
|
||||
@@ -0,0 +1,834 @@
|
||||
<?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>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>
|
||||
|
||||
<Target>
|
||||
<TargetName>cnc1</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\cnc1\</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>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>
|
||||
|
||||
<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>0</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 - serial</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_usart.c</PathWithFileName>
|
||||
<FilenameWithoutPath>fx2_usart.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>fx2lp - usb</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>5</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>5</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>5</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>5</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>5</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>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>6</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>7</GroupNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\lib\fx2mr\src\lcd\44780\lcd_44780.c</PathWithFileName>
|
||||
<FilenameWithoutPath>lcd_44780.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>fx2mr - modbus</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\lib\fx2mr\src\modbus\mb_crc.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mb_crc.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\lib\fx2mr\src\modbus\mb.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mb.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>19</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>20</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>21</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>22</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>23</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>24</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>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\tri.jtag\src\jtag_conf.c</PathWithFileName>
|
||||
<FilenameWithoutPath>jtag_conf.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>..\tri.jtag\src\jtag_cmd.c</PathWithFileName>
|
||||
<FilenameWithoutPath>jtag_cmd.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\tri.jtag\src\jtag_ep2.c</PathWithFileName>
|
||||
<FilenameWithoutPath>jtag_ep2.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>tri - cf1</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>28</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\cf1_boot.c</PathWithFileName>
|
||||
<FilenameWithoutPath>cf1_boot.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>29</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\cf1_conf.c</PathWithFileName>
|
||||
<FilenameWithoutPath>cf1_conf.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>30</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\cf1_cmd.c</PathWithFileName>
|
||||
<FilenameWithoutPath>cf1_cmd.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>tri - cf1 - cnc1</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>31</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\cnc1\cnc1_boot.c</PathWithFileName>
|
||||
<FilenameWithoutPath>cnc1_boot.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>32</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\cnc1\cnc1_conf.c</PathWithFileName>
|
||||
<FilenameWithoutPath>cnc1_conf.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>33</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\cnc1\cnc1_cmd.c</PathWithFileName>
|
||||
<FilenameWithoutPath>cnc1_cmd.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>34</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\cnc1\cnc1_ep6.c</PathWithFileName>
|
||||
<FilenameWithoutPath>cnc1_ep6.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
</ProjectOpt>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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
@@ -0,0 +1,16 @@
|
||||
#include <fx2.h>
|
||||
|
||||
extern bool (*DR_VendorCommand)(void);
|
||||
extern void (*main_hook)(void);
|
||||
|
||||
extern void proto_conf(void);
|
||||
extern void proto_main(void);
|
||||
extern bool proto_command(void);
|
||||
|
||||
void tri_boot(void)
|
||||
{
|
||||
proto_conf();
|
||||
|
||||
main_hook = proto_main;
|
||||
DR_VendorCommand = proto_command;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <lcd\lcd_7565r.h>
|
||||
|
||||
extern bool jtag_command(void);
|
||||
|
||||
// ================================================================================================
|
||||
// Command
|
||||
// ================================================================================================
|
||||
bool proto_command(void)
|
||||
{
|
||||
bool result = true;
|
||||
|
||||
bit dir = (SETUPDAT[0] & 0x80) ? 1 : 0;
|
||||
BYTE cmd = SETUPDAT[1]; // (SETUPDAT[1] & 0x7F);
|
||||
PSUDAV sud = (PSUDAV)SETUPDAT;
|
||||
|
||||
|
||||
lcd_gotoxy(0,7);
|
||||
lcd_putx2(cmd);
|
||||
|
||||
// ----------------------------------------------------
|
||||
// IN command device -> host
|
||||
// ----------------------------------------------------
|
||||
if(dir)
|
||||
{
|
||||
switch(sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = jtag_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------
|
||||
// OUT command host -> device
|
||||
// ----------------------------------------------------
|
||||
else
|
||||
{
|
||||
switch(sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = jtag_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,147 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <fx2_syncdelay.h>
|
||||
|
||||
#include <fx2_i2c.h>
|
||||
|
||||
#include <lcd\lcd_7565r.h>
|
||||
|
||||
extern void FX2_Delay( WORD);
|
||||
extern void fx2_tmr_init(void);
|
||||
|
||||
extern xdata BYTE devSerialNumber [];
|
||||
extern xdata BYTE devCapabilities [];
|
||||
extern xdata BYTE devIdentifier [];
|
||||
|
||||
extern void jtag_main(void);
|
||||
extern void jtag_conf(void);
|
||||
|
||||
extern void tri_conf();
|
||||
|
||||
xdata char b[100];
|
||||
|
||||
// ================================================================================================
|
||||
// main
|
||||
// ================================================================================================
|
||||
void proto_main(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// call "inherited" main()
|
||||
// ------------------------------------------------------------------------
|
||||
jtag_main();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// "proto" specific main()
|
||||
// ------------------------------------------------------------------------
|
||||
lcd_gotoxy(0,0);
|
||||
lcd_puts("PROTO",5);
|
||||
|
||||
/*
|
||||
ADAU1701
|
||||
|
||||
PD7 = 1;
|
||||
FX2_Delay(100);
|
||||
PD7 = 0;
|
||||
FX2_Delay(100);
|
||||
PD7 = 1;
|
||||
FX2_Delay(100);
|
||||
|
||||
b[0] = 0x00;
|
||||
b[1] = 0x00;
|
||||
b[2] = 0x00;
|
||||
b[3] = 0x22;
|
||||
b[4] = 0x33;
|
||||
b[5] = 0x44;
|
||||
|
||||
// for(i=0; i<0x28; i++)
|
||||
// b[i+2] = 0;
|
||||
|
||||
// fx2_i2c_read( 0x34, 1, b);
|
||||
fx2_i2c_write( 0x34, 6, b);
|
||||
fx2_i2c_read_rs( 0x34, 0x00, 4, b);
|
||||
*/
|
||||
}
|
||||
|
||||
// ================================================================================================
|
||||
// configure
|
||||
// ================================================================================================
|
||||
void proto_conf()
|
||||
{
|
||||
// ------------------------------------------------------------------------
|
||||
// call "inherited" config()
|
||||
// ------------------------------------------------------------------------
|
||||
jtag_conf();
|
||||
// tri_conf();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// temp serial number
|
||||
// ------------------------------------------------------------------------
|
||||
devSerialNumber[0] = 'P';
|
||||
devSerialNumber[1] = '5';
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// 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
|
||||
//
|
||||
// In case if JTAG is used, 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
|
||||
//
|
||||
//
|
||||
// In case the DOG LCD is used, the following pins are used for LCD interface.
|
||||
//
|
||||
// RST - PD.6 out
|
||||
// CS - PD.5 out
|
||||
// A0 - PD.4 out
|
||||
// SCL - PD.3 out
|
||||
// SI - PD.1 out
|
||||
//
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// INITIALIZE LCD
|
||||
// ------------------------------------------------------------------------
|
||||
lcd_init();
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
#include "uvna.h"
|
||||
|
||||
// ============================================================================
|
||||
// uvna_spi()
|
||||
// ============================================================================
|
||||
static void uvna_spi(BYTE d)
|
||||
{
|
||||
PIN_SS = 1;
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Shift out bit 7 and bit 6. These values are not used anyway...
|
||||
// --------------------------------------------------------------
|
||||
PIN_SDI = (d & 0x80) ? 1 : 0; PIN_SCK = 1; PIN_SCK = 0;
|
||||
PIN_SDI = (d & 0x40) ? 1 : 0; PIN_SCK = 1; PIN_SCK = 0;
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Shift out A1 and A0 address bits.
|
||||
// --------------------------------------------------------------
|
||||
PIN_SDI = (d & 0x20) ? 1 : 0; PIN_SCK = 1; PIN_SCK = 0;
|
||||
PIN_SDI = (d & 0x10) ? 1 : 0; PIN_SCK = 1; PIN_SCK = 0;
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// Shift out D3..D0 data bits.
|
||||
// --------------------------------------------------------------
|
||||
PIN_SDI = (d & 0x08) ? 1 : 0; PIN_SCK = 1; PIN_SCK = 0;
|
||||
PIN_SDI = (d & 0x04) ? 1 : 0; PIN_SCK = 1; PIN_SCK = 0;
|
||||
PIN_SDI = (d & 0x02) ? 1 : 0; PIN_SCK = 1; PIN_SCK = 0;
|
||||
PIN_SDI = (d & 0x01) ? 1 : 0; PIN_SCK = 1; PIN_SCK = 0;
|
||||
|
||||
PIN_SS = 0;
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// xclock
|
||||
// ============================================================================
|
||||
void uvna_xclock(BYTE clk)
|
||||
{
|
||||
uvna_spi(clk & 0x0F);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
#ifndef __UVNA_H__
|
||||
#define __UVNA_H__
|
||||
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
|
||||
#define PIN_SS PB0
|
||||
#define PIN_SCK PB1
|
||||
#define PIN_SDI PB2
|
||||
|
||||
extern void uvna_xclock( BYTE clock);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,16 @@
|
||||
#include <fx2.h>
|
||||
|
||||
extern bool (*DR_VendorCommand)(void);
|
||||
extern void (*main_hook)(void);
|
||||
|
||||
extern void uvna_conf(void);
|
||||
extern void uvna_main(void);
|
||||
extern bool uvna_command(void);
|
||||
|
||||
void TRI_Boot(void)
|
||||
{
|
||||
uvna_conf();
|
||||
|
||||
main_hook = uvna_main;
|
||||
DR_VendorCommand = uvna_command;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <lcd\lcd_7565r.h>
|
||||
|
||||
extern bool proto_command(void);
|
||||
|
||||
// ================================================================================================
|
||||
// Command
|
||||
// ================================================================================================
|
||||
bool uvna_command(void)
|
||||
{
|
||||
bool result = true;
|
||||
|
||||
bit dir = (SETUPDAT[0] & 0x80) ? 1 : 0;
|
||||
BYTE cmd = SETUPDAT[1]; // (SETUPDAT[1] & 0x7F);
|
||||
PSUDAV sud = (PSUDAV)SETUPDAT;
|
||||
|
||||
lcd_gotoxy(0,7);
|
||||
lcd_putx2(cmd);
|
||||
|
||||
// ----------------------------------------------------
|
||||
// IN command device -> host
|
||||
// ----------------------------------------------------
|
||||
if(dir)
|
||||
{
|
||||
switch(sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = proto_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------
|
||||
// OUT command host -> device
|
||||
// ----------------------------------------------------
|
||||
else
|
||||
{
|
||||
switch(sud->Request)
|
||||
{
|
||||
// --------------------------------------------
|
||||
// default
|
||||
// --------------------------------------------
|
||||
default:
|
||||
result = proto_command();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,443 @@
|
||||
#include <fx2.h>
|
||||
#include <fx2_regs.h>
|
||||
#include <fx2_syncdelay.h>
|
||||
|
||||
#include <lcd\lcd_7565r.h>
|
||||
#include "uvna.h"
|
||||
|
||||
extern xdata BYTE devSerialNumber [];
|
||||
extern xdata BYTE devCapabilities [];
|
||||
extern xdata BYTE devIdentifier [];
|
||||
|
||||
extern bool fx2_i2c_read( BYTE addr, BYTE length, BYTE xdata *dat);
|
||||
extern bool fx2_i2c_write( BYTE addr, BYTE length, BYTE xdata *dat);
|
||||
|
||||
xdata BYTE volatile vna_buffer[4];
|
||||
|
||||
extern void proto_main(void);
|
||||
extern void proto_conf(void);
|
||||
|
||||
void dump(void);
|
||||
|
||||
// ================================================================================================
|
||||
// main
|
||||
// ================================================================================================
|
||||
void uvna_main(void)
|
||||
{
|
||||
// ------------------------------------------------------------------------
|
||||
// call "inherited" main()
|
||||
// ------------------------------------------------------------------------
|
||||
proto_main();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// "uVNA" specific main()
|
||||
// ------------------------------------------------------------------------
|
||||
lcd_gotoxy(0,0);
|
||||
lcd_puts("uVNA",4);
|
||||
}
|
||||
|
||||
// ================================================================================================
|
||||
// configure
|
||||
// ================================================================================================
|
||||
void uvna_conf()
|
||||
{
|
||||
char rc;
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// call "inherited" config()
|
||||
// ------------------------------------------------------------------------
|
||||
proto_conf();
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// temp serial number
|
||||
// ------------------------------------------------------------------------
|
||||
devSerialNumber[0] = 'U';
|
||||
devSerialNumber[1] = '5';
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// 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
|
||||
//
|
||||
// If JTAG is used, the following pins are used for JTAG interface:
|
||||
// (implemented in JTAG)
|
||||
//
|
||||
// TCK - PA.0 out
|
||||
// TMS - PA.1 out
|
||||
// TDI - PA.7 out
|
||||
// TDO - PA.3 in
|
||||
// ena - PA.4 out
|
||||
//
|
||||
//
|
||||
// If DOG LCD is used, the following pins are used for LCD interface.
|
||||
// (implemented in PROTO)
|
||||
//
|
||||
// RST - PD.6 out
|
||||
// CS - PD.5 out
|
||||
// A0 - PD.4 out
|
||||
// SCL - PD.3 out
|
||||
// SI - PD.1 out
|
||||
//
|
||||
// uVNA specific:
|
||||
//
|
||||
// - I2C for programming the AD5933 (at address of 0x0D)
|
||||
// - SPI for programming Xilinx CPLD clock divider
|
||||
//
|
||||
// SDI - PB.2
|
||||
// SCK - PB.1
|
||||
// SS - PB.0
|
||||
// ------------------------------------------------------------------------
|
||||
IOB &= 0xF8; // clear SPI bits
|
||||
OEB |= 0x07; // enable SPI bits (out)
|
||||
|
||||
rc = fx2_i2c_read( 0x08, 4, vna_buffer);
|
||||
|
||||
switch(rc)
|
||||
{
|
||||
case I2C_BERROR:
|
||||
lcd_gotoxy(0,6);
|
||||
lcd_putc('B');
|
||||
|
||||
break;
|
||||
|
||||
case I2C_NACK:
|
||||
lcd_gotoxy(0,6);
|
||||
lcd_putc('N');
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
//fx2_i2c_read( 0x10, 2, vna_buffer);
|
||||
return;
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// initialize uVNA
|
||||
// -------------------------------------------------------------------
|
||||
uvna_xclock(12);
|
||||
|
||||
lcd_gotoxy(0,6);
|
||||
|
||||
|
||||
//
|
||||
return;
|
||||
|
||||
|
||||
|
||||
// start freq
|
||||
|
||||
vna_buffer[0] = 0x82;
|
||||
vna_buffer[1] = 0x0F;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
vna_buffer[0] = 0x83;
|
||||
vna_buffer[1] = 0x5C;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
vna_buffer[0] = 0x84;
|
||||
vna_buffer[1] = 0x28;
|
||||
|
||||
// freq increments
|
||||
|
||||
vna_buffer[0] = 0x85;
|
||||
vna_buffer[1] = 0x00;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
vna_buffer[0] = 0x86;
|
||||
vna_buffer[1] = 0x20;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
vna_buffer[0] = 0x87;
|
||||
vna_buffer[1] = 0x4F;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
// number steps
|
||||
vna_buffer[0] = 0x88;
|
||||
vna_buffer[1] = 0x00;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
vna_buffer[0] = 0x89;
|
||||
vna_buffer[1] = 99;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
// settling cycles
|
||||
vna_buffer[0] = 0x8A;
|
||||
vna_buffer[1] = 0x00;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
vna_buffer[0] = 0x8B;
|
||||
vna_buffer[1] = 0x0A;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
|
||||
|
||||
// standby
|
||||
// -----------------------------------------
|
||||
vna_buffer[0] = 0x80;
|
||||
vna_buffer[1] = 0xB0;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
vna_buffer[0] = 0x81;
|
||||
vna_buffer[1] = 0x00;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
|
||||
// ini with start freq
|
||||
|
||||
vna_buffer[0] = 0x80;
|
||||
vna_buffer[1] = 0x10;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
// return;
|
||||
|
||||
// dump();
|
||||
|
||||
// start sweep
|
||||
vna_buffer[0] = 0x80;
|
||||
vna_buffer[1] = 0x20;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x8F;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer);
|
||||
|
||||
while(1)
|
||||
{
|
||||
while( (vna_buffer[0] & 0x02) == 0)
|
||||
{
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x8F;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer);
|
||||
|
||||
// lcd_gotoxy(19,1);
|
||||
// lcd_putx2(vna_buffer[0] & 0x0F | 0x80);
|
||||
}
|
||||
|
||||
if( vna_buffer[0] & 0x04)
|
||||
break;
|
||||
|
||||
// read values
|
||||
|
||||
// step sweep
|
||||
|
||||
vna_buffer[0] = 0x80;
|
||||
vna_buffer[1] = 0x30;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x8F;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer);
|
||||
|
||||
// lcd_gotoxy(19,2);
|
||||
// lcd_putx2(vna_buffer[0] & 0x0F | 0x40);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
dump();
|
||||
|
||||
|
||||
|
||||
|
||||
return;
|
||||
/*
|
||||
vna_buffer[0] = 0xAA;
|
||||
FX2_Delay(150); i2c_write( 0x0D, 1, vna_buffer);
|
||||
FX2_Delay(150); i2c_write( 0x0D, 1, vna_buffer);
|
||||
FX2_Delay(150); i2c_write( 0x0D, 1, vna_buffer);
|
||||
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x80;
|
||||
|
||||
FX2_Delay(50); i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
FX2_Delay(50); i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
FX2_Delay(50); i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
FX2_Delay(50); i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
|
||||
return;
|
||||
|
||||
vna_buffer[0] = 0x82; // adr = 0x82 (start frequency high byte)
|
||||
vna_buffer[1] = 0x01; // val = 0x01 (high byte)
|
||||
|
||||
if (i2c_write( 0x0D, 2, vna_buffer))
|
||||
lcd_putc('2');
|
||||
else
|
||||
lcd_putc('x');
|
||||
|
||||
FX2_Delay(50);
|
||||
|
||||
vna_buffer[0] = 0x83; // adr = 0x82 (start frequency mid byte)
|
||||
vna_buffer[1] = 0x02; // val = 0x02
|
||||
|
||||
// i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
if (i2c_write( 0x0D, 2, vna_buffer))
|
||||
lcd_putc('3');
|
||||
else
|
||||
lcd_putc('x');
|
||||
|
||||
//
|
||||
vna_buffer[0] = 0xB0; // cmd: pointer command
|
||||
vna_buffer[1] = 0x82; // cmd: pointer command
|
||||
// i2c_write( 0x0D, 2, vna_buffer); //
|
||||
|
||||
if (i2c_write( 0x0D, 2, vna_buffer))
|
||||
lcd_putc('4');
|
||||
else
|
||||
lcd_putc('x');
|
||||
|
||||
vna_buffer[0] = 0x01;
|
||||
FX2_Delay(50); i2c_write( 0x0D, 1, vna_buffer);
|
||||
FX2_Delay(50); i2c_write( 0x0D, 1, vna_buffer);
|
||||
FX2_Delay(50); i2c_write( 0x0D, 1, vna_buffer);
|
||||
|
||||
FX2_Delay(50);
|
||||
|
||||
vna_buffer[0] = 0xB0; // cmd: pointer command
|
||||
vna_buffer[1] = 0x82; // cmd: pointer command
|
||||
if (i2c_write( 0x0D, 2, vna_buffer))
|
||||
lcd_putc('5');
|
||||
else
|
||||
lcd_putc('x');
|
||||
|
||||
FX2_Delay(50);
|
||||
i2c_read(0x0D, 1, vna_buffer);
|
||||
|
||||
|
||||
|
||||
lcd_gotoxy(0,7);
|
||||
lcd_putx2(vna_buffer[0]);
|
||||
|
||||
*/
|
||||
}
|
||||
|
||||
// ================================================================================================
|
||||
// dump uvna registers
|
||||
// ================================================================================================
|
||||
void dump(void)
|
||||
{
|
||||
// command
|
||||
lcd_gotoxy(0,1); lcd_puts("0x80: ",6);
|
||||
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x80;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
|
||||
// status
|
||||
lcd_gotoxy(13,1); lcd_puts("0x8F: ",6);
|
||||
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x8F;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
|
||||
|
||||
// start freq
|
||||
lcd_gotoxy(0,2); lcd_puts("0x82: ",6);
|
||||
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x82;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
|
||||
// increment
|
||||
lcd_gotoxy(0,3); lcd_puts("0x85: ",6);
|
||||
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x85;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
|
||||
// steps
|
||||
lcd_gotoxy(0,4); lcd_puts("0x88: ",6);
|
||||
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x88;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
|
||||
// settling
|
||||
lcd_gotoxy(0,5); lcd_puts("0x8A: ",6);
|
||||
|
||||
vna_buffer[0] = 0xB0;
|
||||
vna_buffer[1] = 0x8A;
|
||||
|
||||
fx2_i2c_write( 0x0D, 2, vna_buffer);
|
||||
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
fx2_i2c_read( 0x0D, 1, vna_buffer); lcd_putx2(vna_buffer[0]);
|
||||
}
|
||||
@@ -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>
|
||||
@@ -0,0 +1,664 @@
|
||||
<?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>proto</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\proto\</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>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>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGDP51</Key>
|
||||
<Name>(98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(99=-1,-1,-1,-1,0)(101=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0)(94=-1,-1,-1,-1,0)(104=-1,-1,-1,-1,0)(5065=-1,-1,-1,-1,0)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
<aPa>0</aPa>
|
||||
<viewmode>1</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>0</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>1</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>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\lib\fx2lp\src\fx2_tmr.s51</PathWithFileName>
|
||||
<FilenameWithoutPath>fx2_tmr.s51</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>fx2lp - usb</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>5</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>5</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>5</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>5</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>5</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>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>6</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>7</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>8</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>8</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>8</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>8</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>8</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>8</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>9</GroupNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\tri.jtag\src\jtag_conf.c</PathWithFileName>
|
||||
<FilenameWithoutPath>jtag_conf.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>24</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\tri.jtag\src\jtag_cmd.c</PathWithFileName>
|
||||
<FilenameWithoutPath>jtag_cmd.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\tri.jtag\src\jtag_ep2.c</PathWithFileName>
|
||||
<FilenameWithoutPath>jtag_ep2.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>tri - proto</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>26</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\proto_boot.c</PathWithFileName>
|
||||
<FilenameWithoutPath>proto_boot.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\proto_conf.c</PathWithFileName>
|
||||
<FilenameWithoutPath>proto_conf.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>10</GroupNumber>
|
||||
<FileNumber>28</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\proto_cmd.c</PathWithFileName>
|
||||
<FilenameWithoutPath>proto_cmd.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>tri - proto - uvna</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>29</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\uvna\uvna_boot.c</PathWithFileName>
|
||||
<FilenameWithoutPath>uvna_boot.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>30</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\uvna\uvna_conf.c</PathWithFileName>
|
||||
<FilenameWithoutPath>uvna_conf.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>31</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\uvna\uvna_cmd.c</PathWithFileName>
|
||||
<FilenameWithoutPath>uvna_cmd.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>32</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\src\uvna\uvna.c</PathWithFileName>
|
||||
<FilenameWithoutPath>uvna.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
</ProjectOpt>
|
||||
@@ -0,0 +1,792 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">
|
||||
|
||||
<SchemaVersion>1.1</SchemaVersion>
|
||||
|
||||
<Header>### uVision Project, (C) Keil Software</Header>
|
||||
|
||||
<Targets>
|
||||
<Target>
|
||||
<TargetName>proto</TargetName>
|
||||
<ToolsetNumber>0x0</ToolsetNumber>
|
||||
<ToolsetName>MCS-51</ToolsetName>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>EZ-USB FX2LP (CY7C68XXX-X)</Device>
|
||||
<Vendor>Cypress</Vendor>
|
||||
<Cpu>IRAM(0-0xFF) IROM(0-0x3FFF) XRAM(0xE000-0xE1FF) CLOCK(48000000) MODDP2</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile>"LIB\STARTUP.A51" ("Standard 8051 Startup Code")</StartupFile>
|
||||
<FlashDriverDll></FlashDriverDll>
|
||||
<DeviceId>3787</DeviceId>
|
||||
<RegisterFile>FX2REGS.H</RegisterFile>
|
||||
<MemoryEnv></MemoryEnv>
|
||||
<Cmp></Cmp>
|
||||
<Asm></Asm>
|
||||
<Linker></Linker>
|
||||
<OHString></OHString>
|
||||
<InfinionOptionDll></InfinionOptionDll>
|
||||
<SLE66CMisc></SLE66CMisc>
|
||||
<SLE66AMisc></SLE66AMisc>
|
||||
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||
<SFDFile></SFDFile>
|
||||
<bCustSvd>0</bCustSvd>
|
||||
<UseEnv>1</UseEnv>
|
||||
<BinPath>C:\Tools\mcu\Keil\C51\BIN\</BinPath>
|
||||
<IncludePath>C:\Tools\mcu\Keil\C51\INC;c:\Work\mr.sw\sw.mcu\mcu.fx2\fx2.tri\lib\fx2lp\inc;c:\Work\mr.sw\sw.mcu\mcu.fx2\fx2.tri\lib\fx2mr\inc;c:\Work\mr.sw\sw.mcu\mcu.fx2\fx2.tri\prj\tri.base\inc</IncludePath>
|
||||
<LibPath></LibPath>
|
||||
<RegisterFilePath></RegisterFilePath>
|
||||
<DBRegisterFilePath>Cypress\</DBRegisterFilePath>
|
||||
<TargetStatus>
|
||||
<Error>0</Error>
|
||||
<ExitCodeStop>0</ExitCodeStop>
|
||||
<ButtonStop>0</ButtonStop>
|
||||
<NotGenerated>0</NotGenerated>
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\obj\proto\</OutputDirectory>
|
||||
<OutputName>tri_proto</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>1</CreateHexFile>
|
||||
<DebugInformation>1</DebugInformation>
|
||||
<BrowseInformation>1</BrowseInformation>
|
||||
<ListingPath>.\lst\proto\</ListingPath>
|
||||
<HexFormatSelection>0</HexFormatSelection>
|
||||
<Merge32K>0</Merge32K>
|
||||
<CreateBatchFile>0</CreateBatchFile>
|
||||
<BeforeCompile>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopU1X>0</nStopU1X>
|
||||
<nStopU2X>0</nStopU2X>
|
||||
</BeforeCompile>
|
||||
<BeforeMake>
|
||||
<RunUserProg1>1</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name>cmd /c md bin</UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopB1X>0</nStopB1X>
|
||||
<nStopB2X>0</nStopB2X>
|
||||
</BeforeMake>
|
||||
<AfterMake>
|
||||
<RunUserProg1>1</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name>cmd /c move obj\proto\*.hex bin</UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopA1X>0</nStopA1X>
|
||||
<nStopA2X>0</nStopA2X>
|
||||
</AfterMake>
|
||||
<SelectedForBatchBuild>1</SelectedForBatchBuild>
|
||||
<SVCSIdString></SVCSIdString>
|
||||
</TargetCommonOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>0</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>1</IncludeInBuild>
|
||||
<AlwaysBuild>0</AlwaysBuild>
|
||||
<GenerateAssemblyFile>0</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>0</AssembleAssemblyFile>
|
||||
<PublicsOnly>0</PublicsOnly>
|
||||
<StopOnExitCode>3</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
<BankNo>65535</BankNo>
|
||||
</CommonProperty>
|
||||
<DllOption>
|
||||
<SimDllName>S8051.DLL</SimDllName>
|
||||
<SimDllArguments></SimDllArguments>
|
||||
<SimDlgDll>DP51.DLL</SimDlgDll>
|
||||
<SimDlgDllArguments>-pFX2</SimDlgDllArguments>
|
||||
<TargetDllName>S8051.DLL</TargetDllName>
|
||||
<TargetDllArguments></TargetDllArguments>
|
||||
<TargetDlgDll>TP51.DLL</TargetDlgDll>
|
||||
<TargetDlgDllArguments>-pFX2</TargetDlgDllArguments>
|
||||
</DllOption>
|
||||
<DebugOption>
|
||||
<OPTHX>
|
||||
<HexSelection>0</HexSelection>
|
||||
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||
<HexOffset>0</HexOffset>
|
||||
<Oh166RecLen>16</Oh166RecLen>
|
||||
</OPTHX>
|
||||
<Simulator>
|
||||
<UseSimulator>1</UseSimulator>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>1</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>1</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Simulator>
|
||||
<Target>
|
||||
<UseTarget>0</UseTarget>
|
||||
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
|
||||
<RunToMain>0</RunToMain>
|
||||
<RestoreBreakpoints>1</RestoreBreakpoints>
|
||||
<RestoreWatchpoints>1</RestoreWatchpoints>
|
||||
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
|
||||
<RestoreFunctions>0</RestoreFunctions>
|
||||
<RestoreToolbox>1</RestoreToolbox>
|
||||
<RestoreTracepoints>1</RestoreTracepoints>
|
||||
<RestoreSysVw>1</RestoreSysVw>
|
||||
</Target>
|
||||
<RunDebugAfterBuild>0</RunDebugAfterBuild>
|
||||
<TargetSelection>-1</TargetSelection>
|
||||
<SimDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile></InitializationFile>
|
||||
</SimDlls>
|
||||
<TargetDlls>
|
||||
<CpuDll></CpuDll>
|
||||
<CpuDllArguments></CpuDllArguments>
|
||||
<PeripheralDll></PeripheralDll>
|
||||
<PeripheralDllArguments></PeripheralDllArguments>
|
||||
<InitializationFile></InitializationFile>
|
||||
<Driver></Driver>
|
||||
</TargetDlls>
|
||||
</DebugOption>
|
||||
<Utilities>
|
||||
<Flash1>
|
||||
<UseTargetDll>0</UseTargetDll>
|
||||
<UseExternalTool>0</UseExternalTool>
|
||||
<RunIndependent>0</RunIndependent>
|
||||
<UpdateFlashBeforeDebugging>0</UpdateFlashBeforeDebugging>
|
||||
<Capability>0</Capability>
|
||||
<DriverSelection>-1</DriverSelection>
|
||||
</Flash1>
|
||||
<bUseTDR>0</bUseTDR>
|
||||
<Flash2></Flash2>
|
||||
<Flash3></Flash3>
|
||||
<Flash4></Flash4>
|
||||
<pFcarmOut></pFcarmOut>
|
||||
<pFcarmGrp></pFcarmGrp>
|
||||
<pFcArmRoot></pFcArmRoot>
|
||||
<FcArmLst>0</FcArmLst>
|
||||
</Utilities>
|
||||
<Target51>
|
||||
<Target51Misc>
|
||||
<MemoryModel>2</MemoryModel>
|
||||
<RTOS>1</RTOS>
|
||||
<RomSize>2</RomSize>
|
||||
<DataHold>0</DataHold>
|
||||
<XDataHold>0</XDataHold>
|
||||
<UseOnchipRom>1</UseOnchipRom>
|
||||
<UseOnchipArithmetic>0</UseOnchipArithmetic>
|
||||
<UseMultipleDPTR>0</UseMultipleDPTR>
|
||||
<UseOnchipXram>1</UseOnchipXram>
|
||||
<HadIRAM>1</HadIRAM>
|
||||
<HadXRAM>1</HadXRAM>
|
||||
<HadIROM>1</HadIROM>
|
||||
<Moda2>0</Moda2>
|
||||
<Moddp2>1</Moddp2>
|
||||
<Modp2>0</Modp2>
|
||||
<Mod517dp>0</Mod517dp>
|
||||
<Mod517au>0</Mod517au>
|
||||
<Mode2>0</Mode2>
|
||||
<useCB>0</useCB>
|
||||
<useXB>0</useXB>
|
||||
<useL251>0</useL251>
|
||||
<useA251>0</useA251>
|
||||
<Mx51>0</Mx51>
|
||||
<ModC812>0</ModC812>
|
||||
<ModCont>0</ModCont>
|
||||
<Lp51>0</Lp51>
|
||||
<useXBS>0</useXBS>
|
||||
<ModDA>0</ModDA>
|
||||
<ModAB2>0</ModAB2>
|
||||
<Mx51P>0</Mx51P>
|
||||
<hadXRAM2>0</hadXRAM2>
|
||||
<uocXram2>0</uocXram2>
|
||||
<hadXRAM3>0</hadXRAM3>
|
||||
<ModC2>0</ModC2>
|
||||
<ModH2>0</ModH2>
|
||||
<Mdu_R515>0</Mdu_R515>
|
||||
<Mdu_F120>0</Mdu_F120>
|
||||
<Psoc>0</Psoc>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<hadIROM3>0</hadIROM3>
|
||||
<ModSmx2>0</ModSmx2>
|
||||
<cBanks>0</cBanks>
|
||||
<xBanks>0</xBanks>
|
||||
<OnChipMemories>
|
||||
<RCB>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0xffff</Size>
|
||||
</RCB>
|
||||
<RXB>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</RXB>
|
||||
<Ocm1>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm1>
|
||||
<Ocm2>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm2>
|
||||
<Ocm3>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm3>
|
||||
<Ocr1>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocr1>
|
||||
<Ocr2>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocr2>
|
||||
<Ocr3>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocr3>
|
||||
<IRO>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x4000</Size>
|
||||
</IRO>
|
||||
<IRA>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x100</Size>
|
||||
</IRA>
|
||||
<XRA>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0xe000</StartAddress>
|
||||
<Size>0x200</Size>
|
||||
</XRA>
|
||||
<XRA512>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</XRA512>
|
||||
<IROM512>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</IROM512>
|
||||
<XRA513>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</XRA513>
|
||||
<IROM513>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</IROM513>
|
||||
</OnChipMemories>
|
||||
</Target51Misc>
|
||||
<C51>
|
||||
<RegisterColoring>0</RegisterColoring>
|
||||
<VariablesInOrder>0</VariablesInOrder>
|
||||
<IntegerPromotion>1</IntegerPromotion>
|
||||
<uAregs>0</uAregs>
|
||||
<UseInterruptVector>1</UseInterruptVector>
|
||||
<Fuzzy>3</Fuzzy>
|
||||
<Optimize>8</Optimize>
|
||||
<WarningLevel>2</WarningLevel>
|
||||
<SizeSpeed>1</SizeSpeed>
|
||||
<ObjectExtend>1</ObjectExtend>
|
||||
<ACallAJmp>0</ACallAJmp>
|
||||
<InterruptVectorAddress>0</InterruptVectorAddress>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define>LCD_7565,DEBUG</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</C51>
|
||||
<Ax51>
|
||||
<UseMpl>0</UseMpl>
|
||||
<UseStandard>1</UseStandard>
|
||||
<UseCase>0</UseCase>
|
||||
<UseMod51>0</UseMod51>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define>BOARD_JTAG</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Ax51>
|
||||
<Lx51>
|
||||
<useFile>0</useFile>
|
||||
<linkonly>0</linkonly>
|
||||
<UseMemoryFromTarget>1</UseMemoryFromTarget>
|
||||
<CaseSensitiveSymbols>0</CaseSensitiveSymbols>
|
||||
<WarningLevel>2</WarningLevel>
|
||||
<DataOverlaying>1</DataOverlaying>
|
||||
<OverlayString></OverlayString>
|
||||
<MiscControls></MiscControls>
|
||||
<DisableWarningNumbers>15,16</DisableWarningNumbers>
|
||||
<LinkerCmdFile></LinkerCmdFile>
|
||||
<Assign></Assign>
|
||||
<ReserveString></ReserveString>
|
||||
<CClasses></CClasses>
|
||||
<UserClasses></UserClasses>
|
||||
<CSection></CSection>
|
||||
<UserSection></UserSection>
|
||||
<CodeBaseAddress></CodeBaseAddress>
|
||||
<XDataBaseAddress></XDataBaseAddress>
|
||||
<PDataBaseAddress></PDataBaseAddress>
|
||||
<BitBaseAddress></BitBaseAddress>
|
||||
<DataBaseAddress></DataBaseAddress>
|
||||
<IDataBaseAddress></IDataBaseAddress>
|
||||
<Precede></Precede>
|
||||
<Stack></Stack>
|
||||
<CodeSegmentName></CodeSegmentName>
|
||||
<XDataSegmentName></XDataSegmentName>
|
||||
<BitSegmentName></BitSegmentName>
|
||||
<DataSegmentName></DataSegmentName>
|
||||
<IDataSegmentName></IDataSegmentName>
|
||||
</Lx51>
|
||||
</Target51>
|
||||
</TargetOption>
|
||||
<Groups>
|
||||
<Group>
|
||||
<GroupName>fx2lp - startup</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>fx2_startup.s51</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_startup.s51</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>fx2_conf.s51</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_conf.s51</FilePath>
|
||||
<FileOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>2</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>0</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
<BankNo>65535</BankNo>
|
||||
</CommonProperty>
|
||||
<File51>
|
||||
<Ax51>
|
||||
<UseMpl>2</UseMpl>
|
||||
<UseStandard>2</UseStandard>
|
||||
<UseCase>2</UseCase>
|
||||
<UseMod51>2</UseMod51>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Ax51>
|
||||
</File51>
|
||||
</FileOption>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>fx2lp - init</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>fx2_delay1ms.s51</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_delay1ms.s51</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>fx2_delay.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_delay.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>fx2_globals.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_globals.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>fx2_init.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_init.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>fx2lp - iic</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>fx2_i2c.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_i2c.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>fx2_eeprom.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_eeprom.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>fx2lp - timer</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>fx2_tmr.s51</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_tmr.s51</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>fx2lp - usb</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>fx2_jmptbl.s51</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_jmptbl.s51</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>fx2_disconnect.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_disconnect.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>fx2_usb_isr.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_usb_isr.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>fx2_usb_sleep.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_usb_sleep.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>fx2_usb_sudav.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2lp\src\fx2_usb_sudav.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>fx2mr - jtag</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>jtag.s51</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>..\..\lib\fx2mr\src\jtag\jtag.s51</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>fx2mr - lcd</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>lcd_7565r.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\lib\fx2mr\src\lcd\7565r\lcd_7565r.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>tri - base</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>tri_dscr.s51</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>..\tri.base\src\tri_dscr.s51</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>tri_main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\tri.base\src\tri_main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>tri_conf.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\tri.base\src\tri_conf.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>tri_glb.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\tri.base\src\tri_glb.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>tri_cmd.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\tri.base\src\tri_cmd.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>tri_usb_ep1.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\tri.base\src\tri_usb_ep1.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>tri - jtag</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>jtag_conf.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\tri.jtag\src\jtag_conf.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>jtag_cmd.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\tri.jtag\src\jtag_cmd.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>jtag_ep2.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\tri.jtag\src\jtag_ep2.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>tri - proto</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>proto_boot.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\src\proto_boot.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>proto_conf.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\src\proto_conf.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>proto_cmd.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\src\proto_cmd.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>tri - proto - uvna</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>uvna_boot.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\src\uvna\uvna_boot.c</FilePath>
|
||||
<FileOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>2</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>0</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
<BankNo>65535</BankNo>
|
||||
</CommonProperty>
|
||||
<File51>
|
||||
<C51>
|
||||
<RegisterColoring>2</RegisterColoring>
|
||||
<VariablesInOrder>2</VariablesInOrder>
|
||||
<IntegerPromotion>2</IntegerPromotion>
|
||||
<uAregs>2</uAregs>
|
||||
<UseInterruptVector>2</UseInterruptVector>
|
||||
<Fuzzy>8</Fuzzy>
|
||||
<Optimize>10</Optimize>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<SizeSpeed>2</SizeSpeed>
|
||||
<ObjectExtend>2</ObjectExtend>
|
||||
<ACallAJmp>2</ACallAJmp>
|
||||
<InterruptVectorAddress>0</InterruptVectorAddress>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</C51>
|
||||
</File51>
|
||||
</FileOption>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>uvna_conf.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\src\uvna\uvna_conf.c</FilePath>
|
||||
<FileOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>2</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>0</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
<BankNo>65535</BankNo>
|
||||
</CommonProperty>
|
||||
<File51>
|
||||
<C51>
|
||||
<RegisterColoring>2</RegisterColoring>
|
||||
<VariablesInOrder>2</VariablesInOrder>
|
||||
<IntegerPromotion>2</IntegerPromotion>
|
||||
<uAregs>2</uAregs>
|
||||
<UseInterruptVector>2</UseInterruptVector>
|
||||
<Fuzzy>8</Fuzzy>
|
||||
<Optimize>10</Optimize>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<SizeSpeed>2</SizeSpeed>
|
||||
<ObjectExtend>2</ObjectExtend>
|
||||
<ACallAJmp>2</ACallAJmp>
|
||||
<InterruptVectorAddress>0</InterruptVectorAddress>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</C51>
|
||||
</File51>
|
||||
</FileOption>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>uvna_cmd.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\src\uvna\uvna_cmd.c</FilePath>
|
||||
<FileOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>2</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>0</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
<BankNo>65535</BankNo>
|
||||
</CommonProperty>
|
||||
<File51>
|
||||
<C51>
|
||||
<RegisterColoring>2</RegisterColoring>
|
||||
<VariablesInOrder>2</VariablesInOrder>
|
||||
<IntegerPromotion>2</IntegerPromotion>
|
||||
<uAregs>2</uAregs>
|
||||
<UseInterruptVector>2</UseInterruptVector>
|
||||
<Fuzzy>8</Fuzzy>
|
||||
<Optimize>10</Optimize>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<SizeSpeed>2</SizeSpeed>
|
||||
<ObjectExtend>2</ObjectExtend>
|
||||
<ACallAJmp>2</ACallAJmp>
|
||||
<InterruptVectorAddress>0</InterruptVectorAddress>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</C51>
|
||||
</File51>
|
||||
</FileOption>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>uvna.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\src\uvna\uvna.c</FilePath>
|
||||
<FileOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>2</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>0</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
<BankNo>65535</BankNo>
|
||||
</CommonProperty>
|
||||
<File51>
|
||||
<C51>
|
||||
<RegisterColoring>2</RegisterColoring>
|
||||
<VariablesInOrder>2</VariablesInOrder>
|
||||
<IntegerPromotion>2</IntegerPromotion>
|
||||
<uAregs>2</uAregs>
|
||||
<UseInterruptVector>2</UseInterruptVector>
|
||||
<Fuzzy>8</Fuzzy>
|
||||
<Optimize>10</Optimize>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<SizeSpeed>2</SizeSpeed>
|
||||
<ObjectExtend>2</ObjectExtend>
|
||||
<ACallAJmp>2</ACallAJmp>
|
||||
<InterruptVectorAddress>0</InterruptVectorAddress>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</C51>
|
||||
</File51>
|
||||
</FileOption>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
</Groups>
|
||||
</Target>
|
||||
</Targets>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<ProjectWorkspace xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_mpw.xsd">
|
||||
|
||||
<SchemaVersion>1.0</SchemaVersion>
|
||||
|
||||
<Header>### uVision Project, (C) Keil Software</Header>
|
||||
|
||||
<WorkspaceName>WorkSpace</WorkspaceName>
|
||||
|
||||
<project>
|
||||
<PathAndName>.\tri.base\tri_base.uvproj</PathAndName>
|
||||
</project>
|
||||
|
||||
<project>
|
||||
<PathAndName>.\tri.jtag\tri_jtag.uvproj</PathAndName>
|
||||
</project>
|
||||
|
||||
<project>
|
||||
<PathAndName>.\tri.proto\tri_proto.uvproj</PathAndName>
|
||||
<NodeIsActive>1</NodeIsActive>
|
||||
<NodeIsExpanded>1</NodeIsExpanded>
|
||||
</project>
|
||||
|
||||
<project>
|
||||
<PathAndName>.\tri.cf1\tri_cf1.uvproj</PathAndName>
|
||||
</project>
|
||||
|
||||
</ProjectWorkspace>
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user