aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--firmware/apps/dfu/main.c17
-rw-r--r--firmware/atmel_softpack_libraries/libchip_sam3s/source/USBD_HAL.c19
-rw-r--r--firmware/atmel_softpack_libraries/usb/device/dfu/dfu_driver.c2
3 files changed, 23 insertions, 15 deletions
diff --git a/firmware/apps/dfu/main.c b/firmware/apps/dfu/main.c
index 3d0cc1e..5aafc7c 100644
--- a/firmware/apps/dfu/main.c
+++ b/firmware/apps/dfu/main.c
@@ -257,11 +257,24 @@ extern int main(void)
"=============================================================================\n\r",
manifest_revision, manifest_board);
- TRACE_INFO("Chip ID: 0x%08x (Ext 0x%08x)\n\r", CHIPID->CHIPID_CIDR, CHIPID->CHIPID_EXID);
+#if (TRACE_LEVEL >= TRACE_LEVEL_INFO)
+ TRACE_INFO("Chip ID: 0x%08lx (Ext 0x%08lx)\n\r", CHIPID->CHIPID_CIDR, CHIPID->CHIPID_EXID);
TRACE_INFO("Serial Nr. %08x-%08x-%08x-%08x\n\r",
g_unique_id[0], g_unique_id[1],
g_unique_id[2], g_unique_id[3]);
- TRACE_INFO("Reset Cause: 0x%lx\n\r", reset_cause);
+ static const char* reset_causes[] = {
+ "general reset (first power-up reset)",
+ "backup reset (return from backup mode)",
+ "watchdog reset (watchdog fault occurred)",
+ "software reset (processor reset required by the software)",
+ "user reset (NRST pin detected low)",
+ };
+ if (reset_cause < ARRAY_SIZE(reset_causes)) {
+ TRACE_INFO("Reset Cause: %s\n\r", reset_causes[reset_cause]);
+ } else {
+ TRACE_INFO("Reset Cause: 0x%lx\n\r", (RSTC->RSTC_SR & RSTC_SR_RSTTYP_Msk) >> RSTC_SR_RSTTYP_Pos);
+ }
+#endif
#if (TRACE_LEVEL >= TRACE_LEVEL_INFO)
/* Find out why we are in the DFU bootloader, and not the main application */
diff --git a/firmware/atmel_softpack_libraries/libchip_sam3s/source/USBD_HAL.c b/firmware/atmel_softpack_libraries/libchip_sam3s/source/USBD_HAL.c
index 2f56602..3fe3270 100644
--- a/firmware/atmel_softpack_libraries/libchip_sam3s/source/USBD_HAL.c
+++ b/firmware/atmel_softpack_libraries/libchip_sam3s/source/USBD_HAL.c
@@ -45,11 +45,6 @@
* Headers
*---------------------------------------------------------------------------*/
-#ifdef TRACE_LEVEL
-#undef TRACE_LEVEL
-#endif
-#define TRACE_LEVEL TRACE_LEVEL_WARNING
-
#include "chip.h"
#include "USBD_HAL.h"
#include <usb/device/dfu/dfu.h>
@@ -1138,7 +1133,7 @@ void USBD_IrqHandler(void)
/* Resume (Wakeup) */
if ((status & (UDP_ISR_WAKEUP | UDP_ISR_RXRSM)) != 0) {
- TRACE_INFO_WP("Res ");
+ TRACE_DEBUG_WP("Res ");
/* Clear and disable resume interrupts */
UDP->UDP_ICR = UDP_ICR_WAKEUP | UDP_ICR_RXRSM | UDP_ICR_RXSUSP;
UDP->UDP_IDR = UDP_IDR_WAKEUP | UDP_IDR_RXRSM;
@@ -1150,7 +1145,7 @@ void USBD_IrqHandler(void)
This interrupt is always treated last (hence the '==') */
if (status == UDP_ISR_RXSUSP) {
- TRACE_INFO_WP("Susp ");
+ TRACE_DEBUG_WP("Susp ");
/* Enable wakeup */
UDP->UDP_IER = UDP_IER_WAKEUP | UDP_IER_RXRSM;
/* Acknowledge interrupt */
@@ -1161,7 +1156,7 @@ void USBD_IrqHandler(void)
/* End of bus reset */
else if ((status & UDP_ISR_ENDBUSRES) != 0) {
- TRACE_INFO_WP("EoBRes ");
+ TRACE_DEBUG_WP("EoBRes ");
#if defined(BOARD_USB_DFU)
#if defined(APPLICATION_dfu)
@@ -1202,7 +1197,7 @@ void USBD_IrqHandler(void)
if (status != 0) {
- TRACE_INFO_WP("\n\r - ");
+ TRACE_DEBUG_WP("\n\r - ");
}
}
eptnum++;
@@ -1211,7 +1206,7 @@ void USBD_IrqHandler(void)
/* Toggle LED back to its previous state */
TRACE_DEBUG_WP("!");
- TRACE_INFO_WP("\n\r");
+ TRACE_DEBUG_WP("\n\r");
if (USBD_GetState() >= USBD_STATE_POWERED) {
//LED_Clear(USBD_LEDUSB);
@@ -1361,7 +1356,7 @@ uint8_t USBD_HAL_ConfigureEP(const USBEndpointDescriptor *pDescriptor)
UDP->UDP_IER = (1 << bEndpoint);
}
- TRACE_INFO_WP("CfgEp%d ", bEndpoint);
+ TRACE_DEBUG_WP("CfgEp%d ", bEndpoint);
return bEndpoint;
}
@@ -1529,7 +1524,7 @@ void USBD_HAL_RemoteWakeUp(void)
UDP_EnableUsbClock();
UDP_EnableTransceiver();
- TRACE_INFO_WP("RWUp ");
+ TRACE_DEBUG_WP("RWUp ");
// Activates a remote wakeup (edge on ESR), then clear ESR
UDP->UDP_GLB_STAT |= UDP_GLB_STAT_ESR;
diff --git a/firmware/atmel_softpack_libraries/usb/device/dfu/dfu_driver.c b/firmware/atmel_softpack_libraries/usb/device/dfu/dfu_driver.c
index e95c67b..1cca7ab 100644
--- a/firmware/atmel_softpack_libraries/usb/device/dfu/dfu_driver.c
+++ b/firmware/atmel_softpack_libraries/usb/device/dfu/dfu_driver.c
@@ -85,7 +85,7 @@ static void __dfufunc handle_getstate(void)
{
uint8_t u8 = g_dfu->state;
- TRACE_DEBUG("handle_getstate(%u)\n\r", g_dfu->state);
+ TRACE_DEBUG("handle_getstate(%ld)\n\r", g_dfu->state);
USBD_Write(0, (char *)&u8, sizeof(u8), NULL, 0);
}