mirror of
https://github.com/fhgwright/SCSI2SD.git
synced 2024-12-29 11:31:00 +00:00
Fixed parity handling to respect the --no-parity config option.
- Automatically disable parity checks for old SASI/SCSI1 hosts. - Add scsi disconnect/reconnect support for long SD card writes.
This commit is contained in:
parent
e71076759c
commit
a8cd4216a2
@ -4,6 +4,7 @@
|
||||
multiple devices on the SCSI bus.
|
||||
- Re-add parity checking. This can be disabled using scsi2sd-config if
|
||||
required.
|
||||
- Added disconnect/reconnect support during SD card writes.
|
||||
|
||||
20140718 3.5.2
|
||||
- Fix blank SCSI ID in scsi2sd-config output.
|
||||
|
@ -73,6 +73,9 @@ Compatibility
|
||||
Microvax 3100 Model 80 running VMS 7.3 (needs patch against v3.5.2 firmware)
|
||||
Amiga 500+ with GVP A530
|
||||
Atari TT030 System V
|
||||
Atari MEGA STE
|
||||
needs J3 TERMPWR jumper
|
||||
1GB limit (--blocks=2048000)
|
||||
|
||||
Samplers
|
||||
|
||||
@ -93,5 +96,5 @@ Samplers
|
||||
|
||||
Other
|
||||
|
||||
HP 16601A logic analyzer
|
||||
HP 16601A, 16700A logic analyzers
|
||||
Fluke 9100 series
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "config.h"
|
||||
#include "disk.h"
|
||||
#include "sd.h"
|
||||
#include "time.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@ -56,7 +57,7 @@ static void doFormatUnitSkipData(int bytes)
|
||||
int i;
|
||||
for (i = 0; i < bytes; ++i)
|
||||
{
|
||||
scsiReadByte();
|
||||
scsiReadByte();
|
||||
}
|
||||
}
|
||||
|
||||
@ -80,7 +81,7 @@ static void doFormatUnitHeader(void)
|
||||
{
|
||||
int IP = (scsiDev.data[1] & 0x08) ? 1 : 0;
|
||||
int DSP = (scsiDev.data[1] & 0x04) ? 1 : 0;
|
||||
|
||||
|
||||
if (! DSP) // disable save parameters
|
||||
{
|
||||
configSave(); // Save the "MODE SELECT savable parameters"
|
||||
@ -520,15 +521,18 @@ void scsiDiskPoll()
|
||||
transfer.currentBlock != transfer.blocks)
|
||||
{
|
||||
scsiEnterPhase(DATA_OUT);
|
||||
|
||||
|
||||
int totalSDSectors = transfer.blocks * SDSectorsPerSCSISector();
|
||||
int buffers = sizeof(scsiDev.data) / SD_SECTOR_SIZE;
|
||||
int prep = 0;
|
||||
int i = 0;
|
||||
int scsiDisconnected = 0;
|
||||
volatile uint32_t lastActivityTime = getTime_ms();
|
||||
int scsiActive = 0;
|
||||
int sdActive = 0;
|
||||
|
||||
while ((i < totalSDSectors) &&
|
||||
(scsiDev.phase == DATA_OUT) &&
|
||||
(scsiDev.phase == DATA_OUT) && // scsiDisconnect keeps our phase.
|
||||
!scsiDev.resetFlag)
|
||||
{
|
||||
if ((sdActive == 1) && sdWriteSectorDMAPoll())
|
||||
@ -547,8 +551,12 @@ void scsiDiskPoll()
|
||||
{
|
||||
scsiActive = 0;
|
||||
++prep;
|
||||
lastActivityTime = getTime_ms();
|
||||
}
|
||||
else if ((scsiActive == 0) && ((prep - i) < buffers) && (prep < totalSDSectors))
|
||||
else if ((scsiActive == 0) &&
|
||||
((prep - i) < buffers) &&
|
||||
(prep < totalSDSectors) &&
|
||||
!scsiDisconnected)
|
||||
{
|
||||
int dmaBytes = SD_SECTOR_SIZE;
|
||||
if (prep % SDSectorsPerSCSISector() == SDSectorsPerSCSISector() - 1)
|
||||
@ -559,11 +567,62 @@ void scsiDiskPoll()
|
||||
scsiReadDMA(&scsiDev.data[SD_SECTOR_SIZE * (prep % buffers)], dmaBytes);
|
||||
scsiActive = 1;
|
||||
}
|
||||
else if (
|
||||
(scsiActive == 0) &&
|
||||
!scsiDisconnected &&
|
||||
scsiDev.discPriv &&
|
||||
(diffTime_ms(lastActivityTime, getTime_ms()) >= 20) &&
|
||||
(scsiDev.phase == DATA_OUT))
|
||||
{
|
||||
// We're transferring over the SCSI bus faster than the SD card
|
||||
// can write. There is no more buffer space once we've finished
|
||||
// this SCSI transfer.
|
||||
// The NCR 53C700 interface chips have a 250ms "byte-to-byte"
|
||||
// timeout buffer. SD card writes are supposed to complete
|
||||
// within 200ms, but sometimes they don't.
|
||||
// The NCR 53C700 series is used on HP 9000 workstations.
|
||||
scsiDisconnect();
|
||||
scsiDisconnected = 1;
|
||||
lastActivityTime = getTime_ms();
|
||||
}
|
||||
else if (scsiDisconnected &&
|
||||
(
|
||||
(prep == i) || // Buffers empty.
|
||||
// Send some messages every 100ms so we don't timeout.
|
||||
// At a minimum, a reselection involves an IDENTIFY message.
|
||||
(diffTime_ms(lastActivityTime, getTime_ms()) >= 100)
|
||||
))
|
||||
{
|
||||
int reconnected = scsiReconnect();
|
||||
if (reconnected)
|
||||
{
|
||||
scsiDisconnected = 0;
|
||||
lastActivityTime = getTime_ms(); // Don't disconnect immediately.
|
||||
}
|
||||
else if (diffTime_ms(lastActivityTime, getTime_ms()) >= 10000)
|
||||
{
|
||||
// Give up after 10 seconds of trying to reconnect.
|
||||
scsiDev.resetFlag = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
while (
|
||||
!scsiDev.resetFlag &&
|
||||
scsiDisconnected &&
|
||||
(diffTime_ms(lastActivityTime, getTime_ms()) <= 10000))
|
||||
{
|
||||
scsiDisconnected = !scsiReconnect();
|
||||
}
|
||||
if (scsiDisconnected)
|
||||
{
|
||||
// Failed to reconnect
|
||||
scsiDev.resetFlag = 1;
|
||||
}
|
||||
|
||||
if (scsiDev.phase == DATA_OUT)
|
||||
{
|
||||
if (scsiDev.parityError)
|
||||
if (scsiDev.parityError && config->enableParity && !scsiDev.compatMode)
|
||||
{
|
||||
scsiDev.sense.code = ABORTED_COMMAND;
|
||||
scsiDev.sense.asc = SCSI_PARITY_ERROR;
|
||||
|
@ -21,11 +21,13 @@
|
||||
#include "config.h"
|
||||
#include "disk.h"
|
||||
#include "led.h"
|
||||
#include "time.h"
|
||||
|
||||
const char* Notice = "Copyright (C) 2014 Michael McMaster <michael@codesrc.com>";
|
||||
|
||||
int main()
|
||||
{
|
||||
timeInit();
|
||||
ledInit();
|
||||
|
||||
// Enable global interrupts.
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "led.h"
|
||||
#include "mode.h"
|
||||
#include "disk.h"
|
||||
#include "time.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@ -197,7 +198,7 @@ static void process_DataOut()
|
||||
scsiRead(scsiDev.data + scsiDev.dataPtr, len);
|
||||
scsiDev.dataPtr += len;
|
||||
|
||||
if (scsiDev.parityError && config->enableParity)
|
||||
if (scsiDev.parityError && config->enableParity && !scsiDev.compatMode)
|
||||
{
|
||||
scsiDev.sense.code = ABORTED_COMMAND;
|
||||
scsiDev.sense.asc = SCSI_PARITY_ERROR;
|
||||
@ -255,7 +256,7 @@ static void process_Command()
|
||||
memset(scsiDev.cdb, 0xff, sizeof(scsiDev.cdb));
|
||||
return;
|
||||
}
|
||||
else if (scsiDev.parityError)
|
||||
else if (scsiDev.parityError && config->enableParity && !scsiDev.compatMode)
|
||||
{
|
||||
scsiDev.sense.code = ABORTED_COMMAND;
|
||||
scsiDev.sense.asc = SCSI_PARITY_ERROR;
|
||||
@ -464,6 +465,8 @@ static void enter_SelectionPhase()
|
||||
scsiDev.status = GOOD;
|
||||
scsiDev.phase = SELECTION;
|
||||
scsiDev.lun = -1;
|
||||
scsiDev.discPriv = 0;
|
||||
scsiDev.compatMode = 0;
|
||||
|
||||
transfer.blocks = 0;
|
||||
transfer.currentBlock = 0;
|
||||
@ -481,21 +484,26 @@ static void process_SelectionPhase()
|
||||
uint8 mask = scsiReadDBxPins();
|
||||
int maskBitCount = countBits(mask);
|
||||
int goodParity = (Lookup_OddParity[mask] == SCSI_ReadPin(SCSI_In_DBP));
|
||||
int atnFlag = SCSI_ReadFilt(SCSI_Filt_ATN);
|
||||
|
||||
if (!bsy && sel &&
|
||||
(mask & scsiDev.scsiIdMask) &&
|
||||
(goodParity || !config->enableParity) && (maskBitCount <= 2))
|
||||
(goodParity || !config->enableParity || !atnFlag) &&
|
||||
(maskBitCount <= 2))
|
||||
{
|
||||
// Do we enter MESSAGE OUT immediately ? SCSI 1 and 2 standards says
|
||||
// move to MESSAGE OUT if ATN is true before we assert BSY.
|
||||
// The initiator should assert ATN with SEL.
|
||||
scsiDev.atnFlag = SCSI_ReadFilt(SCSI_Filt_ATN);
|
||||
|
||||
// Unit attention breaks many older SCSI hosts. Disable it completely for
|
||||
// SCSI-1 (and older) hosts, regardless of our configured setting.
|
||||
scsiDev.atnFlag = atnFlag;
|
||||
|
||||
// Unit attention breaks many older SCSI hosts. Disable it completely
|
||||
// for SCSI-1 (and older) hosts, regardless of our configured setting.
|
||||
// Enable the compatability mode also as many SASI and SCSI1
|
||||
// controllers don't generate parity bits.
|
||||
if (!scsiDev.atnFlag)
|
||||
{
|
||||
scsiDev.unitAttention = 0;
|
||||
scsiDev.compatMode = 1;
|
||||
}
|
||||
|
||||
// We've been selected!
|
||||
@ -557,7 +565,7 @@ static void process_MessageOut()
|
||||
scsiDev.msgOut = scsiReadByte();
|
||||
scsiDev.msgCount++;
|
||||
|
||||
if (scsiDev.parityError)
|
||||
if (scsiDev.parityError && config->enableParity && !scsiDev.compatMode)
|
||||
{
|
||||
// Skip the remaining message bytes, and then start the MESSAGE_OUT
|
||||
// phase again from the start. The initiator will re-send the
|
||||
@ -630,7 +638,6 @@ static void process_MessageOut()
|
||||
else if (scsiDev.msgOut & 0x80) // 0x80 -> 0xFF
|
||||
{
|
||||
// IDENTIFY
|
||||
// We don't disconnect, so ignore disconnect privilege.
|
||||
if ((scsiDev.msgOut & 0x18) || // Reserved bits set.
|
||||
(scsiDev.msgOut & 0x20)) // We don't have any target routines!
|
||||
{
|
||||
@ -638,7 +645,9 @@ static void process_MessageOut()
|
||||
}
|
||||
|
||||
scsiDev.lun = scsiDev.msgOut & 0x7;
|
||||
//scsiDev.allowDisconnect = scsiDev.msgOut & 0x40;
|
||||
scsiDev.discPriv =
|
||||
((scsiDev.msgOut & 0x40) && (scsiDev.initiatorId >= 0))
|
||||
? 1 : 0;
|
||||
}
|
||||
else if (scsiDev.msgOut >= 0x20 && scsiDev.msgOut <= 0x2F)
|
||||
{
|
||||
@ -811,3 +820,105 @@ void scsiInit()
|
||||
scsiDev.unitAttention = POWER_ON_RESET;
|
||||
}
|
||||
|
||||
void scsiDisconnect()
|
||||
{
|
||||
scsiEnterPhase(MESSAGE_IN);
|
||||
scsiWriteByte(0x02); // save data pointer
|
||||
scsiWriteByte(0x04); // disconnect msg.
|
||||
|
||||
// For now, the caller is responsible for tracking the disconnected
|
||||
// state, and calling scsiReconnect.
|
||||
// Ideally the client would exit their loop and we'd implement this
|
||||
// as part of scsiPoll
|
||||
int phase = scsiDev.phase;
|
||||
enter_BusFree();
|
||||
scsiDev.phase = phase;
|
||||
}
|
||||
|
||||
int scsiReconnect()
|
||||
{
|
||||
int reconnected = 0;
|
||||
|
||||
int sel = SCSI_ReadFilt(SCSI_Filt_SEL);
|
||||
int bsy = SCSI_ReadFilt(SCSI_Filt_BSY);
|
||||
if (!sel && !bsy)
|
||||
{
|
||||
CyDelayUs(1);
|
||||
sel = SCSI_ReadFilt(SCSI_Filt_SEL);
|
||||
bsy = SCSI_ReadFilt(SCSI_Filt_BSY);
|
||||
}
|
||||
|
||||
if (!sel && !bsy)
|
||||
{
|
||||
// Arbitrate.
|
||||
ledOn();
|
||||
SCSI_Out_Bits_Write(scsiDev.scsiIdMask);
|
||||
SCSI_Out_Ctl_Write(1); // Write bits manually.
|
||||
SCSI_SetPin(SCSI_Out_BSY);
|
||||
|
||||
CyDelayUs(3); // arbitrate delay. 2.4us.
|
||||
|
||||
uint8_t dbx = scsiReadDBxPins();
|
||||
sel = SCSI_ReadFilt(SCSI_Filt_SEL);
|
||||
if (sel || ((dbx ^ scsiDev.scsiIdMask) > scsiDev.scsiIdMask))
|
||||
{
|
||||
// Lost arbitration.
|
||||
SCSI_Out_Ctl_Write(0);
|
||||
SCSI_ClearPin(SCSI_Out_BSY);
|
||||
ledOff();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Won arbitration
|
||||
SCSI_SetPin(SCSI_Out_SEL);
|
||||
CyDelayUs(1); // Bus clear + Bus settle.
|
||||
|
||||
// Reselection phase
|
||||
SCSI_CTL_PHASE_Write(__scsiphase_io);
|
||||
SCSI_Out_Bits_Write(scsiDev.scsiIdMask | (1 << scsiDev.initiatorId));
|
||||
scsiDeskewDelay(); // 2 deskew delays
|
||||
scsiDeskewDelay(); // 2 deskew delays
|
||||
SCSI_ClearPin(SCSI_Out_BSY);
|
||||
CyDelayUs(1); // Bus Settle Delay
|
||||
|
||||
uint32_t waitStart_ms = getTime_ms();
|
||||
bsy = SCSI_ReadFilt(SCSI_Filt_BSY);
|
||||
// Wait for initiator.
|
||||
while (
|
||||
!bsy &&
|
||||
!scsiDev.resetFlag &&
|
||||
(diffTime_ms(waitStart_ms, getTime_ms()) < 250))
|
||||
{
|
||||
bsy = SCSI_ReadFilt(SCSI_Filt_BSY);
|
||||
}
|
||||
|
||||
if (bsy)
|
||||
{
|
||||
SCSI_SetPin(SCSI_Out_BSY);
|
||||
scsiDeskewDelay(); // 2 deskew delays
|
||||
scsiDeskewDelay(); // 2 deskew delays
|
||||
SCSI_ClearPin(SCSI_Out_SEL);
|
||||
|
||||
// Prepare for the initial IDENTIFY message.
|
||||
SCSI_Out_Ctl_Write(0);
|
||||
scsiEnterPhase(MESSAGE_IN);
|
||||
|
||||
// Send identify command
|
||||
scsiWriteByte(0x80);
|
||||
|
||||
scsiEnterPhase(scsiDev.phase);
|
||||
reconnected = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// reselect timeout.
|
||||
SCSI_Out_Ctl_Write(0);
|
||||
SCSI_ClearPin(SCSI_Out_SEL);
|
||||
SCSI_CTL_PHASE_Write(0);
|
||||
ledOff();
|
||||
}
|
||||
}
|
||||
}
|
||||
return reconnected;
|
||||
}
|
||||
|
||||
|
@ -85,6 +85,8 @@ typedef struct
|
||||
uint8 cdb[12]; // command descriptor block
|
||||
uint8 cdbLen; // 6, 10, or 12 byte message.
|
||||
int8 lun; // Target lun, set by IDENTIFY message.
|
||||
uint8 discPriv; // Disconnect priviledge.
|
||||
uint8_t compatMode; // true for SCSI1 and SASI hosts.
|
||||
|
||||
// Only let the reserved initiator talk to us.
|
||||
// A 3rd party may be sending the RESERVE/RELEASE commands
|
||||
@ -93,7 +95,7 @@ typedef struct
|
||||
int reserverId; // 0 -> 7 if reserved. -1 if not reserved.
|
||||
|
||||
// SCSI_STATUS value.
|
||||
// Change to SCSI_STATUS_CHECK_CONDITION when setting a SENSE value
|
||||
// Change to CHECK_CONDITION when setting a SENSE value
|
||||
uint8 status;
|
||||
|
||||
ScsiSense sense;
|
||||
@ -118,6 +120,7 @@ extern ScsiDevice scsiDev;
|
||||
|
||||
void scsiInit(void);
|
||||
void scsiPoll(void);
|
||||
|
||||
void scsiDisconnect(void);
|
||||
int scsiReconnect(void);
|
||||
|
||||
#endif
|
||||
|
@ -60,6 +60,10 @@ enum FilteredInputs
|
||||
#define SCSI_ReadFilt(filt) \
|
||||
((SCSI_Filtered_Read() & (filt)) == 0)
|
||||
|
||||
// SCSI delays, as referenced to the cpu clock
|
||||
#define CPU_CLK_PERIOD_NS (1000000000U / BCLK__BUS_CLK__HZ)
|
||||
#define scsiDeskewDelay() CyDelayCycles((55 / CPU_CLK_PERIOD_NS) + 1)
|
||||
|
||||
// Contains the odd-parity flag for a given 8-bit value.
|
||||
extern const uint8_t Lookup_OddParity[256];
|
||||
|
||||
|
56
software/SCSI2SD/src/time.c
Executable file
56
software/SCSI2SD/src/time.c
Executable file
@ -0,0 +1,56 @@
|
||||
// Copyright (C) 2014 Michael McMaster <michael@codesrc.com>
|
||||
//
|
||||
// This file is part of SCSI2SD.
|
||||
//
|
||||
// SCSI2SD is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// SCSI2SD is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with SCSI2SD. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "time.h"
|
||||
#include "limits.h"
|
||||
|
||||
static volatile uint32_t counter = 0;
|
||||
|
||||
CY_ISR_PROTO(TickISR);
|
||||
CY_ISR(TickISR)
|
||||
{
|
||||
// Should be atomic at 32bit word size. Limits runtime to 49 days.
|
||||
++counter;
|
||||
}
|
||||
|
||||
void timeInit()
|
||||
{
|
||||
// Interrupt 15. SysTick_IRQn is -1.
|
||||
// The SysTick timer is integrated into the Arm Cortex M3
|
||||
CyIntSetSysVector((SysTick_IRQn + 16), TickISR);
|
||||
|
||||
// Ensure the cycle count is < 24bit.
|
||||
// At 50MHz bus clock, counter is 50000.
|
||||
SysTick_Config((BCLK__BUS_CLK__HZ + 999u) / 1000u);
|
||||
}
|
||||
|
||||
uint32_t getTime_ms()
|
||||
{
|
||||
return counter;
|
||||
}
|
||||
|
||||
uint32_t diffTime_ms(uint32_t start, uint32_t end)
|
||||
{
|
||||
if (end >= start)
|
||||
{
|
||||
return end - start;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (UINT_MAX - start) + end;
|
||||
}
|
||||
}
|
26
software/SCSI2SD/src/time.h
Executable file
26
software/SCSI2SD/src/time.h
Executable file
@ -0,0 +1,26 @@
|
||||
// Copyright (C) 2014 Michael McMaster <michael@codesrc.com>
|
||||
//
|
||||
// This file is part of SCSI2SD.
|
||||
//
|
||||
// SCSI2SD is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// SCSI2SD is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with SCSI2SD. If not, see <http://www.gnu.org/licenses/>.
|
||||
#ifndef TIME_H
|
||||
#define TIME_H
|
||||
|
||||
#include "device.h"
|
||||
|
||||
void timeInit(void);
|
||||
uint32_t getTime_ms(void); // Returns milliseconds since init
|
||||
uint32_t diffTime_ms(uint32_t start, uint32_t end);
|
||||
|
||||
#endif
|
@ -18,7 +18,7 @@
|
||||
<Tool Name="postbuild" Command="" Options="" />
|
||||
</Toolchain>
|
||||
</Toolchains>
|
||||
<Project Name="SCSI2SD" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" Version="4.0" Type="Bootloadable">
|
||||
<Project Name="SCSI2SD" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" Version="4.0" Type="Bootloadable">
|
||||
<CMSIS_SVD_File>SCSI2SD.svd</CMSIS_SVD_File>
|
||||
<Datasheet />
|
||||
<LinkerFiles>
|
||||
@ -27,8 +27,8 @@
|
||||
<LinkerFile Toolchain="IAR EWARM">.\Generated_Source\PSoC5\Cm3Iar.icf</LinkerFile>
|
||||
</LinkerFiles>
|
||||
<Folders>
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\src">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\src">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\main.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\diagnostic.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\disk.c</File>
|
||||
@ -41,6 +41,7 @@
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\sd.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\config.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\led.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\time.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\diagnostic.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\disk.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\geometry.h</File>
|
||||
@ -53,15 +54,16 @@
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\bits.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\sd.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\config.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\time.h</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="">.\device.h</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn\Generated_Source\PSoC5">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn\Generated_Source\PSoC5">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\cyfitter_cfg.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\cyfitter_cfg.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\cydevice.h</File>
|
||||
@ -209,41 +211,41 @@
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\libelf.dll</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn\Generated_Source\PSoC5\ARM_GCC">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn\Generated_Source\PSoC5\ARM_GCC">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="ARM GCC">.\Generated_Source\PSoC5\ARM_GCC\CyComponentLibrary.a</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn\Generated_Source\PSoC5\ARM_Keil_MDK">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn\Generated_Source\PSoC5\ARM_Keil_MDK">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="ARM Keil MDK">.\Generated_Source\PSoC5\ARM_Keil_MDK\CyComponentLibrary.a</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn\Generated_Source\PSoC5\IAR">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn\Generated_Source\PSoC5\IAR">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="IAR">.\Generated_Source\PSoC5\IAR\CyComponentLibrary.a</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\codegentemp">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\ARM_GCC_441">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\ARM_GCC_473">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\DP8051_Keil_951">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\DP8051">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\CortexM0">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\CortexM3">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
</Folders>
|
||||
</Project>
|
||||
|
Binary file not shown.
@ -102,6 +102,13 @@
|
||||
<build_action v="C_FILE" />
|
||||
<PropertyDeltas />
|
||||
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
|
||||
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFile" version="3" xml_contents_version="1">
|
||||
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItem" version="2" name="time.c" persistent="..\..\src\time.c">
|
||||
<Hidden v="False" />
|
||||
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
|
||||
<build_action v="C_FILE" />
|
||||
<PropertyDeltas />
|
||||
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
|
||||
</dependencies>
|
||||
</CyGuid_0820c2e7-528d-4137-9a08-97257b946089>
|
||||
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>
|
||||
@ -210,6 +217,13 @@
|
||||
<build_action v="NONE" />
|
||||
<PropertyDeltas />
|
||||
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
|
||||
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFile" version="3" xml_contents_version="1">
|
||||
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItem" version="2" name="time.h" persistent="..\..\src\time.h">
|
||||
<Hidden v="False" />
|
||||
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
|
||||
<build_action v="NONE" />
|
||||
<PropertyDeltas />
|
||||
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
|
||||
</dependencies>
|
||||
</CyGuid_0820c2e7-528d-4137-9a08-97257b946089>
|
||||
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>
|
||||
|
@ -18,7 +18,7 @@
|
||||
<Tool Name="postbuild" Command="" Options="" />
|
||||
</Toolchain>
|
||||
</Toolchains>
|
||||
<Project Name="USB_Bootloader" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" Version="4.0" Type="Bootloader">
|
||||
<Project Name="USB_Bootloader" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" Version="4.0" Type="Bootloader">
|
||||
<CMSIS_SVD_File>USB_Bootloader.svd</CMSIS_SVD_File>
|
||||
<Datasheet />
|
||||
<LinkerFiles>
|
||||
@ -27,13 +27,13 @@
|
||||
<LinkerFile Toolchain="IAR EWARM">.\Generated_Source\PSoC5\Cm3Iar.icf</LinkerFile>
|
||||
</LinkerFiles>
|
||||
<Folders>
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="">.\main.c</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\cyfitter_cfg.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\cyfitter_cfg.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\cymetadata.c</File>
|
||||
@ -111,41 +111,41 @@
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\libelf.dll</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5\ARM_GCC">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5\ARM_GCC">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="ARM GCC">.\Generated_Source\PSoC5\ARM_GCC\CyComponentLibrary.a</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5\ARM_Keil_MDK">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5\ARM_Keil_MDK">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="ARM Keil MDK">.\Generated_Source\PSoC5\ARM_Keil_MDK\CyComponentLibrary.a</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5\IAR">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5\IAR">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="IAR">.\Generated_Source\PSoC5\IAR\CyComponentLibrary.a</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\codegentemp">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\ARM_GCC_441">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\ARM_GCC_473">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\DP8051_Keil_951">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\DP8051">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\CortexM0">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\CortexM3">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn" />
|
||||
</Folder>
|
||||
</Folders>
|
||||
</Project>
|
||||
|
Binary file not shown.
@ -1082,6 +1082,7 @@
|
||||
<name_val_pair name="Z:\projects\SCSI2SD\git-3.5\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\CortexM3\ARM_GCC_473\Release\USB_Bootloader.hex" v=""-mthumb ""-march=armv7-m ""-mfix-cortex-m3-ldrd ""-T "".\Generated_Source\PSoC5\cm3gcc.ld ""-g ""-Wl,-Map,${OutputDir}\${ProjectShortName}.map ""-specs=nano.specs ""-Wl,--gc-sections "" />
|
||||
<name_val_pair name="Z:\projects\SCSI2SD\git\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\CortexM3\ARM_GCC_473\Release\USB_Bootloader.hex" v=""-mthumb ""-march=armv7-m ""-mfix-cortex-m3-ldrd ""-T "".\Generated_Source\PSoC5\cm3gcc.ld ""-g ""-Wl,-Map,${OutputDir}\${ProjectShortName}.map ""-specs=nano.specs ""-Wl,--gc-sections "" />
|
||||
<name_val_pair name="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\CortexM3\ARM_GCC_473\Release\USB_Bootloader.hex" v=""-mthumb ""-march=armv7-m ""-mfix-cortex-m3-ldrd ""-T "".\Generated_Source\PSoC5\cm3gcc.ld ""-g ""-Wl,-Map,${OutputDir}\${ProjectShortName}.map ""-specs=nano.specs ""-Wl,--gc-sections "" />
|
||||
<name_val_pair name="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\CortexM3\ARM_GCC_473\Release\USB_Bootloader.hex" v=""-mthumb ""-march=armv7-m ""-mfix-cortex-m3-ldrd ""-T "".\Generated_Source\PSoC5\cm3gcc.ld ""-g ""-Wl,-Map,${OutputDir}\${ProjectShortName}.map ""-specs=nano.specs ""-Wl,--gc-sections "" />
|
||||
</name>
|
||||
<name v="c9323d49-d323-40b8-9b59-cc008d68a989@Debug@CortexM3">
|
||||
<name_val_pair name=".\main.c" v=""-I. ""-I./Generated_Source/PSoC5 ""-Wno-main ""-mcpu=cortex-m3 ""-mthumb ""-Wall ""-g ""-D ""DEBUG ""-Wa,-alh=${OutputDir}\${CompileFile}.lst ""-ffunction-sections "" />
|
||||
@ -1115,7 +1116,7 @@
|
||||
<name_val_pair name="W:\SCSI2SD\software\SCSI2SD\USB_Bootloader.cydsn\CortexM3\ARM_GCC_473\Debug\USB_Bootloader.hex" v=""-mthumb ""-march=armv7-m ""-mfix-cortex-m3-ldrd ""-T "".\Generated_Source\PSoC5\cm3gcc.ld ""-g ""-Wl,-Map,${OutputDir}\${ProjectShortName}.map ""-specs=nano.specs ""-Wl,--gc-sections "" />
|
||||
</name>
|
||||
</genericCmdLineData>
|
||||
<codeGenCmdLineTag v=""-.appdatapath" "C:\Users\Micha_000\AppData\Local\Cypress Semiconductor\PSoC Creator\3.0" "-.fdsnotice" "-.fdswarpdepfile=warp_dependencies.txt" "-.fdselabdepfile=elab_dependencies.txt" "-.fdsbldfile=generated_files.txt" "-p" "Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\USB_Bootloader.cyprj" "-d" "CY8C5267AXI-LP051" "-s" "Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5" "--" "-yv2" "-v3" "-ygs" "-q10" "-o2" "-.fftcfgtype=LE" " />
|
||||
<codeGenCmdLineTag v=""-.appdatapath" "C:\Users\Micha_000\AppData\Local\Cypress Semiconductor\PSoC Creator\3.0" "-.fdsnotice" "-.fdswarpdepfile=warp_dependencies.txt" "-.fdselabdepfile=elab_dependencies.txt" "-.fdsbldfile=generated_files.txt" "-p" "Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\USB_Bootloader.cyprj" "-d" "CY8C5267AXI-LP051" "-s" "Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v3\USB_Bootloader.cydsn\Generated_Source\PSoC5" "--" "-yv2" "-v3" "-ygs" "-q10" "-o2" "-.fftcfgtype=LE" " />
|
||||
</CyGuid_b0374e30-ce3a-47f2-ad85-821643292c68>
|
||||
</dataGuid>
|
||||
<dataGuid v="597c5b74-0c46-4204-8b7f-96f3570671dc">
|
||||
@ -1668,14 +1669,14 @@
|
||||
<v>C:\Program Files (x86)\Cypress\PSoC Creator\3.0\PSoC Creator\warp\lib\common\stdlogic\mod_genv.vif</v>
|
||||
<v>C:\Program Files (x86)\Cypress\PSoC Creator\3.0\PSoC Creator\warp\lib\common\stdlogic\rtlpkg.vif</v>
|
||||
</warp_dep>
|
||||
<deps_time v="130537023991022657" />
|
||||
<deps_time v="130571566842994698" />
|
||||
<top_block v="TopDesign" />
|
||||
<last_generation v="0" />
|
||||
</CyGuid_925cc1e1-309e-4e08-b0a1-09a83c35b157>
|
||||
</dataGuid>
|
||||
<dataGuid v="769d31ea-68b1-4f0c-b90a-7c10a43ee563">
|
||||
<CyGuid_769d31ea-68b1-4f0c-b90a-7c10a43ee563 type_name="CyDesigner.Common.ProjMgmt.Model.CyLinkCustomData" version="1">
|
||||
<deps_time v="130537025103831962" />
|
||||
<deps_time v="130571567839248780" />
|
||||
</CyGuid_769d31ea-68b1-4f0c-b90a-7c10a43ee563>
|
||||
</dataGuid>
|
||||
<dataGuid v="bf610382-39c6-441f-80b8-b04622ea7845">
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,642 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Static Timing Analysis Report</title>
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body {
|
||||
font:normal normal 100%/1.0 verdana, times new roman, serif, sans-serif;
|
||||
}
|
||||
|
||||
table.sta_tsu > thead > tr > th.Delay,
|
||||
table.sta_tsu > tbody > tr > td.Delay,
|
||||
table.sta_tscs > thead > tr > th.Period,
|
||||
table.sta_tscs > tbody > tr > td.Period,
|
||||
table.sta_tscs > thead > tr > th.MaxFreq,
|
||||
table.sta_tscs > tbody > tr > td.MaxFreq,
|
||||
table.sta_tscs > thead > tr > th.Frequency,
|
||||
table.sta_tscs > tbody > tr > td.Frequency,
|
||||
table.sta_tco > thead > tr > th.Delay,
|
||||
table.sta_tco > tbody > tr > td.Delay,
|
||||
table.sta_tpd > thead > tr > th.Delay,
|
||||
table.sta_tpd > tbody > tr > td.Delay,
|
||||
table.sta_toe > thead > tr > th.Delay,
|
||||
table.sta_toe > tbody > tr > td.Delay,
|
||||
table.sta_tcoe > thead > tr > th.Delay,
|
||||
table.sta_tcoe > tbody > tr > td.Delay,
|
||||
table.sta_path > thead > tr > th.Delay,
|
||||
table.sta_path > tbody > tr > td.Delay,
|
||||
table.sta_path > thead > tr > th.Total,
|
||||
table.sta_path > tbody > tr > td.Total,
|
||||
table.sta_clocksummary > thead > tr > th.ActualFreq,
|
||||
table.sta_clocksummary > tbody > tr > td.ActualFreq,
|
||||
table.sta_clocksummary > thead > tr > th.MaxFreq,
|
||||
table.sta_clocksummary > tbody > tr > td.MaxFreq,
|
||||
table > tbody > tr > td.number
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
table.sta_tsu {
|
||||
border: solid 2px;
|
||||
border-collapse: collapse;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
table.sta_tpd {
|
||||
border: solid 2px;
|
||||
border-collapse: collapse;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
table.sta_tscs {
|
||||
border: solid 2px;
|
||||
border-collapse: collapse;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
table.sta_tco {
|
||||
border: solid 2px;
|
||||
border-collapse: collapse;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
table.sta_toe {
|
||||
border: solid 2px;
|
||||
border-collapse: collapse;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
table.sta_tcoe {
|
||||
border: solid 2px;
|
||||
border-collapse: collapse;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
th {
|
||||
border: solid 1px;
|
||||
vertical-align: top;
|
||||
font-family: monospace;
|
||||
text-align: center;
|
||||
white-space: pre-line;
|
||||
}
|
||||
|
||||
td {
|
||||
border: solid 1px;
|
||||
vertical-align: top;
|
||||
font-family: monospace;
|
||||
white-space: pre-line;
|
||||
}
|
||||
|
||||
table.sta_tpd > tbody > tr:hover,
|
||||
table.sta_tsu > tbody > tr:hover,
|
||||
table.sta_tscs > tbody > tr:hover,
|
||||
table.sta_tco > tbody > tr:hover,
|
||||
table.sta_toe > tbody > tr:hover,
|
||||
table.sta_tcoe > tbody > tr:hover
|
||||
{
|
||||
background-color: #e8e8ff;
|
||||
}
|
||||
|
||||
table.sta_path > tbody > tr:hover {
|
||||
background-color: #e8e8ff;
|
||||
}
|
||||
|
||||
table.sta_path {
|
||||
background-color: #f8f8f8;
|
||||
border: none;
|
||||
border-collapse: collapse;
|
||||
width: 90%;
|
||||
margin-left: 1em;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
table.sta_clocksummary {
|
||||
border: solid 2px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
div.sta_sec {
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.sta_sec div.sta_sec {
|
||||
margin-left: 0.75em;
|
||||
}
|
||||
|
||||
.proptext {
|
||||
font:normal normal 100%/1.0 verdana, times new roman, serif, sans-serif;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.prop {
|
||||
font: normal normal 100%/1.0 verdana, times new roman, serif, sans-serif;
|
||||
font-weight: bolder;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.sec_head {
|
||||
display: block;
|
||||
font-size: 1.17em;
|
||||
font-weight: bolder;
|
||||
margin: .83em 0;
|
||||
}
|
||||
|
||||
div.sta_secbody {
|
||||
margin-left: 0.75em;
|
||||
}
|
||||
|
||||
div.vio_sta_secbody {
|
||||
margin-left: 0.75em;
|
||||
}
|
||||
|
||||
.sta_sec_desc {
|
||||
margin-bottom: 0.5em;
|
||||
white-space: pre-line;
|
||||
}
|
||||
|
||||
.violation_color {
|
||||
color: red;
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
-->
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
|
||||
function HideElement(element) {
|
||||
var headerDiv = getChildElementsByTagName(element, "div")[0];
|
||||
var expandLink = getChildElementsByTagName(headerDiv, "a")[0];
|
||||
expandLink.onclick = clicked;
|
||||
var children = element.childNodes;
|
||||
var secBody = null;
|
||||
for (var j = 0; j < children.length; j++)
|
||||
{
|
||||
if (children[j].nodeType == document.ELEMENT_NODE &&
|
||||
(children[j].className == "sta_secbody" ||
|
||||
children[j].className == "vio_sta_secbody" ||
|
||||
children[j].className == "sta_sec" ))
|
||||
{
|
||||
secBody = children[j];
|
||||
secBody.style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function HideElements(elements) {
|
||||
for( var i=0; i<elements.length; i++)
|
||||
HideElement(elements[i]);
|
||||
}
|
||||
|
||||
|
||||
// Description : returns boolean indicating whether the object has the class name
|
||||
// built with the understanding that there may be multiple classes
|
||||
//
|
||||
// Arguments:
|
||||
// objElement - element to check for.
|
||||
// strClass - class name to be checked.
|
||||
//
|
||||
function HasClassName(objElement, strClass)
|
||||
{
|
||||
if ( objElement.className )
|
||||
{
|
||||
// the classes are just a space separated list, so first get the list
|
||||
var arrList = objElement.className.split(' ');
|
||||
|
||||
for ( var i = 0; i < arrList.length; i++ )
|
||||
{
|
||||
if ( arrList[i] == strClass )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function initialize() {
|
||||
if (document.ELEMENT_NODE == null)
|
||||
{
|
||||
/* Workaround for old IE */
|
||||
document.ELEMENT_NODE = 1;
|
||||
document.ATTRIBUTE_NODE = 2;
|
||||
document.TEXT_NODE = 3;
|
||||
document.CDATA_SECTION_MODE = 4;
|
||||
document.ENTITY_REFERENCE_MODE = 5;
|
||||
document.ENTITY_NODE = 6;
|
||||
document.PROCESSING_INSTRUCTION_NODE = 7;
|
||||
document.COMMENT_NODE = 8;
|
||||
document.DOCUMENT_NODE = 9;
|
||||
document.DOCUMENT_TYPE_NODE = 10;
|
||||
document.DOCUMENT_FRAGMENT_NODE = 11;
|
||||
document.NOTATION_NODE = 12;
|
||||
}
|
||||
|
||||
HideElements(getElementsByClass(document, 'div', 'sta_sec'));
|
||||
toggleExpandSection(document.getElementById('clock_summary'));
|
||||
toggleExpandSection(document.getElementById('violations'));
|
||||
|
||||
var allTD = document.getElementsByTagName("td");
|
||||
for( var i=0; i< allTD.length; i++)
|
||||
{
|
||||
if(allTD[i].className != "proptext" && allTD[i].innerHTML.match(/^\s*[-]?[0-9]+[\.]?[0-9]*$/))
|
||||
{
|
||||
allTD[i].align = "right";
|
||||
//allTD[i].style.textAlign = "right";
|
||||
}
|
||||
}
|
||||
|
||||
var allTables = document.getElementsByTagName("table");
|
||||
for (var i = 0; i < allTables.length; i++)
|
||||
{
|
||||
var table = allTables[i];
|
||||
if (table.className == "sta_tsu" ||
|
||||
table.className == "sta_tscs" ||
|
||||
table.className == "sta_tco" ||
|
||||
table.className == "sta_toe" ||
|
||||
table.className == "sta_tcoe")
|
||||
{
|
||||
var tbodyList = getChildElementsByTagName(table, "tbody");
|
||||
if (tbodyList.length != 0)
|
||||
{
|
||||
for (var row = tbodyList[0].firstChild; row != null; row = row.nextSibling)
|
||||
{
|
||||
if (row.nodeName.toLowerCase() == "tr")
|
||||
{
|
||||
if (HasClassName(row,"sta_path"))
|
||||
{
|
||||
row.style.display = "none";
|
||||
}
|
||||
else
|
||||
{
|
||||
row.style.cursor = "pointer";
|
||||
row.onclick = rowClicked;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(table.className == "sta_tpd" )
|
||||
{
|
||||
var tbodyList = getChildElementsByTagName(table, "tbody");
|
||||
if (tbodyList.length != 0)
|
||||
{
|
||||
for (var row = tbodyList[0].firstChild; row != null; row = row.nextSibling)
|
||||
{
|
||||
if (row.nodeName.toLowerCase() == "tr")
|
||||
{
|
||||
if(HasClassName(row, "sta_tv"))
|
||||
{
|
||||
row.style.cursor = "pointer";
|
||||
row.onclick = violationClicked;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function clicked()
|
||||
{
|
||||
var parent = findAncestorByClass(this, "sta_sec");
|
||||
toggleExpandSection(parent);
|
||||
return false;
|
||||
}
|
||||
|
||||
function toggleExpandSection(section)
|
||||
{
|
||||
if (section == null)
|
||||
return false;
|
||||
|
||||
var children = section.childNodes;
|
||||
for (var i = 0; i < children.length; i++)
|
||||
{
|
||||
if (children[i].nodeType == document.ELEMENT_NODE &&
|
||||
(children[i].className == "sta_secbody" ||
|
||||
children[i].className == "vio_sta_secbody"))
|
||||
toggleVisible(children[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function findAncestorByClass(node, className)
|
||||
{
|
||||
var parent;
|
||||
for (parent = node; parent != null; parent = parent.parentNode)
|
||||
{
|
||||
if (parent.nodeType == document.ELEMENT_NODE &&
|
||||
parent.className == className)
|
||||
{
|
||||
return parent;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function rowClicked()
|
||||
{
|
||||
for (var next = this.nextSibling; next != null; next = next.nextSibling)
|
||||
{
|
||||
if (next.nodeType == document.ELEMENT_NODE &&
|
||||
next.nodeName.toLowerCase() == "tr" &&
|
||||
HasClassName(next,"sta_path"))
|
||||
{
|
||||
if (next.style.display == "none")
|
||||
next.style.display = "table-row";
|
||||
else
|
||||
next.style.display = "none";
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function findPos(obj)
|
||||
{
|
||||
var curtop = 0;
|
||||
if (obj.offsetParent)
|
||||
{
|
||||
do
|
||||
{
|
||||
curtop += obj.offsetTop;
|
||||
} while (obj = obj.offsetParent);
|
||||
return [curtop];
|
||||
}
|
||||
}
|
||||
|
||||
function jumpto(ClassName)
|
||||
{
|
||||
var classname = 'sta_path';
|
||||
classname += ' ';
|
||||
classname += ClassName;
|
||||
if((obj = getElementsByClass(document, 'tr', classname)) &&
|
||||
obj.length > 0 ){
|
||||
window.scrollTo(0, findPos(obj[0]));
|
||||
}
|
||||
}
|
||||
|
||||
function violationClicked()
|
||||
{
|
||||
expandAllSections(0);
|
||||
expandViolations(1);
|
||||
var ident=this.id;
|
||||
var rlist= document.getElementsByTagName( "tr");
|
||||
|
||||
var clickedElementClassNames = this.className.split(' ');
|
||||
|
||||
//The second class name is to match the violation element with the
|
||||
//corresponding path element in the detailed section.
|
||||
var identificationClassValue = clickedElementClassNames[1];
|
||||
|
||||
for(var i=0 ; i < rlist.length ; i++)
|
||||
{
|
||||
if( rlist[i].nodeType == document.ELEMENT_NODE && HasClassName(rlist[i],"sta_path") )
|
||||
{
|
||||
var staPathClassNames = rlist[i].className.split(' ');
|
||||
// Assumption: There will be two class names, one indicating
|
||||
// style (sta_path), other to identify elements tv1.
|
||||
|
||||
if(staPathClassNames.length > 1)
|
||||
{
|
||||
// Matching second class Names of both elements.
|
||||
if(staPathClassNames[1] == identificationClassValue)
|
||||
{
|
||||
|
||||
var parent= findAncestorByClass ( rlist[i] , "sta_tscs" );
|
||||
if(parent == null)
|
||||
parent= findAncestorByClass ( rlist[i] , "sta_tco" );
|
||||
for( ; (parent!= null && parent.nodeName!="body") ; parent= parent.parentNode )
|
||||
{
|
||||
if( parent.nodeType == document.ELEMENT_NODE && parent.className == "sta_secbody")
|
||||
{
|
||||
//parent.style.display = "block";
|
||||
visible(parent);
|
||||
rlist[i].style.display = "table-row" ;
|
||||
//alert(rlist[i].id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//document.getElementById(this.id).scrollIntoView(true);
|
||||
// location = location + this.id;
|
||||
jumpto(identificationClassValue);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
function toggleVisible(elem)
|
||||
{
|
||||
if (elem.style.display == "none")
|
||||
elem.style.display = "block";
|
||||
else
|
||||
elem.style.display = "none";
|
||||
|
||||
headerDiv = getChildElementsByTagName(elem.parentNode, "div")[0];
|
||||
link = getChildElementsByTagName(headerDiv, "a")[0];
|
||||
innerSpan = getChildElementsByTagName(link, "span")[0];
|
||||
textNode = getChildElementsByTagName(innerSpan, "span")[0].firstChild;
|
||||
textNode.data = (elem.style.display == "none") ? "+" : "-";
|
||||
}
|
||||
|
||||
function visible(elem)
|
||||
{
|
||||
elem.style.display = "block";
|
||||
|
||||
headerDiv = getChildElementsByTagName(elem.parentNode, "div")[0];
|
||||
link = getChildElementsByTagName(headerDiv, "a")[0];
|
||||
innerSpan = getChildElementsByTagName(link, "span")[0];
|
||||
textNode = getChildElementsByTagName(innerSpan, "span")[0].firstChild;
|
||||
textNode.data = (elem.style.display == "none") ? "+" : "-";
|
||||
}
|
||||
|
||||
function getChildElementsByTagName(node, name)
|
||||
{
|
||||
var result = new Array(), i = 0;
|
||||
name = name.toLowerCase();
|
||||
for (var child = node.firstChild; child != null; child = child.nextSibling)
|
||||
{
|
||||
if (child.nodeType == document.ELEMENT_NODE &&
|
||||
child.nodeName.toLowerCase() == name)
|
||||
{
|
||||
result[i++] = child;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function expandAllPaths(rootNode, show)
|
||||
{
|
||||
var show = show ? "table-row" : "none";
|
||||
var elements = getElementsByClass(rootNode, "tr", "sta_path");
|
||||
for (var i = 0; i < elements.length; i++)
|
||||
{
|
||||
elements[i].style.display = show;
|
||||
}
|
||||
}
|
||||
|
||||
function expandAllSections(show)
|
||||
{
|
||||
var show = show ? "block" : "none";
|
||||
var elements = getElementsByClass(document, "div", "sta_secbody");
|
||||
for (var i = 0; i < elements.length; i++)
|
||||
{
|
||||
if (elements[i].style.display != show)
|
||||
toggleVisible(elements[i]);
|
||||
}
|
||||
|
||||
var elements1 = getElementsByClass(document, "div", "vio_sta_secbody");
|
||||
for (var i = 0; i < elements1.length; i++)
|
||||
{
|
||||
if (elements1[i].style.display != show)
|
||||
toggleVisible(elements1[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function expandViolations(show)
|
||||
{
|
||||
var show = show ? "block" : "none";
|
||||
var elements = getElementsByClass(document, "div", "vio_sta_secbody");
|
||||
for (var i = 0; i < elements.length; i++)
|
||||
{
|
||||
if (elements[i].style.display != show)
|
||||
toggleVisible(elements[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function expandViolationSections(show)
|
||||
{
|
||||
var show =show ? "block" :"none" ;
|
||||
}
|
||||
|
||||
function getElementsByClass(rootNode, elemName, className)
|
||||
{
|
||||
var result = new Array(), idx = 0;
|
||||
var elements = rootNode.getElementsByTagName(elemName);
|
||||
for (var i = 0; i < elements.length; i++)
|
||||
{
|
||||
if (elements[i].className == className)
|
||||
result[idx++] = elements[i];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
//-->
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body onload="initialize();">
|
||||
<noscript>
|
||||
<p style="display: block; border: 1px solid; margin: 4em; padding: 1.5em">View this file with a JavaScript-enabled browser to enable all features.</p>
|
||||
</noscript>
|
||||
<h1> Static Timing Analysis </h1>
|
||||
<table class="property">
|
||||
<tr> <td class="prop"> Project :</td>
|
||||
<td class="proptext"> USB_Bootloader</td></tr>
|
||||
<tr> <td class="prop"> Build Time :</td>
|
||||
<td class="proptext"> 08/28/14 22:25:58</td></tr>
|
||||
<tr> <td class="prop"> Device :</td>
|
||||
<td class="proptext"> CY8C5267AXI-LP051</td></tr>
|
||||
<tr> <td class="prop"> Temperature :</td>
|
||||
<td class="proptext"> -40C - 85/125C</td></tr>
|
||||
<tr> <td class="prop"> Vdda :</td>
|
||||
<td class="proptext"> 5.00</td></tr>
|
||||
<tr> <td class="prop"> Vddd :</td>
|
||||
<td class="proptext"> 5.00</td></tr>
|
||||
<tr> <td class="prop"> Vio0 :</td>
|
||||
<td class="proptext"> 5.00</td></tr>
|
||||
<tr> <td class="prop"> Vio1 :</td>
|
||||
<td class="proptext"> 5.00</td></tr>
|
||||
<tr> <td class="prop"> Vio2 :</td>
|
||||
<td class="proptext"> 5.00</td></tr>
|
||||
<tr> <td class="prop"> Vio3 :</td>
|
||||
<td class="proptext"> 5.00</td></tr>
|
||||
<tr> <td class="prop"> Voltage :</td>
|
||||
<td class="proptext"> 5.0</td></tr>
|
||||
<tr> <td class="prop"> Vusb :</td>
|
||||
<td class="proptext"> 5.00</td></tr>
|
||||
</table>
|
||||
<div>
|
||||
<a href="#" onclick="expandAllSections(1);return false;">Expand All</a> |
|
||||
<a href="#" onclick="expandAllSections(0);return false;">Collapse All</a> |
|
||||
<a href="#" onclick="expandAllPaths(document, 1);return false;">Show All Paths</a> |
|
||||
<a href="#" onclick="expandAllPaths(document, 0);return false;">Hide All Paths</a>
|
||||
</div>
|
||||
<div class="sta_sec" id="violations">
|
||||
<div>
|
||||
<a href="#" style="text-decoration: none; color: inherit;">
|
||||
<span class="sec_head"><span style="font-family: monospace;">+</span>
|
||||
Timing Violation Section</span>
|
||||
</a>
|
||||
</div><div class="vio_sta_secbody"><div class="sta_sec_desc">No Timing Violations</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sta_sec" id="clock_summary">
|
||||
<div>
|
||||
<a href="#" style="text-decoration: none; color: inherit;">
|
||||
<span class="sec_head"><span style="font-family: monospace;">+</span>
|
||||
Clock Summary Section</span>
|
||||
</a>
|
||||
</div><div class="sta_secbody"><table class="sta_clocksummary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Clock</th>
|
||||
<th>Domain</th>
|
||||
<th>Nominal Frequency</th>
|
||||
<th>Required Frequency</th>
|
||||
<th>Maximum Frequency</th>
|
||||
<th>Violation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class = "text_info">CyILO</td>
|
||||
<td class = "text_info">CyILO</td>
|
||||
<td class = "number">100.000 kHz</td>
|
||||
<td class = "number">100.000 kHz</td>
|
||||
<td class = "number"> N/A </td>
|
||||
<td class = "text_info"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class = "text_info">CyIMO</td>
|
||||
<td class = "text_info">CyIMO</td>
|
||||
<td class = "number">24.000 MHz</td>
|
||||
<td class = "number">24.000 MHz</td>
|
||||
<td class = "number"> N/A </td>
|
||||
<td class = "text_info"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class = "text_info">CyMASTER_CLK</td>
|
||||
<td class = "text_info">CyMASTER_CLK</td>
|
||||
<td class = "number">64.000 MHz</td>
|
||||
<td class = "number">64.000 MHz</td>
|
||||
<td class = "number"> N/A </td>
|
||||
<td class = "text_info"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class = "text_info">CyBUS_CLK</td>
|
||||
<td class = "text_info">CyMASTER_CLK</td>
|
||||
<td class = "number">64.000 MHz</td>
|
||||
<td class = "number">64.000 MHz</td>
|
||||
<td class = "number"> N/A </td>
|
||||
<td class = "text_info"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class = "text_info">CyPLL_OUT</td>
|
||||
<td class = "text_info">CyPLL_OUT</td>
|
||||
<td class = "number">64.000 MHz</td>
|
||||
<td class = "number">64.000 MHz</td>
|
||||
<td class = "number"> N/A </td>
|
||||
<td class = "text_info"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -18,7 +18,7 @@
|
||||
<Tool Name="postbuild" Command="" Options="" />
|
||||
</Toolchain>
|
||||
</Toolchains>
|
||||
<Project Name="SCSI2SD" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" Version="4.0" Type="Bootloadable">
|
||||
<Project Name="SCSI2SD" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" Version="4.0" Type="Bootloadable">
|
||||
<CMSIS_SVD_File>SCSI2SD.svd</CMSIS_SVD_File>
|
||||
<Datasheet />
|
||||
<LinkerFiles>
|
||||
@ -27,8 +27,8 @@
|
||||
<LinkerFile Toolchain="IAR EWARM">.\Generated_Source\PSoC5\Cm3Iar.icf</LinkerFile>
|
||||
</LinkerFiles>
|
||||
<Folders>
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\src">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\src">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\main.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\diagnostic.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\disk.c</File>
|
||||
@ -41,6 +41,7 @@
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\sd.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\config.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\led.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\time.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\diagnostic.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\disk.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\geometry.h</File>
|
||||
@ -53,15 +54,16 @@
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\bits.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\sd.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\config.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">..\..\src\time.h</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<Folder BuildType="BUILD" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="">.\device.h</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn\Generated_Source\PSoC5">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn\Generated_Source\PSoC5">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\cyfitter_cfg.h</File>
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\cyfitter_cfg.c</File>
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\cybootloader.c</File>
|
||||
@ -206,41 +208,41 @@
|
||||
<File BuildType="BUILD" Toolchain="">.\Generated_Source\PSoC5\libelf.dll</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn\Generated_Source\PSoC5\ARM_GCC">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn\Generated_Source\PSoC5\ARM_GCC">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="ARM GCC">.\Generated_Source\PSoC5\ARM_GCC\CyComponentLibrary.a</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn\Generated_Source\PSoC5\ARM_Keil_MDK">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn\Generated_Source\PSoC5\ARM_Keil_MDK">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="ARM Keil MDK">.\Generated_Source\PSoC5\ARM_Keil_MDK\CyComponentLibrary.a</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn\Generated_Source\PSoC5\IAR">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<Folder BuildType="STRICT" Path="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn\Generated_Source\PSoC5\IAR">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn">
|
||||
<File BuildType="BUILD" Toolchain="IAR">.\Generated_Source\PSoC5\IAR\CyComponentLibrary.a</File>
|
||||
</Files>
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\codegentemp">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\ARM_GCC_441">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\ARM_GCC_473">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\DP8051_Keil_951">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\DP8051">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\CortexM0">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
<Folder BuildType="EXCLUDE" Path=".\CortexM3">
|
||||
<Files Root="Z:\projects\SCSI2SD\git-parity\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
<Files Root="Z:\projects\SCSI2SD\git-timeout\SCSI2SD\software\SCSI2SD\v4\SCSI2SD.cydsn" />
|
||||
</Folder>
|
||||
</Folders>
|
||||
</Project>
|
||||
|
Binary file not shown.
@ -102,6 +102,13 @@
|
||||
<build_action v="C_FILE" />
|
||||
<PropertyDeltas />
|
||||
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
|
||||
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFile" version="3" xml_contents_version="1">
|
||||
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItem" version="2" name="time.c" persistent="..\..\src\time.c">
|
||||
<Hidden v="False" />
|
||||
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
|
||||
<build_action v="C_FILE" />
|
||||
<PropertyDeltas />
|
||||
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
|
||||
</dependencies>
|
||||
</CyGuid_0820c2e7-528d-4137-9a08-97257b946089>
|
||||
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>
|
||||
@ -210,6 +217,13 @@
|
||||
<build_action v="NONE" />
|
||||
<PropertyDeltas />
|
||||
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
|
||||
<CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtFile" version="3" xml_contents_version="1">
|
||||
<CyGuid_31768f72-0253-412b-af77-e7dba74d1330 type_name="CyDesigner.Common.ProjMgmt.Model.CyPrjMgmtItem" version="2" name="time.h" persistent="..\..\src\time.h">
|
||||
<Hidden v="False" />
|
||||
</CyGuid_31768f72-0253-412b-af77-e7dba74d1330>
|
||||
<build_action v="NONE" />
|
||||
<PropertyDeltas />
|
||||
</CyGuid_8b8ab257-35d3-4473-b57b-36315200b38b>
|
||||
</dependencies>
|
||||
</CyGuid_0820c2e7-528d-4137-9a08-97257b946089>
|
||||
</CyGuid_2f73275c-45bf-46ba-b3b1-00a2fe0c8dd8>
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user