mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-12 11:54:14 +00:00
Increased the speed of both software and hardware TPI/PDI programming modes of the AVRISP project.
This commit is contained in:
parent
10b9394a8b
commit
12a01ed72d
@ -14,6 +14,7 @@
|
|||||||
* <b>Changed:</b>
|
* <b>Changed:</b>
|
||||||
* - AVRISP programmer project now has a more robust timeout system, allowing for a doubling of the software USART speed
|
* - AVRISP programmer project now has a more robust timeout system, allowing for a doubling of the software USART speed
|
||||||
* for PDI and TPI programming
|
* for PDI and TPI programming
|
||||||
|
* - Increased the speed of both software and hardware TPI/PDI programming modes of the AVRISP project
|
||||||
*
|
*
|
||||||
* <b>Fixed:</b>
|
* <b>Fixed:</b>
|
||||||
* - (None)
|
* - (None)
|
||||||
|
@ -42,6 +42,8 @@ uint32_t CurrentAddress;
|
|||||||
/** Flag to indicate that the next read/write operation must update the device's current address */
|
/** Flag to indicate that the next read/write operation must update the device's current address */
|
||||||
bool MustSetAddress;
|
bool MustSetAddress;
|
||||||
|
|
||||||
|
bool CommandTimedOut;
|
||||||
|
|
||||||
/** Initializes the hardware and software associated with the V2 protocol command handling. */
|
/** Initializes the hardware and software associated with the V2 protocol command handling. */
|
||||||
void V2Protocol_Init(void)
|
void V2Protocol_Init(void)
|
||||||
{
|
{
|
||||||
@ -68,6 +70,8 @@ void V2Protocol_ProcessCommand(void)
|
|||||||
{
|
{
|
||||||
uint8_t V2Command = Endpoint_Read_Byte();
|
uint8_t V2Command = Endpoint_Read_Byte();
|
||||||
|
|
||||||
|
CommandTimedOut = false;
|
||||||
|
|
||||||
switch (V2Command)
|
switch (V2Command)
|
||||||
{
|
{
|
||||||
case CMD_SIGN_ON:
|
case CMD_SIGN_ON:
|
||||||
|
@ -124,9 +124,9 @@ static void XPROGProtocol_EnterXPROGMode(void)
|
|||||||
XPROGTarget_SendByte(PDI_CMD_STCS | PDI_RESET_REG);
|
XPROGTarget_SendByte(PDI_CMD_STCS | PDI_RESET_REG);
|
||||||
XPROGTarget_SendByte(PDI_RESET_KEY);
|
XPROGTarget_SendByte(PDI_RESET_KEY);
|
||||||
|
|
||||||
/* Lower direction change guard time to 8 USART bits */
|
/* Lower direction change guard time to 0 USART bits */
|
||||||
XPROGTarget_SendByte(PDI_CMD_STCS | PDI_CTRL_REG);
|
XPROGTarget_SendByte(PDI_CMD_STCS | PDI_CTRL_REG);
|
||||||
XPROGTarget_SendByte(0x04);
|
XPROGTarget_SendByte(0x07);
|
||||||
|
|
||||||
/* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */
|
/* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */
|
||||||
XPROGTarget_SendByte(PDI_CMD_KEY);
|
XPROGTarget_SendByte(PDI_CMD_KEY);
|
||||||
@ -141,9 +141,9 @@ static void XPROGProtocol_EnterXPROGMode(void)
|
|||||||
/* Enable TPI programming mode with the attached target */
|
/* Enable TPI programming mode with the attached target */
|
||||||
XPROGTarget_EnableTargetTPI();
|
XPROGTarget_EnableTargetTPI();
|
||||||
|
|
||||||
/* Lower direction change guard time to 8 USART bits */
|
/* Lower direction change guard time to 0 USART bits */
|
||||||
XPROGTarget_SendByte(TPI_CMD_SSTCS | TPI_CTRL_REG);
|
XPROGTarget_SendByte(TPI_CMD_SSTCS | TPI_CTRL_REG);
|
||||||
XPROGTarget_SendByte(0x04);
|
XPROGTarget_SendByte(0x07);
|
||||||
|
|
||||||
/* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */
|
/* Enable access to the XPROG NVM bus by sending the documented NVM access key to the device */
|
||||||
XPROGTarget_SendByte(TPI_CMD_SKEY);
|
XPROGTarget_SendByte(TPI_CMD_SKEY);
|
||||||
|
@ -81,7 +81,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** Number of cycles between each clock when software USART mode is used */
|
/** Number of cycles between each clock when software USART mode is used */
|
||||||
#define BITS_BETWEEN_USART_CLOCKS 100
|
#define BITS_BETWEEN_USART_CLOCKS 80
|
||||||
|
|
||||||
/** Total number of bits in a single USART frame */
|
/** Total number of bits in a single USART frame */
|
||||||
#define BITS_IN_USART_FRAME 12
|
#define BITS_IN_USART_FRAME 12
|
||||||
|
Loading…
Reference in New Issue
Block a user