From 3e54ab7c9ed2cc3020edbb89963646f7f715480b Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Tue, 10 Sep 2013 09:09:22 +0200 Subject: [PATCH 1/2] Added trace support for LPC4357USB boards --- .../boards/microbuilder/board_lpc4357usb.h | 3 +- .../microbuilder/board_lpc4357usb_etminit.ini | 31 ++ demos/host/host_os_none/host_os_none.uvopt | 447 ++++++++++-------- demos/host/host_os_none/host_os_none.uvproj | 2 +- 4 files changed, 275 insertions(+), 208 deletions(-) create mode 100644 demos/bsp/boards/microbuilder/board_lpc4357usb_etminit.ini diff --git a/demos/bsp/boards/microbuilder/board_lpc4357usb.h b/demos/bsp/boards/microbuilder/board_lpc4357usb.h index 9a67d4a0..96d535c7 100644 --- a/demos/bsp/boards/microbuilder/board_lpc4357usb.h +++ b/demos/bsp/boards/microbuilder/board_lpc4357usb.h @@ -63,7 +63,8 @@ #include "lpc43xx_uart.h" #include "lpc43xx_i2c.h" -#define CFG_PRINTF_TARGET PRINTF_TARGET_UART +#define CFG_PRINTF_TARGET PRINTF_TARGET_SWO +//#define CFG_PRINTF_TARGET PRINTF_TARGET_UART #ifdef __cplusplus } diff --git a/demos/bsp/boards/microbuilder/board_lpc4357usb_etminit.ini b/demos/bsp/boards/microbuilder/board_lpc4357usb_etminit.ini new file mode 100644 index 00000000..67aed412 --- /dev/null +++ b/demos/bsp/boards/microbuilder/board_lpc4357usb_etminit.ini @@ -0,0 +1,31 @@ +/*------------------------------------------------------------------- +** Define the function to enable the trace port +**-----------------------------------------------------------------*/ +FUNC void EnableTPIU(void) { + + /* Configure TRACE pins for MCB4357 */ + //_WDWORD(0x40086790, 0x000000B2); // LPC_SCU->SFSPF_4 = 2; + //_WDWORD(0x40086794, 0x000000B3); // LPC_SCU->SFSPF_5 = 3; + //_WDWORD(0x40086798, 0x000000B3); // LPC_SCU->SFSPF_6 = 3; + //_WDWORD(0x4008679C, 0x000000B3); // LPC_SCU->SFSPF_7 = 3; + //_WDWORD(0x400867A0, 0x000000B3); // LPC_SCU->SFSPF_8 = 3; + + /* Configure TRACE pins for LPC4357USB */ + _WDWORD(0x40086790, 0x000000B2); // LPC_SCU->SFSPF_4 = 2 - TRACECLK + _WDWORD(0x40086390, 0x000000B5); // LPC_SCU->SFSP7_4 = 5 - TRACEDATA[0] + _WDWORD(0x40086394, 0x000000B5); // LPC_SCU->SFSP7_5 = 5 - TRACEDATA[1] + _WDWORD(0x40086398, 0x000000B5); // LPC_SCU->SFSP7_6 = 5 - TRACEDATA[2] + _WDWORD(0x4008639C, 0x000000B5); // LPC_SCU->SFSP7_7 = 5 - TRACEDATA[3] +} + +/*------------------------------------------------------------------- +** Invoke the function at debugger startup +**-----------------------------------------------------------------*/ +EnableTPIU(); + +/*------------------------------------------------------------------- +** Execute upon software RESET +**-----------------------------------------------------------------*/ +FUNC void OnResetExec(void) { + EnableTPIU(); +} diff --git a/demos/host/host_os_none/host_os_none.uvopt b/demos/host/host_os_none/host_os_none.uvopt index 802b1747..4610f225 100644 --- a/demos/host/host_os_none/host_os_none.uvopt +++ b/demos/host/host_os_none/host_os_none.uvopt @@ -24,185 +24,6 @@ Board EA4357 0x4 ARM-ADS - - 12000000 - - 1 - 1 - 1 - 0 - - - 1 - 65535 - 0 - 0 - 0 - - - 79 - 66 - 8 - .\UV4Build\ - - - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 0 - 0 - 0 - 0 - - - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - - - 1 - 0 - 1 - - 8 - - - 0 - Technical Reference Manual - datashts\arm\cortex_m4\r0p1\DDI0439C_CORTEX_M4_R0P1_TRM.PDF - - - 1 - Generic User Guide - datashts\arm\cortex_m4\r0p1\DUI0553A_CORTEX_M4_DGUG.PDF - - - - SARMCM3.DLL - -MPU - DCM.DLL - -pCM4 - SARMCM3.DLL - -MPU - TCM.DLL - -pCM4 - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 7 - - - - - - - - - - - Segger\JL2CM3.dll - - - - 0 - DLGTARM - (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) - - - 0 - ARMDBGFLAGS - - - - 0 - DLGUARM - - - 0 - JL2CM3 - -U268003250 -O1006 -S8 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC72000000 -TP21 -TDS800B -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB5 -TFE0 -FO15 -FD10000000 -FC800 -FN2 -FF0LPC18xx43xx_512_BA -FS01A000000 -FL080000 -FF1LPC18xx43xx_512_BB -FS11B000000 -FL180000 - - - 0 - UL2CM3 - -O975 -S0 -C0 -FO7 -FD10000000 -FC800 -FN2 -FF0LPC18xx43xx_512_BA -FS01A000000 -FL080000 -FF1LPC18xx43xx_512_BB -FS11B000000 -FL180000) - - - - - - 0 - 1 - usbh_devices - - - - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - - - 0 - - - - - - - - Board LPC4357USB - 0x4 - ARM-ADS 12000000 @@ -337,7 +158,24 @@ -O975 -S0 -C0 -FO7 -FD10000000 -FC800 -FN2 -FF0LPC18xx43xx_512_BA -FS01A000000 -FL080000 -FF1LPC18xx43xx_512_BB -FS11B000000 -FL180000) - + + + 0 + 0 + 76 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\Shared\Dropbox\microBuilder\Code\LPC4300\tinyusb\demos\host\src\keyboard_app.c + + +
+
0 @@ -379,9 +217,206 @@
+ + Board LPC4357USB + 0x4 + ARM-ADS + + 12000000 + + 1 + 1 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\UV4Build\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 8 + + + 0 + Technical Reference Manual + datashts\arm\cortex_m4\r0p1\DDI0439C_CORTEX_M4_R0P1_TRM.PDF + + + 1 + Generic User Guide + datashts\arm\cortex_m4\r0p1\DUI0553A_CORTEX_M4_DGUG.PDF + + + + SARMCM3.DLL + -MPU + DCM.DLL + -pCM4 + SARMCM3.DLL + -MPU + TCM.DLL + -pCM4 + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 7 + + + + + + + + + + ..\..\bsp\boards\microbuilder\board_lpc4357usb_etminit.ini + Segger\JL2CM3.dll + + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + Á + + + 0 + JL2CM3 + -U203200341 -O1006 -S8 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO12307 -TC72000000 -TP8 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD10000000 -FC800 -FN2 -FF0LPC18xx43xx_512_BA -FS01A000000 -FL080000 -FF1LPC18xx43xx_512_BB -FS11B000000 -FL180000 + + + 0 + UL2CM3 + -O975 -S0 -C0 -FO7 -FD10000000 -FC800 -FN2 -FF0LPC18xx43xx_512_BA -FS01A000000 -FL080000 -FF1LPC18xx43xx_512_BB -FS11B000000 -FL180000) + + + + + 0 + 0 + 76 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + D:\Shared\Dropbox\microBuilder\Code\LPC4300\tinyusb\demos\host\src\keyboard_app.c + + +
+
+ + + 0 + 1 + usbh_devices + + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + + + 0 + + + +
+
+ app - 0 + 1 0 0 0 @@ -391,9 +426,9 @@ 1 0 0 - 65 + 36 0 - 10 + 152 16 0 ..\src\main.c @@ -409,8 +444,8 @@ 0 24 0 - 0 - 0 + 41 + 42 0 ..\src\cdc_serial_app.c cdc_serial_app.c @@ -423,10 +458,10 @@ 1 0 0 - 20 + 0 0 - 0 - 0 + 56 + 76 0 ..\src\keyboard_app.c keyboard_app.c @@ -457,8 +492,8 @@ 0 12 0 - 0 - 0 + 2 + 10 0 ..\src\rndis_app.c rndis_app.c @@ -469,7 +504,7 @@ boards - 0 + 1 0 0 0 @@ -529,8 +564,8 @@ 0 61 0 - 0 - 0 + 1 + 6 0 ..\..\bsp\boards\embedded_artists\oem_base_board\pca9532.c pca9532.c @@ -637,7 +672,7 @@ tinyusb - 1 + 0 0 0 0 @@ -649,8 +684,8 @@ 0 1 0 - 0 - 0 + 58 + 69 0 ..\..\..\tinyusb\tusb.c tusb.c @@ -713,8 +748,8 @@ 0 1 0 - 0 - 0 + 325 + 329 0 ..\..\..\tinyusb\host\usbh.c usbh.c @@ -841,8 +876,8 @@ 0 0 0 - 0 - 0 + 206 + 214 0 ..\..\..\tinyusb\class\cdc_host.c cdc_host.c @@ -857,8 +892,8 @@ 0 39 0 - 0 - 0 + 37 + 41 0 ..\..\..\tinyusb\class\cdc_rndis_host.c cdc_rndis_host.c @@ -885,7 +920,7 @@ cmsis - 0 + 1 0 0 0 @@ -999,10 +1034,10 @@ 2 0 0 - 5 + 0 0 - 0 - 0 + 142 + 151 0 ..\..\bsp\lpc43xx\startup_keil\startup_LPC43xx.s startup_LPC43xx.s diff --git a/demos/host/host_os_none/host_os_none.uvproj b/demos/host/host_os_none/host_os_none.uvproj index 4decc7e5..20701be1 100644 --- a/demos/host/host_os_none/host_os_none.uvproj +++ b/demos/host/host_os_none/host_os_none.uvproj @@ -746,7 +746,7 @@ - + ..\..\bsp\boards\microbuilder\board_lpc4357usb_etminit.ini Segger\JL2CM3.dll From 50d0e9bb8d49c150a2924f6d691d0f678c9484b0 Mon Sep 17 00:00:00 2001 From: Kevin Townsend Date: Tue, 10 Sep 2013 09:20:59 +0200 Subject: [PATCH 2/2] Apply power to USB --- demos/bsp/boards/microbuilder/board_lpc4357usb.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/demos/bsp/boards/microbuilder/board_lpc4357usb.c b/demos/bsp/boards/microbuilder/board_lpc4357usb.c index 82934853..83f9c8b1 100644 --- a/demos/bsp/boards/microbuilder/board_lpc4357usb.c +++ b/demos/bsp/boards/microbuilder/board_lpc4357usb.c @@ -69,7 +69,15 @@ void board_init(void) scu_pinmux(0x7, 5, MD_PDN, 0x5); /* P7_5 = TRACEDATA[1] */ scu_pinmux(0x7, 6, MD_PDN, 0x5); /* P7_6 = TRACEDATA[2] */ scu_pinmux(0x7, 7, MD_PDN, 0x5); /* P7_7 = TRACEDATA[3] */ + + // USB0 Power: EA4357 channel B U20 GPIO26 active low (base board), P2_3 on LPC4357 + scu_pinmux(0x2, 3, MD_PUP | MD_EZI, FUNC7); // USB0 VBus Power + // 1.5Kohm pull-up resistor is needed on the USB DP data signal. GPIO28 (base), P9_5 (LPC4357) controls + //scu_pinmux(0x9, 5, MD_PUP|MD_EZI|MD_ZI, FUNC4); // GPIO5[18] + //GPIO_SetDir(5, BIT_(18), 1); // output + //GPIO_ClearValue(5, BIT_(18)); + /* Init I2C @ 400kHz */ I2C_Init(LPC_I2C0, 400000); I2C_Cmd(LPC_I2C0, ENABLE);