Added new JTAG_ENABLE() macro for the AVR8 architecture. Fixed the JTAG_DISABLE() macro clearing all other bits in MCUSR when called.
Moved the XPLAIN board specific bootloader entry condition code to the Application_Jump_Check() function of the DFU bootloader, added support for the original XPLAIN board to the CDC class bootloader.
This commit is contained in:
		
							parent
							
								
									7abaafb3ca
								
							
						
					
					
						commit
						cd0bd7bf90
					
				
					 4 changed files with 64 additions and 19 deletions
				
			
		| 
						 | 
				
			
			@ -65,6 +65,24 @@
 | 
			
		|||
		/* Macros: */
 | 
			
		||||
			#if (ARCH == ARCH_AVR8) || (ARCH == ARCH_XMEGA) || defined(__DOXYGEN__)
 | 
			
		||||
				#if (ARCH == ARCH_AVR8) || defined(__DOXYGEN__)
 | 
			
		||||
					/** Re-enables the AVR's JTAG bus in software, until a system reset. This will re-enable JTAG debugging
 | 
			
		||||
					 *  interface after is has been disbled in software via \ref JTAG_DISABLE().
 | 
			
		||||
					 *
 | 
			
		||||
					 *  \note This macro is not available for all architectures.
 | 
			
		||||
					 */
 | 
			
		||||
					#define JTAG_ENABLE()                  MACROS{                                      \
 | 
			
		||||
																	__asm__ __volatile__ (               \
 | 
			
		||||
																	"in __tmp_reg__,__SREG__" "\n\t"     \
 | 
			
		||||
																	"cli" "\n\t"                         \
 | 
			
		||||
																	"out %1, %0" "\n\t"                  \
 | 
			
		||||
																	"out __SREG__, __tmp_reg__" "\n\t"   \
 | 
			
		||||
																	"out %1, %0" "\n\t"                  \
 | 
			
		||||
																	:                                    \
 | 
			
		||||
																	: "r" (MCUCR & ~(1 << JTD)),         \
 | 
			
		||||
																	  "M" (_SFR_IO_ADDR(MCUCR))          \
 | 
			
		||||
																	: "r0");                             \
 | 
			
		||||
															}MACROE
 | 
			
		||||
 | 
			
		||||
					/** Disables the AVR's JTAG bus in software, until a system reset. This will override the current JTAG
 | 
			
		||||
					 *  status as set by the JTAGEN fuse, disabling JTAG debugging and reverting the JTAG pins back to GPIO
 | 
			
		||||
					 *  mode.
 | 
			
		||||
| 
						 | 
				
			
			@ -79,7 +97,7 @@
 | 
			
		|||
																	"out __SREG__, __tmp_reg__" "\n\t"   \
 | 
			
		||||
																	"out %1, %0" "\n\t"                  \
 | 
			
		||||
																	:                                    \
 | 
			
		||||
																	: "r" (1 << JTD),                    \
 | 
			
		||||
																	: "r" (MCUCR | (1 << JTD)),          \
 | 
			
		||||
																	  "M" (_SFR_IO_ADDR(MCUCR))          \
 | 
			
		||||
																	: "r0");                             \
 | 
			
		||||
															}MACROE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,8 @@
 | 
			
		|||
  *   - Added new Pipe_ConfigurePipeTable() function
 | 
			
		||||
  *   - Added build test to verify correct compilation of all board drivers using all driver APIs
 | 
			
		||||
  *   - Added build test to verify correct compilation of all bootloaders using all supported devices  
 | 
			
		||||
  *   - Added build test to verify that there are no detectable errors in the codebase via static analysis 
 | 
			
		||||
  *   - Added build test to verify that there are no detectable errors in the codebase via static analysis
 | 
			
		||||
  *   - Added new JTAG_ENABLE() macro for the AVR8 architecture
 | 
			
		||||
  *  - Library Applications:
 | 
			
		||||
  *   - Modified the CDC Host demos to set a default CDC Line Encoding on enumerated devices
 | 
			
		||||
  *   - Added Dataflash operational checks and aborts to all projects using the Dataflash to ensure it is working correctly before use
 | 
			
		||||
| 
						 | 
				
			
			@ -66,6 +67,7 @@
 | 
			
		|||
  *     the stack (thanks to Jonathan Hudgins)
 | 
			
		||||
  *   - Fixed broken MIDI host driver MIDI_Host_ReceiveEventPacket() function due to not unfreezing the MIDI data IN pipe before use (thanks to Michael Brown)
 | 
			
		||||
  *   - Fixed swapped Little Endian/Big Endian endpoint and pipe write code for the UC3 devices (thanks to Andrew Chu)
 | 
			
		||||
  *   - Fixed the JTAG_DISABLE() macro clearing all other bits in MCUSR when called
 | 
			
		||||
  *  - Library Applications:
 | 
			
		||||
  *   - Fixed error in the AVRISP-MKII programmer when ISP mode is used at 64KHz (thanks to Ben R. Porter)
 | 
			
		||||
  *   - Fixed AVRISP-MKII programmer project failing to compile for the U4 chips when VTARGET_ADC_CHANNEL is defined to an invalid channel and NO_VTARGET_DETECT is
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue