diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/bin/openblt_dk_tm4c123g.bin b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/bin/openblt_dk_tm4c123g.bin index d073149b..c677ef6f 100644 Binary files a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/bin/openblt_dk_tm4c123g.bin and b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/bin/openblt_dk_tm4c123g.bin differ diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/bin/openblt_dk_tm4c123g.out b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/bin/openblt_dk_tm4c123g.out index f8cb97a9..8dd91add 100644 Binary files a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/bin/openblt_dk_tm4c123g.out and b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/bin/openblt_dk_tm4c123g.out differ diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/blt_conf.h b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/blt_conf.h index bb4f9143..ac94354c 100644 --- a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/blt_conf.h +++ b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/blt_conf.h @@ -55,7 +55,7 @@ /** \brief Motorola or Intel style byte ordering. */ #define BOOT_CPU_BYTE_ORDER_MOTOROLA (0) /** \brief Enable/disable hook function call right before user program start. */ -#define BOOT_CPU_USER_PROGRAM_START_HOOK (0) +#define BOOT_CPU_USER_PROGRAM_START_HOOK (1) /** \brief Compiler specific variable prefix to prevent its initialization during startup. */ #define BOOT_CPU_CONNECT_STATE_PREFIX __no_init @@ -72,7 +72,7 @@ * */ /** \brief Enable/disable UART transport layer. */ -#define BOOT_COM_UART_ENABLE (1) +#define BOOT_COM_UART_ENABLE (0) /** \brief Configure the desired communication speed. */ #define BOOT_COM_UART_BAUDRATE (57600) /** \brief Configure number of bytes in the target->host data packet. */ @@ -82,6 +82,19 @@ /** \brief Select the desired UART peripheral as a zero based index. */ #define BOOT_COM_UART_CHANNEL_INDEX (0) +/* The USB communication interface is selected by setting the BOOT_COM_USB_ENABLE + * configurable to 1. The maximum amount of data bytes in a message for data transmission + * and reception is set through BOOT_COM_USB_TX_MAX_DATA and BOOT_COM_USB_RX_MAX_DATA, + * respectively. + * + */ +/** \brief Enable/disable USB transport layer. */ +#define BOOT_COM_USB_ENABLE (1) +/** \brief Configure number of bytes in the target->host data packet. */ +#define BOOT_COM_USB_TX_MAX_DATA (63) +/** \brief Configure number of bytes in the host->target data packet. */ +#define BOOT_COM_USB_RX_MAX_DATA (63) + /**************************************************************************************** * F I L E S Y S T E M I N T E R F A C E C O N F I G U R A T I O N @@ -111,7 +124,7 @@ #define BOOT_FILE_SYS_ENABLE (1) /** \brief Enable/disable logging messages during firmware updates. */ #define BOOT_FILE_LOGGING_ENABLE (1) -/** \brief Enable/disable a hook function that is called upon detection of an error. */ +/** \brief Enable/disable a hook functionthat is called upon detection of an error. */ #define BOOT_FILE_ERROR_HOOK_ENABLE (1) /** \brief Enable/disable a hook function that is called at the start of the update. */ #define BOOT_FILE_STARTED_HOOK_ENABLE (1) @@ -133,7 +146,7 @@ /** \brief Enable/disable the backdoor override hook functions. */ #define BOOT_BACKDOOR_HOOKS_ENABLE (0) - + /**************************************************************************************** * N O N - V O L A T I L E M E M O R Y D R I V E R C O N F I G U R A T I O N ****************************************************************************************/ diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/hooks.c b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/hooks.c index 056b9f4b..746b79d8 100644 --- a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/hooks.c +++ b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/hooks.c @@ -42,6 +42,66 @@ #include "inc/hw_types.h" #include "driverlib/uartlib.h" #endif +#include "inc/hw_memmap.h" +#include "inc/hw_types.h" +#include "driverlib/sysctl.h" +#include "driverlib/gpio.h" + + +/**************************************************************************************** +* U S B C O M M U N I C A T I O N I N T E R F A C E H O O K F U N C T I O N S +****************************************************************************************/ + +#if (BOOT_COM_USB_ENABLE > 0) +/************************************************************************************//** +** \brief Callback that gets called whenever the USB device should be connected +** to the USB bus. +** \param connect BLT_TRUE to connect and BLT_FALSE to disconnect. +** \return none. +** +****************************************************************************************/ +void UsbConnectHook(blt_bool connect) +{ + /* the connection to the USB bus is typically controlled by software through a digital + * output. the GPIO pin for this must be configured as such. the DK-TM4C123G does not + * have a digital output for this feature, so nothing to do here. + */ + + /* determine if the USB should be connected or disconnected */ + if (connect == BLT_TRUE) + { + /* enable connection to the USB bus */ + } + else + { + /* disable connection to the USB bus */ + } +} /*** end of UsbConnect ***/ + + +/************************************************************************************//** +** \brief Callback that gets called whenever the USB host requests the device +** to enter a low power mode. +** \return none. +** +****************************************************************************************/ +void UsbEnterLowPowerModeHook(void) +{ + /* support to enter a low power mode can be implemented here */ +} /*** end of UsbEnterLowPowerMode ***/ + + +/************************************************************************************//** +** \brief Callback that gets called whenever the USB host requests the device to +** exit low power mode. +** \return none. +** +****************************************************************************************/ +void UsbLeaveLowPowerModeHook(void) +{ + /* support to leave a low power mode can be implemented here */ +} /*** end of UsbLeaveLowPowerMode ***/ +#endif /* BOOT_COM_USB_ENABLE > 0 */ /**************************************************************************************** @@ -66,8 +126,8 @@ void BackDoorInitHook(void) ****************************************************************************************/ blt_bool BackDoorEntryHook(void) { - /* default implementation always activates the bootloader after a reset */ - return BLT_TRUE; + /* no backdoor entry requested */ + return BLT_FALSE; } /*** end of BackDoorEntryHook ***/ #endif /* BOOT_BACKDOOR_HOOKS_ENABLE > 0 */ @@ -88,6 +148,12 @@ blt_bool BackDoorEntryHook(void) ****************************************************************************************/ blt_bool CpuUserProgramStartHook(void) { + /* bootloader should remain active when SELECT button is pressed */ + if (GPIOPinRead(GPIO_PORTM_BASE, GPIO_PIN_4) == 0) + { + /* keep bootloader active */ + return BLT_FALSE; + } /* okay to start the user program */ return BLT_TRUE; } /*** end of CpuUserProgramStartHook ***/ diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.dbgdt b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.dbgdt index f7a35e21..fbafa37f 100644 --- a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.dbgdt +++ b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.dbgdt @@ -83,14 +83,14 @@ - TextEditor$WS_DIR$\..\main.c000005230813081TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\flash.c0000055226708267081TextEditor$WS_DIR$\..\blt_conf.h000004841034103TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR\vectors.c000004224142414TextEditor$WS_DIR$\..\..\..\..\Source\xcp.c0000012194343243439TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\uart.c0000011162426242TextEditor$WS_DIR$\..\..\..\..\Source\assert.c000001730913091TextEditor$WS_DIR$\..\..\..\..\Source\backdoor.c0000011668826882TextEditor$WS_DIR$\..\..\..\..\Source\com.c0000014375707570TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\nvm.c00000174803880380100000010000001 + TextEditor$WS_DIR$\..\blt_conf.h0000011288218821TextEditor$WS_DIR$\..\main.c000004230813081TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\usb.h00000000TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\usb.c000002281072010720TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR\vectors.c00000023482348TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\cpu.c0000063421142115TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\flash.c000000202202TextEditor$WS_DIR$\..\lib\usblib\device\usbdhandler.c000002926222622TextEditor$WS_DIR$\..\lib\usblib\usbbuffer.c000006862560425612TextEditor$WS_DIR$\..\..\..\..\Source\xcp.c0000012914589245900TextEditor$WS_DIR$\..\lib\usblib\device\usbdenum.c0000027789317193171TextEditor$WS_DIR$\..\hooks.c0000012962396239TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\uart.c00000021822300TextEditor$WS_DIR$\..\lib\driverlib\gpio.c000008363244932449TextEditor$WS_DIR$\..\..\..\..\Source\backdoor.c000008546194619TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR\cstart.s0000012244824610100000010000001 - iaridepm.enu1debuggergui.enu1-2-2741341-2-2200200104167198413178646737103-2-2741198-2-2200200104167198413104167737103-2-21981922-2-219242001002083198413104167198413 + iaridepm.enu1debuggergui.enu1-2-2741341-2-2200200104167198413178646737103-2-2741198-2-2200200104167198413104167737103-2-21981922-2-219242001002083198413104167198413 diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.dni b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.dni index 10712c71..a1a2a783 100644 --- a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.dni +++ b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.dni @@ -38,7 +38,7 @@ ShowSource=1 [LMIFTDIDriver] LMI_ResetMode=0x00000000 [DebugChecksum] -Checksum=-743962560 +Checksum=-1346733608 [Exceptions] StopOnUncaught=_ 0 StopOnThrow=_ 0 diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.wsdt b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.wsdt index 3a34a2eb..8236520b 100644 --- a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.wsdt +++ b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/settings/tm4c123g.wsdt @@ -12,9 +12,9 @@ - 327272727 + 329272727 - 201395372931422024318371 + 20139537293142202431837113619234300FileFunctionLine20070010013619234 @@ -25,24 +25,24 @@ Workspace - tm4c123gtm4c123g/Boottm4c123g/Boot/libtm4c123g/Boot/lib/fatfstm4c123g/Librariestm4c123g/Outputtm4c123g/Source + tm4c123gtm4c123g/Boottm4c123g/Librariestm4c123g/Outputtm4c123g/Source - 0TabID-11003-23003BuildBuildTabID-13665-29690Find All DeclarationsFind-All-DeclarationsTabID-2562-1429Debug LogDebug-Log0 + 0TabID-11003-23003BuildBuildTabID-13665-29690Find All DeclarationsFind-All-DeclarationsTabID-2562-1429Debug LogDebug-LogTabID-23273-22207Find in FilesFind-in-FilesTabID-14368-8233Ambiguous DefinitionsSelect-Ambiguous-Definitions3 - TextEditor$WS_DIR$\..\main.c0000052313031300TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\flash.c000008722812281TextEditor$WS_DIR$\..\blt_conf.h000009671387138TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR\vectors.c000004224142414TextEditor$WS_DIR$\..\..\..\..\Source\xcp.c0000012194343243439TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\uart.c0000011162426242TextEditor$WS_DIR$\..\..\..\..\Source\assert.c000001730913091TextEditor$WS_DIR$\..\..\..\..\Source\backdoor.c0000011668826882TextEditor$WS_DIR$\..\..\..\..\Source\com.c0000014375707570TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\nvm.c0000016080388038TextEditor$WS_DIR$\..\lib\fatfs\mmc.c0000016465056505TextEditor$WS_DIR$\..\hooks.c0000023110763107630100000010000001 + TextEditor$WS_DIR$\..\blt_conf.h000007854945494TextEditor$WS_DIR$\..\main.c000006353585358TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\usb.h00000000TextEditor$WS_DIR$\..\..\..\..\Source\ARMCM4_TM4C\usb.c00000117720272023TextEditor$WS_DIR$\..\hooks.c0000010857295729TextEditor$WS_DIR$\..\lib\usblib\device\usbdbulk.c0000099134592346180100000010000001 - iaridepm.enu1-2-2579418-2-22002001041671984132187505763890068813847536751-257719242001002083198413218750382937 + iaridepm.enu1-2-2579403-2-22002001041671984132109385763890007-257719242001002083198413210938382937 diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/tm4c123g.dep b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/tm4c123g.dep index 1cd3a351..cc129207 100644 --- a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/tm4c123g.dep +++ b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/tm4c123g.dep @@ -2,14 +2,14 @@ 2 - 3594745735 + 2378615795 Debug $PROJ_DIR$\..\lib\driverlib\adc.c - $PROJ_DIR$\..\lib\driverlib\adc.h $PROJ_DIR$\..\lib\driverlib\can.h $PROJ_DIR$\..\lib\driverlib\can.c + $PROJ_DIR$\..\lib\driverlib\adc.h $PROJ_DIR$\..\lib\driverlib\comp.c $PROJ_DIR$\..\lib\driverlib\comp.h $PROJ_DIR$\..\lib\driverlib\cpulib.c @@ -31,62 +31,71 @@ $PROJ_DIR$\..\lib\driverlib\interrupt.h $PROJ_DIR$\..\lib\driverlib\mpu.c $PROJ_DIR$\..\lib\driverlib\mpu.h + $PROJ_DIR$\..\lib\driverlib\pin_map.h $PROJ_DIR$\..\lib\driverlib\pwm.c $PROJ_DIR$\..\lib\driverlib\pwm.h $PROJ_DIR$\..\lib\driverlib\qei.c $PROJ_DIR$\..\lib\driverlib\qei.h - $PROJ_DIR$\..\lib\driverlib\ssi.c - $PROJ_DIR$\..\lib\driverlib\ssi.h - $PROJ_DIR$\..\lib\driverlib\sw_crc.c - $PROJ_DIR$\..\lib\driverlib\sw_crc.h - $PROJ_DIR$\..\lib\driverlib\sysctl.c - $PROJ_DIR$\..\lib\driverlib\sysctl.h - $PROJ_DIR$\..\lib\driverlib\sysexc.c - $PROJ_DIR$\..\lib\driverlib\systick.c - $PROJ_DIR$\..\lib\driverlib\systick.h - $PROJ_DIR$\..\lib\driverlib\timerlib.c - $PROJ_DIR$\..\lib\driverlib\timerlib.h - $PROJ_DIR$\..\lib\driverlib\uartlib.c - $PROJ_DIR$\..\lib\driverlib\uartlib.h - $PROJ_DIR$\..\lib\driverlib\udma.c - $PROJ_DIR$\..\lib\driverlib\udma.h - $PROJ_DIR$\..\lib\driverlib\usb.c - $PROJ_DIR$\..\lib\driverlib\usb.h - $PROJ_DIR$\..\lib\driverlib\watchdog.c - $PROJ_DIR$\..\lib\driverlib\watchdog.h - $PROJ_DIR$\..\lib\fatfs\ffconf.h - $PROJ_DIR$\..\lib\fatfs\mmc.c - $PROJ_DIR$\..\lib\inc\hw_adc.h - $PROJ_DIR$\..\lib\inc\hw_can.h - $PROJ_DIR$\..\lib\inc\hw_comp.h - $PROJ_DIR$\..\lib\inc\hw_eeprom.h - $PROJ_DIR$\..\lib\inc\hw_flash.h - $PROJ_DIR$\..\lib\inc\hw_gpio.h - $PROJ_DIR$\..\lib\inc\hw_hibernate.h - $PROJ_DIR$\..\lib\inc\hw_i2c.h - $PROJ_DIR$\..\lib\inc\hw_ints.h - $PROJ_DIR$\..\lib\inc\hw_memmap.h - $PROJ_DIR$\..\lib\inc\hw_nvic.h - $PROJ_DIR$\..\lib\inc\hw_pwm.h - $PROJ_DIR$\..\lib\inc\hw_qei.h - $PROJ_DIR$\..\lib\inc\hw_ssi.h - $PROJ_DIR$\..\lib\inc\hw_sysctl.h - $PROJ_DIR$\..\lib\inc\hw_sysexc.h - $PROJ_DIR$\..\lib\inc\hw_timer.h - $PROJ_DIR$\..\lib\inc\hw_types.h - $PROJ_DIR$\..\lib\inc\hw_uart.h - $PROJ_DIR$\..\lib\inc\hw_udma.h - $PROJ_DIR$\..\lib\inc\hw_usb.h - $PROJ_DIR$\..\lib\inc\hw_watchdog.h + $PROJ_DIR$\..\lib\driverlib\rom.h + $PROJ_DIR$\..\lib\usblib\device\usbdcomp.c + $PROJ_DIR$\..\lib\usblib\device\usbdcomp.h + $PROJ_DIR$\..\lib\usblib\device\usbdconfig.c + $PROJ_DIR$\..\lib\usblib\device\usbddfu-rt.c + $PROJ_DIR$\..\lib\usblib\device\usbddfu-rt.h + $PROJ_DIR$\..\lib\usblib\device\usbdenum.c + $PROJ_DIR$\..\lib\usblib\device\usbdevice.h + $PROJ_DIR$\..\lib\usblib\device\usbdevicepriv.h + $PROJ_DIR$\..\lib\usblib\device\usbdhandler.c + $PROJ_DIR$\..\lib\usblib\device\usbdhid.c + $PROJ_DIR$\..\lib\usblib\device\usbdhid.h + $PROJ_DIR$\..\lib\usblib\device\usbdhidkeyb.c + $PROJ_DIR$\..\lib\usblib\device\usbdhidkeyb.h + $PROJ_DIR$\..\lib\usblib\device\usbdhidmouse.c + $PROJ_DIR$\..\lib\usblib\device\usbdhidmouse.h + $PROJ_DIR$\..\lib\usblib\device\usbdmsc.c + $PROJ_DIR$\..\lib\usblib\device\usbdmsc.h + $PROJ_DIR$\..\lib\usblib\host\usbhaudio.c + $PROJ_DIR$\..\lib\usblib\host\usbhaudio.h + $PROJ_DIR$\..\lib\usblib\host\usbhhid.c + $PROJ_DIR$\..\lib\usblib\host\usbhhid.h + $PROJ_DIR$\..\lib\usblib\host\usbhhidkeyboard.c + $PROJ_DIR$\..\lib\usblib\host\usbhhidkeyboard.h + $PROJ_DIR$\..\lib\usblib\host\usbhhidmouse.c + $PROJ_DIR$\..\lib\usblib\host\usbhhidmouse.h + $PROJ_DIR$\..\lib\usblib\host\usbhhub.c + $PROJ_DIR$\..\lib\usblib\host\usbhhub.h + $PROJ_DIR$\..\lib\usblib\host\usbhmsc.c + $PROJ_DIR$\..\lib\usblib\host\usbhmsc.h + $PROJ_DIR$\..\lib\usblib\host\usbhost.h + $PROJ_DIR$\..\lib\usblib\host\usbhostenum.c + $PROJ_DIR$\..\lib\usblib\host\usbhostpriv.h + $PROJ_DIR$\..\lib\usblib\host\usbhscsi.c + $PROJ_DIR$\..\lib\usblib\host\usbhscsi.h + $PROJ_DIR$\..\lib\usblib\usb-ids.h + $PROJ_DIR$\..\lib\usblib\usbaudio.h + $PROJ_DIR$\..\lib\usblib\usbbuffer.c + $PROJ_DIR$\..\lib\usblib\usbcdc.h + $PROJ_DIR$\..\lib\usblib\usbdesc.c + $PROJ_DIR$\..\lib\usblib\usbdfu.h + $PROJ_DIR$\..\lib\usblib\usbdma.c + $PROJ_DIR$\..\lib\usblib\usbhid.h + $PROJ_DIR$\..\lib\usblib\usbkeyboardmap.c + $PROJ_DIR$\..\lib\usblib\usblib.h + $PROJ_DIR$\..\lib\usblib\usblibpriv.h + $PROJ_DIR$\..\lib\usblib\usbmode.c + $PROJ_DIR$\..\lib\usblib\usbmsc.h + $PROJ_DIR$\..\lib\usblib\usbringbuf.c + $PROJ_DIR$\..\lib\usblib\usbtick.c $PROJ_DIR$\..\blt_conf.h $PROJ_DIR$\..\hooks.c $PROJ_DIR$\..\main.c $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR\vectors.c $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR\cstart.s - $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\option\unicode.c + $PROJ_DIR$\..\obj\time.o $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\cpu.c $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\cpu.h $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\flash.c + $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\option\unicode.c $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\flash.h $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\nvm.c $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\nvm.h @@ -94,6 +103,9 @@ $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\timer.h $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\types.h $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\uart.c + $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\uart.h + $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\usb.c + $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\usb.h $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\diskio.h $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\ff.c $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\ff.h @@ -113,9 +125,196 @@ $PROJ_DIR$\..\..\..\..\Source\plausibility.h $PROJ_DIR$\..\..\..\..\Source\xcp.c $PROJ_DIR$\..\..\..\..\Source\xcp.h - $PROJ_DIR$\..\lib\driverlib\cpu.h + $PROJ_DIR$\..\lib\driverlib\usb.h $PROJ_DIR$\..\lib\driverlib\flash.h - $PROJ_DIR$\..\obj\time.o + $PROJ_DIR$\..\lib\driverlib\cpu.h + $PROJ_DIR$\..\lib\driverlib\usb.c + $PROJ_DIR$\..\obj\ff.o + $PROJ_DIR$\..\obj\stripchartmanager.o + $PROJ_DIR$\..\obj\stripchartwidget.o + $PROJ_DIR$\..\obj\startup_ewarm.o + $PROJ_DIR$\..\obj\uartstdio.o + $PROJ_DIR$\..\obj\usb_serial_structs.o + $PROJ_DIR$\..\obj\usbserial.o + $PROJ_DIR$\..\obj\usbstick.o + $PROJ_DIR$\..\obj\ustdlib.o + $PROJ_DIR$\..\obj\acquire.pbi + $PROJ_DIR$\..\obj\ff.pbi + $PROJ_DIR$\..\obj\flashstore.pbi + $PROJ_DIR$\..\obj\images.pbi + $PROJ_DIR$\..\obj\menus.pbi + $PROJ_DIR$\..\obj\qs-logger.pbi + $PROJ_DIR$\..\obj\sysexc.pbi + $PROJ_DIR$\..\obj\systick.pbi + $PROJ_DIR$\..\obj\timer.pbi + $PROJ_DIR$\..\obj\uart.pbi + $PROJ_DIR$\..\obj\udma.pbi + $PROJ_DIR$\..\obj\usb.pbi + $PROJ_DIR$\..\obj\watchdog.pbi + $TOOLKIT_DIR$\inc\c\stdint.h + $TOOLKIT_DIR$\inc\c\stdbool.h + $TOOLKIT_DIR$\inc\c\yvals.h + $TOOLKIT_DIR$\inc\c\ycheck.h + $TOOLKIT_DIR$\inc\c\DLib_Defaults.h + $TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h + $TOOLKIT_DIR$\inc\c\DLib_Product.h + $TOOLKIT_DIR$\inc\c\xencoding_limits.h + $TOOLKIT_DIR$\inc\c\DLib_Threads.h + $PROJ_DIR$\..\obj\boot.o + $PROJ_DIR$\..\obj\irq.o + $PROJ_DIR$\..\obj\led.o + $PROJ_DIR$\..\obj\main.o + $TOOLKIT_DIR$\inc\c\time.h + $TOOLKIT_DIR$\inc\c\ysizet.h + $PROJ_DIR$\..\obj\hooks.o + $PROJ_DIR$\..\obj\hooks.pbi + $PROJ_DIR$\..\obj\assert.o + $PROJ_DIR$\..\obj\backdoor.o + $PROJ_DIR$\..\obj\com.o + $PROJ_DIR$\..\obj\cop.o + $PROJ_DIR$\..\obj\file.o + $PROJ_DIR$\..\obj\xcp.o + $PROJ_DIR$\..\obj\assert.pbi + $PROJ_DIR$\..\obj\backdoor.pbi + $PROJ_DIR$\..\obj\com.pbi + $PROJ_DIR$\..\obj\cop.pbi + $PROJ_DIR$\..\obj\file.pbi + $PROJ_DIR$\..\obj\xcp.pbi + $TOOLKIT_DIR$\inc\c\DLib_Product_string.h + $TOOLKIT_DIR$\inc\c\string.h + $TOOLKIT_DIR$\inc\c\ctype.h + $PROJ_DIR$\..\obj\nvm.pbi + $TOOLKIT_DIR$\inc\c\xlocale.h + $PROJ_DIR$\..\obj\usbdbulk.o + $PROJ_DIR$\..\lib\driverlib\usblib.c + $PROJ_DIR$\..\lib\driverlib\usblib.h + $PROJ_DIR$\..\obj\usbbuffer.o + $PROJ_DIR$\..\obj\ssi.pbi + $PROJ_DIR$\..\obj\sw_crc.pbi + $PROJ_DIR$\..\obj\sysctl.pbi + $TOOLKIT_DIR$\lib\shb_l.a + $TOOLKIT_DIR$\lib\rt7M_tl.a + $TOOLKIT_DIR$\lib\m7M_tlv.a + $PROJ_DIR$\..\obj\usbdcdesc.o + $PROJ_DIR$\..\obj\usbdcomp.o + $PROJ_DIR$\..\obj\usbdconfig.o + $PROJ_DIR$\..\obj\usbddfu-rt.o + $PROJ_DIR$\..\obj\usbdenum.o + $PROJ_DIR$\..\obj\usbdhandler.o + $PROJ_DIR$\..\obj\usbdhid.o + $PROJ_DIR$\..\obj\usbdhidkeyb.o + $PROJ_DIR$\..\obj\usbdhidmouse.o + $PROJ_DIR$\..\obj\usbdmsc.o + $PROJ_DIR$\..\obj\usbdaudio.pbi + $PROJ_DIR$\..\obj\usbdbulk.pbi + $PROJ_DIR$\..\obj\usbdcdc.pbi + $PROJ_DIR$\..\obj\usbdcdesc.pbi + $PROJ_DIR$\..\obj\usbdcomp.pbi + $PROJ_DIR$\..\obj\usbdconfig.pbi + $PROJ_DIR$\..\obj\usbddfu-rt.pbi + $PROJ_DIR$\..\obj\usbdenum.pbi + $PROJ_DIR$\..\obj\usbdhandler.pbi + $PROJ_DIR$\..\obj\usbdhid.pbi + $PROJ_DIR$\..\obj\usbdhidkeyb.pbi + $PROJ_DIR$\..\obj\usbdhidmouse.pbi + $PROJ_DIR$\..\obj\usbdmsc.pbi + $PROJ_DIR$\..\obj\usbhaudio.o + $PROJ_DIR$\..\obj\usbhhid.o + $PROJ_DIR$\..\obj\usbhhidmouse.o + $PROJ_DIR$\..\obj\usbhhidkeyboard.o + $PROJ_DIR$\..\obj\usbhhub.o + $TOOLKIT_DIR$\lib\dl7M_tln.a + $PROJ_DIR$\..\obj\openblt_dk_tm4c123g.map + $PROJ_DIR$\..\obj\buttons.pbi + $PROJ_DIR$\..\obj\cfal96x64x16.pbi + $PROJ_DIR$\..\obj\clocksetwidget.pbi + $PROJ_DIR$\..\obj\fat_usbmsc.pbi + $PROJ_DIR$\..\boot.c + $PROJ_DIR$\..\boot.h + $PROJ_DIR$\..\cstart.s + $PROJ_DIR$\..\header.h + $PROJ_DIR$\..\irq.c + $PROJ_DIR$\..\irq.h + $PROJ_DIR$\..\led.c + $PROJ_DIR$\..\led.h + $PROJ_DIR$\..\obj\fat_usbmsc.o + $PROJ_DIR$\..\obj\flashstore.o + $PROJ_DIR$\..\obj\startup_ewarm.pbi + $PROJ_DIR$\..\obj\slidemenuwidget.pbi + $PROJ_DIR$\..\obj\uartstdio.pbi + $PROJ_DIR$\..\obj\usbserial.pbi + $PROJ_DIR$\..\obj\usb_serial_structs.pbi + $PROJ_DIR$\..\obj\usbstick.pbi + $PROJ_DIR$\..\obj\tm4c123g.pbd + $PROJ_DIR$\..\bin\openblt_dk_tm4c123g.bin + $PROJ_DIR$\..\obj\ustdlib.pbi + $PROJ_DIR$\..\bin\openblt_dk_tm4c123g.out + $PROJ_DIR$\..\obj\stripchartmanager.pbi + $PROJ_DIR$\..\obj\stripchartwidget.pbi + $PROJ_DIR$\..\obj\menus.o + $PROJ_DIR$\..\obj\qs-logger.o + $PROJ_DIR$\..\obj\slidemenuwidget.o + $PROJ_DIR$\..\obj\usbdrv.o + $PROJ_DIR$\..\obj\usbdrv.pbi + $PROJ_DIR$\..\obj\usbhostenum.o + $PROJ_DIR$\..\obj\usbhmsc.o + $PROJ_DIR$\..\obj\usbhscsi.o + $PROJ_DIR$\..\obj\usbhaudio.pbi + $PROJ_DIR$\..\obj\usbhhid.pbi + $PROJ_DIR$\..\obj\usbhhidkeyboard.pbi + $PROJ_DIR$\..\obj\usbhhidmouse.pbi + $PROJ_DIR$\..\obj\usbhhub.pbi + $PROJ_DIR$\..\obj\usbhmsc.pbi + $PROJ_DIR$\..\obj\usbhostenum.pbi + $PROJ_DIR$\..\obj\usbhscsi.pbi + $PROJ_DIR$\..\obj\usb_bulk_structs.o + $PROJ_DIR$\..\obj\usb_bulk_structs.pbi + $PROJ_DIR$\..\obj\usbdaudio.o + $PROJ_DIR$\..\obj\usbdcdc.o + $PROJ_DIR$\..\obj\usbdesc.o + $PROJ_DIR$\..\obj\usbdma.o + $PROJ_DIR$\..\obj\usbkeyboardmap.o + $PROJ_DIR$\..\obj\usbmode.o + $PROJ_DIR$\..\obj\usbringbuf.o + $PROJ_DIR$\..\obj\usbtick.o + $PROJ_DIR$\..\obj\usbbuffer.pbi + $PROJ_DIR$\..\obj\usbdesc.pbi + $PROJ_DIR$\..\obj\usbdma.pbi + $PROJ_DIR$\..\obj\usbkeyboardmap.pbi + $PROJ_DIR$\..\obj\usbmode.pbi + $PROJ_DIR$\..\obj\usbringbuf.pbi + $PROJ_DIR$\..\obj\usbtick.pbi + $PROJ_DIR$\..\obj\usblib.o + $PROJ_DIR$\..\obj\usblib.pbi + $PROJ_DIR$\..\obj\comp.pbi + $PROJ_DIR$\..\obj\cpu.pbi + $PROJ_DIR$\..\obj\eeprom.pbi + $PROJ_DIR$\..\obj\flash.pbi + $PROJ_DIR$\..\obj\fpu.pbi + $PROJ_DIR$\..\obj\gpio.pbi + $PROJ_DIR$\..\obj\hibernate.pbi + $TOOLKIT_DIR$\inc\c\xtls.h + $TOOLKIT_DIR$\inc\c\xmtx.h + $TOOLKIT_DIR$\inc\c\stdlib.h + $TOOLKIT_DIR$\inc\c\xlocaleuse.h + $TOOLKIT_DIR$\inc\c\xlocale_c.h + $TOOLKIT_DIR$\inc\c\wchar.h + $PROJ_DIR$\..\obj\nvm.o + $PROJ_DIR$\..\obj\cpulib.o + $PROJ_DIR$\..\obj\cpulib.pbi + $PROJ_DIR$\..\obj\timerlib.o + $PROJ_DIR$\..\obj\timerlib.pbi + $PROJ_DIR$\..\obj\flashlib.o + $PROJ_DIR$\..\obj\flashlib.pbi + $PROJ_DIR$\..\obj\uartlib.o + $PROJ_DIR$\..\obj\uartlib.pbi + $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\option\ccsbcs.c + $PROJ_DIR$\..\obj\unicode.pbi + $PROJ_DIR$\..\obj\unicode.o + $TOOLKIT_DIR$\inc\c\stdarg.h + $PROJ_DIR$\..\obj\mmc.pbi + $PROJ_DIR$\..\obj\mmc.o + $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR\memory.x $PROJ_DIR$\..\obj\cstart.o $PROJ_DIR$\..\lib\driverlib\timer.h $PROJ_DIR$\..\lib\driverlib\timer.c @@ -156,38 +355,6 @@ $PROJ_DIR$\..\obj\watchdog.o $PROJ_DIR$\..\obj\adc.pbi $PROJ_DIR$\..\obj\can.pbi - $PROJ_DIR$\..\obj\comp.pbi - $PROJ_DIR$\..\obj\cpu.pbi - $PROJ_DIR$\..\obj\eeprom.pbi - $PROJ_DIR$\..\obj\flash.pbi - $PROJ_DIR$\..\obj\fpu.pbi - $PROJ_DIR$\..\obj\gpio.pbi - $PROJ_DIR$\..\obj\hibernate.pbi - $PROJ_DIR$\..\obj\i2c.pbi - $PROJ_DIR$\..\obj\interrupt.pbi - $PROJ_DIR$\..\obj\mpu.pbi - $PROJ_DIR$\..\obj\pwm.pbi - $PROJ_DIR$\..\obj\qei.pbi - $PROJ_DIR$\..\obj\ssi.pbi - $PROJ_DIR$\..\obj\sw_crc.pbi - $PROJ_DIR$\..\obj\sysctl.pbi - $TOOLKIT_DIR$\lib\shb_l.a - $TOOLKIT_DIR$\lib\rt7M_tl.a - $TOOLKIT_DIR$\lib\m7M_tlv.a - $TOOLKIT_DIR$\lib\dl7M_tln.a - $PROJ_DIR$\..\obj\openblt_dk_tm4c123g.map - $PROJ_DIR$\..\obj\buttons.pbi - $PROJ_DIR$\..\obj\cfal96x64x16.pbi - $PROJ_DIR$\..\obj\clocksetwidget.pbi - $PROJ_DIR$\..\obj\fat_usbmsc.pbi - $PROJ_DIR$\..\boot.c - $PROJ_DIR$\..\boot.h - $PROJ_DIR$\..\cstart.s - $PROJ_DIR$\..\header.h - $PROJ_DIR$\..\irq.c - $PROJ_DIR$\..\irq.h - $PROJ_DIR$\..\led.c - $PROJ_DIR$\..\led.h $PROJ_DIR$\..\time.c $PROJ_DIR$\..\time.h $PROJ_DIR$\..\vectors.c @@ -203,140 +370,99 @@ $PROJ_DIR$\..\drivers\slidemenuwidget.c $PROJ_DIR$\startup_ewarm.c $PROJ_DIR$\stripchartmanager.c - $PROJ_DIR$\..\..\..\..\third_party\fatfs\port\fat_usbmsc.c $PROJ_DIR$\..\drivers\stripchartwidget.c $PROJ_DIR$\..\..\..\..\utils\uartstdio.c $PROJ_DIR$\usb_serial_structs.c $PROJ_DIR$\usbserial.c $PROJ_DIR$\usbstick.c + $PROJ_DIR$\..\..\..\..\third_party\fatfs\port\fat_usbmsc.c $PROJ_DIR$\..\..\..\..\utils\ustdlib.c $PROJ_DIR$\..\obj\images.o $PROJ_DIR$\..\obj\buttons.o $PROJ_DIR$\..\obj\clocksetwidget.o $PROJ_DIR$\..\obj\acquire.o $PROJ_DIR$\..\obj\cfal96x64x16.o - $PROJ_DIR$\..\obj\fat_usbmsc.o - $PROJ_DIR$\..\obj\flashstore.o - $PROJ_DIR$\..\obj\startup_ewarm.pbi - $PROJ_DIR$\..\obj\slidemenuwidget.pbi - $PROJ_DIR$\..\obj\uartstdio.pbi - $PROJ_DIR$\..\obj\usbserial.pbi - $PROJ_DIR$\..\obj\usb_serial_structs.pbi - $PROJ_DIR$\..\obj\usbstick.pbi - $PROJ_DIR$\..\obj\tm4c123g.pbd - $PROJ_DIR$\..\bin\openblt_dk_tm4c123g.bin - $PROJ_DIR$\..\obj\ustdlib.pbi - $PROJ_DIR$\..\bin\openblt_dk_tm4c123g.out - $PROJ_DIR$\..\obj\stripchartmanager.pbi - $PROJ_DIR$\..\obj\stripchartwidget.pbi - $PROJ_DIR$\..\obj\menus.o - $PROJ_DIR$\..\obj\qs-logger.o - $PROJ_DIR$\..\obj\slidemenuwidget.o - $PROJ_DIR$\..\obj\ff.o - $PROJ_DIR$\..\obj\stripchartmanager.o - $PROJ_DIR$\..\obj\stripchartwidget.o - $PROJ_DIR$\..\obj\startup_ewarm.o - $PROJ_DIR$\..\obj\uartstdio.o - $PROJ_DIR$\..\obj\usb_serial_structs.o - $PROJ_DIR$\..\obj\usbserial.o - $PROJ_DIR$\..\obj\usbstick.o - $PROJ_DIR$\..\obj\ustdlib.o - $PROJ_DIR$\..\obj\acquire.pbi - $PROJ_DIR$\..\obj\ff.pbi - $PROJ_DIR$\..\obj\flashstore.pbi - $PROJ_DIR$\..\obj\images.pbi - $PROJ_DIR$\..\obj\menus.pbi - $PROJ_DIR$\..\obj\qs-logger.pbi - $PROJ_DIR$\..\obj\sysexc.pbi - $PROJ_DIR$\..\obj\systick.pbi - $PROJ_DIR$\..\obj\timer.pbi - $PROJ_DIR$\..\obj\uart.pbi - $PROJ_DIR$\..\obj\udma.pbi - $PROJ_DIR$\..\obj\usb.pbi - $PROJ_DIR$\..\obj\watchdog.pbi - $TOOLKIT_DIR$\inc\c\stdint.h - $TOOLKIT_DIR$\inc\c\stdbool.h - $TOOLKIT_DIR$\inc\c\yvals.h - $TOOLKIT_DIR$\inc\c\ycheck.h - $TOOLKIT_DIR$\inc\c\DLib_Defaults.h - $TOOLKIT_DIR$\inc\c\DLib_Config_Normal.h - $TOOLKIT_DIR$\inc\c\DLib_Product.h - $TOOLKIT_DIR$\inc\c\xencoding_limits.h - $TOOLKIT_DIR$\inc\c\DLib_Threads.h - $PROJ_DIR$\..\obj\boot.o - $PROJ_DIR$\..\obj\irq.o - $PROJ_DIR$\..\obj\led.o - $PROJ_DIR$\..\obj\main.o - $TOOLKIT_DIR$\inc\c\time.h - $TOOLKIT_DIR$\inc\c\ysizet.h - $PROJ_DIR$\..\obj\hooks.o - $PROJ_DIR$\..\obj\hooks.pbi - $PROJ_DIR$\..\..\..\..\Source\ARMCM3_LM3S\cpu.h - $PROJ_DIR$\..\..\..\..\Source\ARMCM3_LM3S\uart.h - $PROJ_DIR$\..\..\..\..\Source\ARMCM3_LM3S\nvm.h - $PROJ_DIR$\..\..\..\..\Source\ARMCM3_LM3S\flash.h - $PROJ_DIR$\..\obj\assert.o - $PROJ_DIR$\..\..\..\..\Source\ARMCM3_LM3S\types.h - $PROJ_DIR$\..\..\..\..\Source\ARMCM3_LM3S\timer.h - $PROJ_DIR$\..\obj\backdoor.o - $PROJ_DIR$\..\obj\com.o - $PROJ_DIR$\..\obj\cop.o - $PROJ_DIR$\..\obj\file.o - $PROJ_DIR$\..\obj\xcp.o - $PROJ_DIR$\..\obj\assert.pbi - $PROJ_DIR$\..\obj\backdoor.pbi - $PROJ_DIR$\..\obj\com.pbi - $PROJ_DIR$\..\obj\cop.pbi - $PROJ_DIR$\..\obj\file.pbi - $PROJ_DIR$\..\obj\xcp.pbi - $TOOLKIT_DIR$\inc\c\DLib_Product_string.h - $TOOLKIT_DIR$\inc\c\string.h - $TOOLKIT_DIR$\inc\c\ctype.h - $PROJ_DIR$\..\obj\nvm.pbi - $TOOLKIT_DIR$\inc\c\xlocale.h - $TOOLKIT_DIR$\inc\c\xtls.h - $TOOLKIT_DIR$\inc\c\xmtx.h - $TOOLKIT_DIR$\inc\c\stdlib.h - $TOOLKIT_DIR$\inc\c\xlocaleuse.h - $TOOLKIT_DIR$\inc\c\xlocale_c.h - $TOOLKIT_DIR$\inc\c\wchar.h - $PROJ_DIR$\..\obj\nvm.o - $PROJ_DIR$\..\obj\cpulib.o - $PROJ_DIR$\..\obj\cpulib.pbi - $PROJ_DIR$\..\obj\timerlib.o - $PROJ_DIR$\..\obj\timerlib.pbi - $PROJ_DIR$\..\obj\flashlib.o - $PROJ_DIR$\..\obj\flashlib.pbi - $PROJ_DIR$\..\obj\uartlib.o - $PROJ_DIR$\..\obj\uartlib.pbi - $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\option\ccsbcs.c - $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR\memory.x - $PROJ_DIR$\..\obj\unicode.pbi - $PROJ_DIR$\..\obj\unicode.o - $TOOLKIT_DIR$\inc\c\stdarg.h - $PROJ_DIR$\..\obj\mmc.pbi - $PROJ_DIR$\..\obj\mmc.o + $PROJ_DIR$\..\obj\i2c.pbi + $PROJ_DIR$\..\obj\interrupt.pbi + $PROJ_DIR$\..\obj\mpu.pbi + $PROJ_DIR$\..\obj\pwm.pbi + $PROJ_DIR$\..\obj\qei.pbi + $PROJ_DIR$\..\lib\driverlib\rom_map.h + $PROJ_DIR$\..\lib\driverlib\rtos_bindings.h + $PROJ_DIR$\..\lib\driverlib\ssi.c + $PROJ_DIR$\..\lib\driverlib\ssi.h + $PROJ_DIR$\..\lib\driverlib\sw_crc.c + $PROJ_DIR$\..\lib\driverlib\sw_crc.h + $PROJ_DIR$\..\lib\driverlib\sysctl.c + $PROJ_DIR$\..\lib\driverlib\sysctl.h + $PROJ_DIR$\..\lib\driverlib\sysexc.c + $PROJ_DIR$\..\lib\driverlib\sysexc.h + $PROJ_DIR$\..\lib\driverlib\systick.c + $PROJ_DIR$\..\lib\driverlib\systick.h + $PROJ_DIR$\..\lib\driverlib\timerlib.c + $PROJ_DIR$\..\lib\driverlib\timerlib.h + $PROJ_DIR$\..\lib\driverlib\uartlib.c + $PROJ_DIR$\..\lib\driverlib\uartlib.h + $PROJ_DIR$\..\lib\driverlib\udma.c + $PROJ_DIR$\..\lib\driverlib\udma.h + $PROJ_DIR$\..\lib\driverlib\usbdrv.c + $PROJ_DIR$\..\lib\driverlib\usbdrv.h + $PROJ_DIR$\..\lib\driverlib\watchdog.c + $PROJ_DIR$\..\lib\driverlib\watchdog.h + $PROJ_DIR$\..\lib\fatfs\ffconf.h + $PROJ_DIR$\..\lib\fatfs\mmc.c + $PROJ_DIR$\..\lib\inc\hw_adc.h + $PROJ_DIR$\..\lib\inc\hw_can.h + $PROJ_DIR$\..\lib\inc\hw_comp.h + $PROJ_DIR$\..\lib\inc\hw_eeprom.h + $PROJ_DIR$\..\lib\inc\hw_flash.h + $PROJ_DIR$\..\lib\inc\hw_gpio.h + $PROJ_DIR$\..\lib\inc\hw_hibernate.h + $PROJ_DIR$\..\lib\inc\hw_i2c.h + $PROJ_DIR$\..\lib\inc\hw_ints.h + $PROJ_DIR$\..\lib\inc\hw_memmap.h + $PROJ_DIR$\..\lib\inc\hw_nvic.h + $PROJ_DIR$\..\lib\inc\hw_pwm.h + $PROJ_DIR$\..\lib\inc\hw_qei.h + $PROJ_DIR$\..\lib\inc\hw_ssi.h + $PROJ_DIR$\..\lib\inc\hw_sysctl.h + $PROJ_DIR$\..\lib\inc\hw_sysexc.h + $PROJ_DIR$\..\lib\inc\hw_timer.h + $PROJ_DIR$\..\lib\inc\hw_types.h + $PROJ_DIR$\..\lib\inc\hw_uart.h + $PROJ_DIR$\..\lib\inc\hw_udma.h + $PROJ_DIR$\..\lib\inc\hw_usb.h + $PROJ_DIR$\..\lib\inc\hw_watchdog.h + $PROJ_DIR$\..\lib\usblib\config\usb_bulk_structs.c + $PROJ_DIR$\..\lib\usblib\config\usb_bulk_structs.h + $PROJ_DIR$\..\lib\usblib\device\usbdaudio.c + $PROJ_DIR$\..\lib\usblib\device\usbdaudio.h + $PROJ_DIR$\..\lib\usblib\device\usbdbulk.c + $PROJ_DIR$\..\lib\usblib\device\usbdbulk.h + $PROJ_DIR$\..\lib\usblib\device\usbdcdc.c + $PROJ_DIR$\..\lib\usblib\device\usbdcdc.h + $PROJ_DIR$\..\lib\usblib\device\usbdcdesc.c $PROJ_DIR$\..\lib\driverlib\adc.c - BICOMP - 148 + ICCARM + 312 - ICCARM - 113 + BICOMP + 347 - BICOMP - 249 248 251 250 252 253 254 255 256 50 58 59 67 64 1 8 22 + ICCARM + 146 145 148 147 149 150 151 152 153 405 413 414 422 419 3 8 22 - ICCARM - 249 248 251 250 252 253 254 255 256 50 58 59 67 64 1 8 22 + BICOMP + 146 145 148 147 149 150 151 152 153 405 413 414 422 419 3 8 22 @@ -344,22 +470,22 @@ $PROJ_DIR$\..\lib\driverlib\can.c - BICOMP - 149 + ICCARM + 324 - ICCARM - 125 + BICOMP + 348 - BICOMP - 249 248 251 250 252 253 254 255 256 51 58 60 59 64 67 2 8 22 + ICCARM + 146 145 148 147 149 150 151 152 153 406 413 415 414 419 422 1 8 22 - ICCARM - 249 248 251 250 252 253 254 255 256 51 58 60 59 64 67 2 8 22 + BICOMP + 146 145 148 147 149 150 151 152 153 406 413 415 414 419 422 1 8 22 @@ -367,22 +493,22 @@ $PROJ_DIR$\..\lib\driverlib\comp.c - BICOMP - 150 + ICCARM + 325 - ICCARM - 126 + BICOMP + 280 - BICOMP - 249 248 251 250 252 253 254 255 256 52 58 59 67 5 8 22 + ICCARM + 146 145 148 147 149 150 151 152 153 407 413 414 422 5 8 22 - ICCARM - 249 248 251 250 252 253 254 255 256 52 58 59 67 5 8 22 + BICOMP + 146 145 148 147 149 150 151 152 153 407 413 414 422 5 8 22 @@ -390,22 +516,22 @@ $PROJ_DIR$\..\lib\driverlib\cpulib.c - BICOMP - 296 + ICCARM + 294 - ICCARM + BICOMP 295 - BICOMP - 248 251 250 252 253 254 255 256 7 + ICCARM + 145 148 147 149 150 151 152 153 7 - ICCARM - 248 251 250 252 253 254 255 256 7 + BICOMP + 145 148 147 149 150 151 152 153 7 @@ -413,22 +539,22 @@ $PROJ_DIR$\..\lib\driverlib\eeprom.c - BICOMP - 152 + ICCARM + 327 - ICCARM - 128 + BICOMP + 282 - BICOMP - 249 248 251 250 252 253 254 255 256 53 54 58 64 67 8 12 22 34 10 + ICCARM + 146 145 148 147 149 150 151 152 153 408 409 413 419 422 8 12 22 388 10 - ICCARM - 249 248 251 250 252 253 254 255 256 53 54 58 64 67 8 12 22 34 10 + BICOMP + 146 145 148 147 149 150 151 152 153 408 409 413 419 422 8 12 22 388 10 @@ -436,22 +562,22 @@ $PROJ_DIR$\..\lib\driverlib\flashlib.c - BICOMP - 300 + ICCARM + 298 - ICCARM + BICOMP 299 - BICOMP - 249 248 251 250 252 253 254 255 256 54 58 64 67 8 12 22 + ICCARM + 146 145 148 147 149 150 151 152 153 409 413 419 422 8 12 22 - ICCARM - 249 248 251 250 252 253 254 255 256 54 58 64 67 8 12 22 + BICOMP + 146 145 148 147 149 150 151 152 153 409 413 419 422 8 12 22 @@ -459,22 +585,22 @@ $PROJ_DIR$\..\lib\driverlib\fpu.c - BICOMP - 154 + ICCARM + 329 - ICCARM - 130 + BICOMP + 284 - BICOMP - 248 251 250 252 253 254 255 256 60 67 14 + ICCARM + 145 148 147 149 150 151 152 153 415 422 14 - ICCARM - 248 251 250 252 253 254 255 256 60 67 14 + BICOMP + 145 148 147 149 150 151 152 153 415 422 14 @@ -482,22 +608,22 @@ $PROJ_DIR$\..\lib\driverlib\gpio.c - BICOMP - 155 + ICCARM + 330 - ICCARM - 131 + BICOMP + 285 - BICOMP - 249 248 251 250 252 253 254 255 256 55 58 59 64 67 8 16 22 + ICCARM + 146 145 148 147 149 150 151 152 153 410 413 414 419 422 8 16 22 - ICCARM - 249 248 251 250 252 253 254 255 256 55 58 59 64 67 8 16 22 + BICOMP + 146 145 148 147 149 150 151 152 153 410 413 414 419 422 8 16 22 @@ -505,22 +631,22 @@ $PROJ_DIR$\..\lib\driverlib\hibernate.c - BICOMP - 156 + ICCARM + 331 - ICCARM - 132 + BICOMP + 286 - BICOMP - 249 248 251 250 252 253 254 255 256 261 262 56 58 64 67 8 18 22 34 + ICCARM + 146 145 148 147 149 150 151 152 153 158 159 411 413 419 422 8 18 22 388 - ICCARM - 249 248 251 250 252 253 254 255 256 261 262 56 58 64 67 8 18 22 34 + BICOMP + 146 145 148 147 149 150 151 152 153 158 159 411 413 419 422 8 18 22 388 @@ -528,22 +654,22 @@ $PROJ_DIR$\..\lib\driverlib\i2c.c - BICOMP - 157 + ICCARM + 332 - ICCARM - 133 + BICOMP + 376 - BICOMP - 249 248 251 250 252 253 254 255 256 57 58 59 64 67 8 20 22 + ICCARM + 146 145 148 147 149 150 151 152 153 412 413 414 419 422 8 20 22 - ICCARM - 249 248 251 250 252 253 254 255 256 57 58 59 64 67 8 20 22 + BICOMP + 146 145 148 147 149 150 151 152 153 412 413 414 419 422 8 20 22 @@ -551,22 +677,22 @@ $PROJ_DIR$\..\lib\driverlib\interrupt.c - BICOMP - 158 + ICCARM + 333 - ICCARM - 134 + BICOMP + 377 - BICOMP - 249 248 251 250 252 253 254 255 256 58 60 67 7 8 22 + ICCARM + 146 145 148 147 149 150 151 152 153 413 415 422 7 8 22 - ICCARM - 249 248 251 250 252 253 254 255 256 58 60 67 7 8 22 + BICOMP + 146 145 148 147 149 150 151 152 153 413 415 422 7 8 22 @@ -574,22 +700,22 @@ $PROJ_DIR$\..\lib\driverlib\mpu.c - BICOMP - 159 + ICCARM + 334 - ICCARM - 135 + BICOMP + 378 - BICOMP - 249 248 251 250 252 253 254 255 256 58 60 67 8 22 24 + ICCARM + 146 145 148 147 149 150 151 152 153 413 415 422 8 22 24 - ICCARM - 249 248 251 250 252 253 254 255 256 58 60 67 8 22 24 + BICOMP + 146 145 148 147 149 150 151 152 153 413 415 422 8 22 24 @@ -597,307 +723,597 @@ $PROJ_DIR$\..\lib\driverlib\pwm.c - BICOMP - 160 + ICCARM + 335 - ICCARM - 136 + BICOMP + 379 - BICOMP - 249 248 251 250 252 253 254 255 256 58 59 61 64 67 8 22 26 + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 416 419 422 8 22 27 - ICCARM - 249 248 251 250 252 253 254 255 256 58 59 61 64 67 8 22 26 + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 416 419 422 8 22 27 - - [ROOT_NODE] - - - ILINK - 220 169 - - - $PROJ_DIR$\..\lib\driverlib\qei.c - BICOMP - 161 + ICCARM + 336 - ICCARM - 137 + BICOMP + 380 - BICOMP - 249 248 251 250 252 253 254 255 256 58 59 62 67 64 8 22 28 + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 417 422 419 8 22 29 - ICCARM - 249 248 251 250 252 253 254 255 256 58 59 62 67 64 8 22 28 + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 417 422 419 8 22 29 - $PROJ_DIR$\..\lib\driverlib\ssi.c + $PROJ_DIR$\..\lib\usblib\device\usbdcomp.c - BICOMP - 162 + ICCARM + 190 - ICCARM - 138 + BICOMP + 203 - BICOMP - 249 248 251 250 252 253 254 255 256 58 59 63 64 67 8 22 30 + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 8 388 30 381 400 74 75 65 68 37 38 434 32 - ICCARM - 249 248 251 250 252 253 254 255 256 58 59 63 64 67 8 22 30 + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 8 388 30 381 400 74 75 65 68 37 38 434 32 - $PROJ_DIR$\..\lib\driverlib\sw_crc.c + $PROJ_DIR$\..\lib\usblib\device\usbdconfig.c - BICOMP - 163 + ICCARM + 191 - ICCARM - 139 + BICOMP + 204 - BICOMP - 248 251 250 252 253 254 255 256 32 + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 8 400 74 75 37 38 - ICCARM - 248 251 250 252 253 254 255 256 32 + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 8 400 74 75 37 38 - $PROJ_DIR$\..\lib\driverlib\sysctl.c + $PROJ_DIR$\..\lib\usblib\device\usbddfu-rt.c - BICOMP - 164 + ICCARM + 192 - ICCARM - 140 + BICOMP + 205 - BICOMP - 249 248 251 250 252 253 254 255 256 58 60 64 67 54 7 8 22 34 + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 415 8 400 388 392 22 30 381 74 75 70 65 37 38 35 - ICCARM - 249 248 251 250 252 253 254 255 256 58 60 64 67 54 7 8 22 34 + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 415 8 400 388 392 22 30 381 74 75 70 65 37 38 35 - $PROJ_DIR$\..\lib\driverlib\sysexc.c + $PROJ_DIR$\..\lib\usblib\device\usbdenum.c - BICOMP - 241 + ICCARM + 193 - ICCARM - 141 + BICOMP + 206 - BICOMP - 249 248 251 250 252 253 254 255 256 58 64 65 67 8 22 + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 422 419 8 22 30 381 388 400 382 74 75 37 38 - ICCARM - 249 248 251 250 252 253 254 255 256 58 64 65 67 8 22 + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 422 419 8 22 30 381 388 400 382 74 75 37 38 - $PROJ_DIR$\..\lib\driverlib\systick.c + $PROJ_DIR$\..\lib\usblib\device\usbdhandler.c - BICOMP - 242 + ICCARM + 194 - ICCARM - 142 + BICOMP + 207 - BICOMP - 249 248 251 250 252 253 254 255 256 58 60 67 8 22 37 + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 30 381 400 74 75 37 38 - ICCARM - 249 248 251 250 252 253 254 255 256 58 60 67 8 22 37 + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 30 381 400 74 75 37 38 - $PROJ_DIR$\..\lib\driverlib\timerlib.c + $PROJ_DIR$\..\lib\usblib\device\usbdhid.c - BICOMP - 298 + ICCARM + 195 - ICCARM - 297 + BICOMP + 208 - BICOMP - 249 248 251 250 252 253 254 255 256 58 59 66 67 8 22 39 + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 8 400 30 381 74 75 72 37 38 41 - ICCARM - 249 248 251 250 252 253 254 255 256 58 59 66 67 8 22 39 + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 8 400 30 381 74 75 72 37 38 41 - $PROJ_DIR$\..\lib\driverlib\uartlib.c + $PROJ_DIR$\..\lib\usblib\device\usbdhidkeyb.c - BICOMP - 302 + ICCARM + 196 - ICCARM - 301 + BICOMP + 209 - BICOMP - 249 248 251 250 252 253 254 255 256 58 59 64 67 68 8 22 41 + ICCARM + 146 145 148 147 149 150 151 152 153 422 8 400 74 75 37 38 72 41 43 - ICCARM - 249 248 251 250 252 253 254 255 256 58 59 64 67 68 8 22 41 + BICOMP + 146 145 148 147 149 150 151 152 153 422 8 400 74 75 37 38 72 41 43 - $PROJ_DIR$\..\lib\driverlib\udma.c + $PROJ_DIR$\..\lib\usblib\device\usbdhidmouse.c - BICOMP - 245 + ICCARM + 197 - ICCARM - 145 + BICOMP + 210 - BICOMP - 249 248 251 250 252 253 254 255 256 64 67 69 8 22 43 + ICCARM + 146 145 148 147 149 150 151 152 153 422 8 400 74 75 37 38 72 41 45 - ICCARM - 249 248 251 250 252 253 254 255 256 64 67 69 8 22 43 + BICOMP + 146 145 148 147 149 150 151 152 153 422 8 400 74 75 37 38 72 41 45 - $PROJ_DIR$\..\lib\driverlib\usb.c + $PROJ_DIR$\..\lib\usblib\device\usbdmsc.c - BICOMP - 246 + ICCARM + 198 - ICCARM - 146 + BICOMP + 211 - BICOMP - 249 248 251 250 252 253 254 255 256 58 59 67 64 70 8 22 34 43 45 + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 8 30 381 388 400 74 75 77 37 38 47 - ICCARM - 249 248 251 250 252 253 254 255 256 58 59 67 64 70 8 22 34 43 45 + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 8 30 381 388 400 74 75 77 37 38 47 - $PROJ_DIR$\..\lib\driverlib\watchdog.c + $PROJ_DIR$\..\lib\usblib\host\usbhaudio.c - BICOMP - 247 + ICCARM + 212 - ICCARM - 147 + BICOMP + 253 - BICOMP - 249 248 251 250 252 253 254 255 256 58 59 67 71 8 22 47 + ICCARM + 146 145 148 147 149 150 151 152 153 422 400 74 75 66 60 62 49 - ICCARM - 249 248 251 250 252 253 254 255 256 58 59 67 71 8 22 47 + BICOMP + 146 145 148 147 149 150 151 152 153 422 400 74 75 66 60 62 49 - $PROJ_DIR$\..\lib\fatfs\mmc.c + $PROJ_DIR$\..\lib\usblib\host\usbhhid.c - BICOMP - 308 + ICCARM + 213 - ICCARM - 309 + BICOMP + 254 - BICOMP - 249 248 251 250 252 253 254 255 256 59 67 16 30 34 88 91 97 270 93 72 104 265 101 267 268 271 95 103 90 48 99 106 + ICCARM + 146 145 148 147 149 150 151 152 153 422 400 74 75 72 60 62 51 + + BICOMP + 146 145 148 147 149 150 151 152 153 422 400 74 75 72 60 62 51 + + + + + $PROJ_DIR$\..\lib\usblib\host\usbhhidkeyboard.c + ICCARM - 249 248 251 250 252 253 254 255 256 59 67 16 30 34 88 91 97 270 93 72 104 265 101 267 268 271 95 103 90 48 99 106 + 215 + + + BICOMP + 255 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 74 60 72 51 53 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 74 60 72 51 53 + + + + + $PROJ_DIR$\..\lib\usblib\host\usbhhidmouse.c + + + ICCARM + 214 + + + BICOMP + 256 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 74 60 72 51 55 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 74 60 72 51 55 + + + + + $PROJ_DIR$\..\lib\usblib\host\usbhhub.c + + + ICCARM + 216 + + + BICOMP + 257 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 413 419 400 22 381 382 74 60 62 57 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 413 419 400 22 381 382 74 60 62 57 + + + + + $PROJ_DIR$\..\lib\usblib\host\usbhmsc.c + + + ICCARM + 251 + + + BICOMP + 258 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 400 74 75 77 60 62 59 64 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 400 74 75 77 60 62 59 64 + + + + + $PROJ_DIR$\..\lib\usblib\host\usbhostenum.c + + + ICCARM + 250 + + + BICOMP + 259 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 419 422 30 381 8 22 388 400 382 74 75 60 62 57 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 419 422 30 381 8 22 388 400 382 74 75 60 62 57 + + + + + $PROJ_DIR$\..\lib\usblib\host\usbhscsi.c + + + ICCARM + 252 + + + BICOMP + 260 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 74 77 60 59 64 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 74 77 60 59 64 + + + + + $PROJ_DIR$\..\lib\usblib\usbbuffer.c + + + ICCARM + 182 + + + BICOMP + 271 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 8 74 75 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 8 74 75 + + + + + $PROJ_DIR$\..\lib\usblib\usbdesc.c + + + ICCARM + 265 + + + BICOMP + 272 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 74 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 74 + + + + + $PROJ_DIR$\..\lib\usblib\usbdma.c + + + ICCARM + 266 + + + BICOMP + 273 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 413 419 424 8 22 382 400 30 381 398 74 75 + + + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 413 419 424 8 22 382 400 30 381 398 74 75 + + + + + $PROJ_DIR$\..\lib\usblib\usbkeyboardmap.c + + + ICCARM + 267 + + + BICOMP + 274 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 74 72 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 74 72 + + + + + $PROJ_DIR$\..\lib\usblib\usbmode.c + + + ICCARM + 268 + + + BICOMP + 275 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 422 419 425 8 22 30 381 388 400 382 74 75 37 38 60 62 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 422 419 425 8 22 30 381 388 400 382 74 75 37 38 60 62 + + + + + $PROJ_DIR$\..\lib\usblib\usbringbuf.c + + + ICCARM + 269 + + + BICOMP + 276 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 8 22 74 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 8 22 74 + + + + + $PROJ_DIR$\..\lib\usblib\usbtick.c + + + ICCARM + 270 + + + BICOMP + 277 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 8 74 75 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 8 74 75 @@ -905,22 +1321,22 @@ $PROJ_DIR$\..\hooks.c - BICOMP - 264 + ICCARM + 160 - ICCARM - 263 + BICOMP + 161 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 249 248 251 250 252 253 254 255 256 59 67 41 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 414 422 396 388 16 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 249 248 251 250 252 253 254 255 256 59 67 41 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 414 422 396 388 16 @@ -928,22 +1344,22 @@ $PROJ_DIR$\..\main.c - BICOMP - 121 + ICCARM + 157 - ICCARM - 260 + BICOMP + 320 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 249 248 251 250 252 253 254 255 256 58 59 60 64 67 34 16 41 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 413 414 415 419 422 388 16 396 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 249 248 251 250 252 253 254 255 256 58 59 60 64 67 34 16 41 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 413 414 415 419 422 388 16 396 @@ -951,22 +1367,22 @@ $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR\vectors.c - BICOMP - 123 + ICCARM + 313 - ICCARM - 114 + BICOMP + 322 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 @@ -975,53 +1391,30 @@ AARM - 110 + 309 - - $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\option\unicode.c - - - BICOMP - 305 - - - ICCARM - 306 - - - - - BICOMP - 90 91 48 303 - - - ICCARM - 90 91 48 303 - - - $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\cpu.c - BICOMP - 151 + ICCARM + 326 - ICCARM - 127 + BICOMP + 281 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - ICCARM - 97 86 93 72 104 79 101 83 81 85 95 103 90 91 48 99 106 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 @@ -1029,22 +1422,45 @@ $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\flash.c - BICOMP - 153 + ICCARM + 328 - ICCARM - 129 + BICOMP + 283 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 249 248 251 250 252 253 254 255 256 59 67 12 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 414 422 12 + + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 414 422 12 + + + + + $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\option\unicode.c + ICCARM - 97 86 93 72 104 79 101 83 81 85 95 103 90 91 48 99 106 249 248 251 250 252 253 254 255 256 59 67 12 + 304 + + + BICOMP + 303 + + + + + ICCARM + 102 103 403 302 + + + BICOMP + 102 103 403 302 @@ -1052,22 +1468,22 @@ $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\nvm.c - BICOMP - 286 + ICCARM + 293 - ICCARM - 294 + BICOMP + 177 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - ICCARM - 97 86 93 72 104 79 101 83 81 85 95 103 90 91 48 99 106 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 @@ -1075,22 +1491,22 @@ $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\timer.c - BICOMP - 243 + ICCARM + 342 - ICCARM - 143 + BICOMP + 140 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - ICCARM - 97 86 93 72 104 79 101 83 81 85 95 103 90 91 48 99 106 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 @@ -1098,22 +1514,45 @@ $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\uart.c - BICOMP - 244 + ICCARM + 343 - ICCARM - 144 + BICOMP + 141 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 249 248 251 250 252 253 254 255 256 59 67 34 41 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 414 422 + + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 414 422 + + + + + $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\usb.c + ICCARM - 97 86 93 72 104 79 101 83 81 85 95 103 90 91 48 99 106 249 248 251 250 252 253 254 255 256 59 67 34 41 + 345 + + + BICOMP + 143 + + + + + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 74 37 38 432 428 + + + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 146 145 148 147 149 150 151 152 153 74 37 38 432 428 @@ -1121,22 +1560,22 @@ $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src\ff.c - BICOMP - 236 + ICCARM + 123 - ICCARM - 226 + BICOMP + 133 - BICOMP - 90 91 48 88 307 251 250 252 253 254 255 256 + ICCARM + 102 103 403 100 305 148 147 149 150 151 152 153 - ICCARM - 90 91 48 88 307 251 250 252 253 254 255 256 + BICOMP + 102 103 403 100 305 148 147 149 150 151 152 153 @@ -1144,22 +1583,22 @@ $PROJ_DIR$\..\..\..\..\Source\assert.c - BICOMP - 277 + ICCARM + 162 - ICCARM - 269 + BICOMP + 168 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 @@ -1167,22 +1606,22 @@ $PROJ_DIR$\..\..\..\..\Source\backdoor.c - BICOMP - 278 + ICCARM + 163 - ICCARM - 272 + BICOMP + 169 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 @@ -1190,22 +1629,22 @@ $PROJ_DIR$\..\..\..\..\Source\boot.c - BICOMP - 124 + ICCARM + 154 - ICCARM - 257 + BICOMP + 323 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 @@ -1213,22 +1652,22 @@ $PROJ_DIR$\..\..\..\..\Source\com.c - BICOMP - 279 + ICCARM + 164 - ICCARM - 273 + BICOMP + 170 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 266 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 99 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 266 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 99 @@ -1236,22 +1675,22 @@ $PROJ_DIR$\..\..\..\..\Source\cop.c - BICOMP - 280 + ICCARM + 165 - ICCARM - 274 + BICOMP + 171 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 @@ -1259,22 +1698,22 @@ $PROJ_DIR$\..\..\..\..\Source\file.c - BICOMP - 281 + ICCARM + 166 - ICCARM - 275 + BICOMP + 172 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 284 251 250 252 253 254 255 256 262 283 285 287 288 289 290 291 292 293 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 175 148 147 149 150 151 152 153 159 174 176 178 287 288 289 290 291 292 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 284 251 250 252 253 254 255 256 262 283 285 287 288 289 290 291 292 293 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 175 148 147 149 150 151 152 153 159 174 176 178 287 288 289 290 291 292 @@ -1282,133 +1721,96 @@ $PROJ_DIR$\..\..\..\..\Source\xcp.c - BICOMP - 282 + ICCARM + 167 - ICCARM - 276 + BICOMP + 173 - BICOMP - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + ICCARM + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - ICCARM - 97 270 93 72 104 265 101 267 268 271 95 103 90 91 48 99 106 + BICOMP + 109 95 105 80 116 87 113 92 90 94 107 115 102 103 403 111 118 - $PROJ_DIR$\..\lib\driverlib\timer.c + $PROJ_DIR$\..\lib\driverlib\usb.c - BICOMP - 243 + ICCARM + 345 - ICCARM + BICOMP 143 - BICOMP - 249 248 251 250 252 253 254 255 256 58 59 66 67 8 22 111 + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 422 419 425 8 22 388 398 119 - ICCARM - 249 248 251 250 252 253 254 255 256 58 59 66 67 8 22 111 + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 422 419 425 8 22 388 398 119 - $PROJ_DIR$\..\lib\driverlib\uart.c + $PROJ_DIR$\..\lib\driverlib\usblib.c - BICOMP - 244 + ICCARM + 278 - ICCARM - 144 + BICOMP + 279 - BICOMP - 249 248 251 250 252 253 254 255 256 58 59 64 67 68 8 22 116 + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 422 419 425 8 22 388 398 181 - ICCARM - 249 248 251 250 252 253 254 255 256 58 59 64 67 68 8 22 116 + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 422 419 425 8 22 388 398 181 - $PROJ_DIR$\..\lib\driverlib\cpu.c + [ROOT_NODE] - BICOMP - 151 - - - ICCARM - 127 + ILINK + 242 218 - - - BICOMP - 248 251 250 252 253 254 255 256 107 - - - ICCARM - 248 251 250 252 253 254 255 256 107 - - - - - $PROJ_DIR$\..\lib\driverlib\flash.c - - - BICOMP - 153 - - - ICCARM - 129 - - - - - BICOMP - 249 248 251 250 252 253 254 255 256 54 58 64 67 8 108 22 - - - ICCARM - 249 248 251 250 252 253 254 255 256 54 58 64 67 8 108 22 - - $PROJ_DIR$\..\boot.c - BICOMP - 124 + ICCARM + 154 - ICCARM - 257 + BICOMP + 323 ICCARM - 177 72 175 179 181 183 249 248 251 250 252 253 254 255 256 58 59 60 64 67 34 16 116 14 22 37 + 226 80 224 228 230 350 146 145 148 147 149 150 151 152 153 413 414 415 419 422 388 16 315 14 22 392 @@ -1417,7 +1819,7 @@ AARM - 110 + 309 @@ -1425,18 +1827,18 @@ $PROJ_DIR$\..\irq.c - BICOMP - 122 + ICCARM + 155 - ICCARM - 258 + BICOMP + 321 ICCARM - 177 72 175 179 181 183 249 248 251 250 252 253 254 255 256 58 59 60 64 67 34 16 116 14 22 37 + 226 80 224 228 230 350 146 145 148 147 149 150 151 152 153 413 414 415 419 422 388 16 315 14 22 392 @@ -1444,18 +1846,129 @@ $PROJ_DIR$\..\led.c - BICOMP - 119 + ICCARM + 156 - ICCARM - 259 + BICOMP + 318 ICCARM - 177 72 175 179 181 183 249 248 251 250 252 253 254 255 256 58 59 60 64 67 34 16 116 14 22 37 + 226 80 224 228 230 350 146 145 148 147 149 150 151 152 153 413 414 415 419 422 388 16 315 14 22 392 + + + + + $PROJ_DIR$\..\bin\openblt_dk_tm4c123g.out + + + ILINK + 218 + + + OBJCOPY + 240 + + + + + ILINK + 308 312 162 163 154 324 164 325 165 326 294 309 327 123 166 328 298 329 330 331 160 332 333 157 307 334 293 335 336 337 338 339 340 341 342 296 343 300 344 304 345 261 182 263 179 264 189 190 191 192 193 265 194 195 196 197 266 198 248 212 213 215 214 216 251 250 252 267 268 269 270 313 346 167 186 187 188 217 + + + + + $PROJ_DIR$\..\lib\driverlib\timer.c + + + ICCARM + 342 + + + BICOMP + 140 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 421 422 8 22 310 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 421 422 8 22 310 + + + + + $PROJ_DIR$\..\lib\driverlib\uart.c + + + ICCARM + 343 + + + BICOMP + 141 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 419 422 423 8 22 315 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 419 422 423 8 22 315 + + + + + $PROJ_DIR$\..\lib\driverlib\cpu.c + + + ICCARM + 326 + + + BICOMP + 281 + + + + + ICCARM + 145 148 147 149 150 151 152 153 121 + + + BICOMP + 145 148 147 149 150 151 152 153 121 + + + + + $PROJ_DIR$\..\lib\driverlib\flash.c + + + ICCARM + 328 + + + BICOMP + 283 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 409 413 419 422 8 120 22 + + + BICOMP + 146 145 148 147 149 150 151 152 153 409 413 419 422 8 120 22 @@ -1463,18 +1976,18 @@ $PROJ_DIR$\..\time.c - BICOMP - 120 + ICCARM + 85 - ICCARM - 109 + BICOMP + 319 ICCARM - 177 72 175 179 181 183 249 248 251 250 252 253 254 255 256 58 59 60 64 67 34 16 116 14 22 37 + 226 80 224 228 230 350 146 145 148 147 149 150 151 152 153 413 414 415 419 422 388 16 315 14 22 392 @@ -1482,18 +1995,18 @@ $PROJ_DIR$\..\vectors.c - BICOMP - 123 + ICCARM + 313 - ICCARM - 114 + BICOMP + 322 ICCARM - 177 72 175 179 181 183 249 248 251 250 252 253 254 255 256 58 59 60 64 67 34 16 116 14 22 37 + 226 80 224 228 230 350 146 145 148 147 149 150 151 152 153 413 414 415 419 422 388 16 315 14 22 392 @@ -1501,12 +2014,12 @@ $PROJ_DIR$\acquire.c - BICOMP - 235 + ICCARM + 374 - ICCARM - 207 + BICOMP + 132 @@ -1514,12 +2027,12 @@ $PROJ_DIR$\..\drivers\buttons.c - BICOMP - 170 + ICCARM + 372 - ICCARM - 205 + BICOMP + 219 @@ -1527,12 +2040,12 @@ $PROJ_DIR$\..\drivers\cfal96x64x16.c - BICOMP - 171 + ICCARM + 375 - ICCARM - 208 + BICOMP + 220 @@ -1540,12 +2053,12 @@ $PROJ_DIR$\..\..\..\..\third_party\fatfs\src\ff.c - BICOMP - 236 + ICCARM + 123 - ICCARM - 226 + BICOMP + 133 @@ -1553,12 +2066,12 @@ $PROJ_DIR$\clocksetwidget.c - BICOMP - 172 + ICCARM + 373 - ICCARM - 206 + BICOMP + 221 @@ -1566,12 +2079,12 @@ $PROJ_DIR$\images.c - BICOMP - 238 + ICCARM + 371 - ICCARM - 204 + BICOMP + 135 @@ -1579,12 +2092,12 @@ $PROJ_DIR$\menus.c - BICOMP - 239 + ICCARM + 245 - ICCARM - 223 + BICOMP + 136 @@ -1592,12 +2105,12 @@ $PROJ_DIR$\flashstore.c - BICOMP - 237 + ICCARM + 232 - ICCARM - 210 + BICOMP + 134 @@ -1605,12 +2118,12 @@ $PROJ_DIR$\qs-logger.c - BICOMP - 240 + ICCARM + 246 - ICCARM - 224 + BICOMP + 137 @@ -1618,12 +2131,12 @@ $PROJ_DIR$\..\drivers\slidemenuwidget.c - BICOMP - 212 + ICCARM + 247 - ICCARM - 225 + BICOMP + 234 @@ -1631,38 +2144,25 @@ $PROJ_DIR$\startup_ewarm.c - BICOMP - 211 + ICCARM + 126 - ICCARM - 229 + BICOMP + 233 $PROJ_DIR$\stripchartmanager.c - - BICOMP - 221 - ICCARM - 227 + 124 - - - - $PROJ_DIR$\..\..\..\..\third_party\fatfs\port\fat_usbmsc.c - BICOMP - 173 - - - ICCARM - 209 + 243 @@ -1670,12 +2170,12 @@ $PROJ_DIR$\..\drivers\stripchartwidget.c - BICOMP - 222 + ICCARM + 125 - ICCARM - 228 + BICOMP + 244 @@ -1683,12 +2183,12 @@ $PROJ_DIR$\..\..\..\..\utils\uartstdio.c - BICOMP - 213 + ICCARM + 127 - ICCARM - 230 + BICOMP + 235 @@ -1696,12 +2196,12 @@ $PROJ_DIR$\usb_serial_structs.c - BICOMP - 215 + ICCARM + 128 - ICCARM - 231 + BICOMP + 237 @@ -1709,12 +2209,12 @@ $PROJ_DIR$\usbserial.c - BICOMP - 214 + ICCARM + 129 - ICCARM - 232 + BICOMP + 236 @@ -1722,12 +2222,25 @@ $PROJ_DIR$\usbstick.c - BICOMP - 216 + ICCARM + 130 + + BICOMP + 238 + + + + + $PROJ_DIR$\..\..\..\..\third_party\fatfs\port\fat_usbmsc.c + ICCARM - 233 + 231 + + + BICOMP + 222 @@ -1735,31 +2248,380 @@ $PROJ_DIR$\..\..\..\..\utils\ustdlib.c - BICOMP - 219 + ICCARM + 131 - ICCARM - 234 + BICOMP + 241 - $PROJ_DIR$\..\bin\openblt_dk_tm4c123g.out + $PROJ_DIR$\..\lib\driverlib\ssi.c - ILINK - 169 + ICCARM + 337 - OBJCOPY - 218 + BICOMP + 183 - ILINK - 304 113 269 272 257 125 273 126 274 127 295 110 128 226 275 129 299 130 131 132 263 133 134 260 309 135 294 136 137 138 139 140 141 142 143 297 144 301 145 306 146 114 147 276 165 166 167 168 + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 418 419 422 8 22 384 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 418 419 422 8 22 384 + + + + + $PROJ_DIR$\..\lib\driverlib\sw_crc.c + + + ICCARM + 338 + + + BICOMP + 184 + + + + + ICCARM + 145 148 147 149 150 151 152 153 386 + + + BICOMP + 145 148 147 149 150 151 152 153 386 + + + + + $PROJ_DIR$\..\lib\driverlib\sysctl.c + + + ICCARM + 339 + + + BICOMP + 185 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 415 419 422 409 7 8 22 388 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 415 419 422 409 7 8 22 388 + + + + + $PROJ_DIR$\..\lib\driverlib\sysexc.c + + + ICCARM + 340 + + + BICOMP + 138 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 419 420 422 8 22 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 419 420 422 8 22 + + + + + $PROJ_DIR$\..\lib\driverlib\systick.c + + + ICCARM + 341 + + + BICOMP + 139 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 415 422 8 22 392 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 415 422 8 22 392 + + + + + $PROJ_DIR$\..\lib\driverlib\timerlib.c + + + ICCARM + 296 + + + BICOMP + 297 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 421 422 8 22 394 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 421 422 8 22 394 + + + + + $PROJ_DIR$\..\lib\driverlib\uartlib.c + + + ICCARM + 300 + + + BICOMP + 301 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 419 422 423 8 22 396 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 419 422 423 8 22 396 + + + + + $PROJ_DIR$\..\lib\driverlib\udma.c + + + ICCARM + 344 + + + BICOMP + 142 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 419 422 424 8 22 398 + + + BICOMP + 146 145 148 147 149 150 151 152 153 419 422 424 8 22 398 + + + + + $PROJ_DIR$\..\lib\driverlib\usbdrv.c + + + ICCARM + 248 + + + BICOMP + 249 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 422 419 425 8 22 388 398 400 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 422 419 425 8 22 388 398 400 + + + + + $PROJ_DIR$\..\lib\driverlib\watchdog.c + + + ICCARM + 346 + + + BICOMP + 144 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 413 414 422 426 8 22 402 + + + BICOMP + 146 145 148 147 149 150 151 152 153 413 414 422 426 8 22 402 + + + + + $PROJ_DIR$\..\lib\fatfs\mmc.c + + + ICCARM + 307 + + + BICOMP + 306 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 16 384 388 100 103 109 95 105 80 116 87 113 92 90 94 107 115 102 403 111 118 + + + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 16 384 388 100 103 109 95 105 80 116 87 113 92 90 94 107 115 102 403 111 118 + + + + + $PROJ_DIR$\..\lib\usblib\config\usb_bulk_structs.c + + + ICCARM + 261 + + + BICOMP + 262 + + + + + ICCARM + 145 148 147 149 150 151 152 153 146 422 400 74 65 37 38 432 428 + + + BICOMP + 145 148 147 149 150 151 152 153 146 422 400 74 65 37 38 432 428 + + + + + $PROJ_DIR$\..\lib\usblib\device\usbdaudio.c + + + ICCARM + 263 + + + BICOMP + 199 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 8 30 381 400 74 75 66 37 38 430 + + + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 8 30 381 400 74 75 66 37 38 430 + + + + + $PROJ_DIR$\..\lib\usblib\device\usbdbulk.c + + + ICCARM + 179 + + + BICOMP + 200 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 8 30 381 400 74 75 37 38 432 32 + + + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 8 30 381 400 74 75 37 38 432 32 + + + + + $PROJ_DIR$\..\lib\usblib\device\usbdcdc.c + + + ICCARM + 264 + + + BICOMP + 201 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 414 422 8 30 381 400 74 68 75 37 38 32 434 + + + BICOMP + 146 145 148 147 149 150 151 152 153 414 422 8 30 381 400 74 68 75 37 38 32 434 + + + + + $PROJ_DIR$\..\lib\usblib\device\usbdcdesc.c + + + ICCARM + 189 + + + BICOMP + 202 + + + + + ICCARM + 146 145 148 147 149 150 151 152 153 422 8 400 74 75 37 38 + + + BICOMP + 146 145 148 147 149 150 151 152 153 422 8 400 74 75 37 38 diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/tm4c123g.ewp b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/tm4c123g.ewp index 89f59b36..3cbf511d 100644 --- a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/tm4c123g.ewp +++ b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Boot/ide/tm4c123g.ewp @@ -297,13 +297,17 @@ CCIncludePath2 $PROJ_DIR$\..\..\..\..\Source $PROJ_DIR$\..\..\..\..\Source\third_party\fatfs\src - $PROJ_DIR$\..\..\..\..\Source\ARMCM3_LM3S - $PROJ_DIR$\..\..\..\..\Source\ARMCM3_LM3S\IAR + $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C + $PROJ_DIR$\..\..\..\..\Source\ARMCM4_TM4C\IAR $PROJ_DIR$\.. $PROJ_DIR$\..\lib $PROJ_DIR$\..\lib\inc $PROJ_DIR$\..\lib\driverlib $PROJ_DIR$\..\lib\fatfs + $PROJ_DIR$\..\lib\usblib + $PROJ_DIR$\..\lib\usblib\config + $PROJ_DIR$\..\lib\usblib\device + $PROJ_DIR$\..\lib\usblib\host diff --git a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Prog/memory.x b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Prog/memory.x index 52d492ff..ae6727fc 100644 --- a/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Prog/memory.x +++ b/Target/Demo/ARMCM4_TM4C_DK_TM4C123G_IAR/Prog/memory.x @@ -1,7 +1,7 @@ /*-Specials-*/ -define symbol __ICFEDIT_intvec_start__ = 0x00006000; +define symbol __ICFEDIT_intvec_start__ = 0x00008000; /*-Memory Regions-*/ -define symbol __ICFEDIT_region_ROM_start__ = 0x00006000; +define symbol __ICFEDIT_region_ROM_start__ = 0x00008000; define symbol __ICFEDIT_region_ROM_end__ = 0x0003FFFF; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; diff --git a/Target/Source/ARMCM4_TM4C/IAR/memory.x b/Target/Source/ARMCM4_TM4C/IAR/memory.x index 6f95ea50..6de82df9 100644 --- a/Target/Source/ARMCM4_TM4C/IAR/memory.x +++ b/Target/Source/ARMCM4_TM4C/IAR/memory.x @@ -2,7 +2,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x00000000; /*-Memory Regions-*/ define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; -define symbol __ICFEDIT_region_ROM_end__ = 0x00005FFF; +define symbol __ICFEDIT_region_ROM_end__ = 0x00007FFF; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20001FFF; /*-Sizes-*/ diff --git a/Target/Source/ARMCM4_TM4C/IAR/vectors.c b/Target/Source/ARMCM4_TM4C/IAR/vectors.c index 8b038b73..4b725b11 100644 --- a/Target/Source/ARMCM4_TM4C/IAR/vectors.c +++ b/Target/Source/ARMCM4_TM4C/IAR/vectors.c @@ -135,101 +135,101 @@ __root const tIsrFunc __vector_table[] @ ".intvec" = { UnusedISR }, /* CAN2 */ { UnusedISR }, /* Ethernet */ { UnusedISR }, /* Hibernate */ - { UnusedISR }, /* USB0 */ - { UnusedISR }, /* PWM Generator 3 */ - { UnusedISR }, /* uDMA Software Transfer */ - { UnusedISR }, /* uDMA Error */ - { UnusedISR }, /* ADC1 Sequence 0 */ - { UnusedISR }, /* ADC1 Sequence 1 */ - { UnusedISR }, /* ADC1 Sequence 2 */ - { UnusedISR }, /* ADC1 Sequence 3 */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* GPIO Port J */ - { UnusedISR }, /* GPIO Port K */ - { UnusedISR }, /* GPIO Port L */ - { UnusedISR }, /* SSI2 Rx and Tx */ - { UnusedISR }, /* SSI3 Rx and Tx */ - { UnusedISR }, /* UART3 Rx and Tx */ - { UnusedISR }, /* UART4 Rx and Tx */ - { UnusedISR }, /* UART5 Rx and Tx */ - { UnusedISR }, /* UART6 Rx and Tx */ - { UnusedISR }, /* UART7 Rx and Tx */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* I2C2 Master and Slave */ - { UnusedISR }, /* I2C3 Master and Slave */ - { UnusedISR }, /* Timer 4 subtimer A */ - { UnusedISR }, /* Timer 4 subtimer B */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Timer 5 subtimer A */ - { UnusedISR }, /* Timer 5 subtimer B */ - { UnusedISR }, /* Wide Timer 0 subtimer A */ - { UnusedISR }, /* Wide Timer 0 subtimer B */ - { UnusedISR }, /* Wide Timer 1 subtimer A */ - { UnusedISR }, /* Wide Timer 1 subtimer B */ - { UnusedISR }, /* Wide Timer 2 subtimer A */ - { UnusedISR }, /* Wide Timer 2 subtimer B */ - { UnusedISR }, /* Wide Timer 3 subtimer A */ - { UnusedISR }, /* Wide Timer 3 subtimer B */ - { UnusedISR }, /* Wide Timer 4 subtimer A */ - { UnusedISR }, /* Wide Timer 4 subtimer B */ - { UnusedISR }, /* Wide Timer 5 subtimer A */ - { UnusedISR }, /* Wide Timer 5 subtimer B */ - { UnusedISR }, /* FPU */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* I2C4 Master and Slave */ - { UnusedISR }, /* I2C5 Master and Slave */ - { UnusedISR }, /* GPIO Port M */ - { UnusedISR }, /* GPIO Port N */ - { UnusedISR }, /* Quadrature Encoder 2 */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* GPIO Port P (Summary or P0) */ - { UnusedISR }, /* GPIO Port P1 */ - { UnusedISR }, /* GPIO Port P2 */ - { UnusedISR }, /* GPIO Port P3 */ - { UnusedISR }, /* GPIO Port P4 */ - { UnusedISR }, /* GPIO Port P5 */ - { UnusedISR }, /* GPIO Port P6 */ - { UnusedISR }, /* GPIO Port P7 */ - { UnusedISR }, /* GPIO Port Q (Summary or Q0) */ - { UnusedISR }, /* GPIO Port Q1 */ - { UnusedISR }, /* GPIO Port Q2 */ - { UnusedISR }, /* GPIO Port Q3 */ - { UnusedISR }, /* GPIO Port Q4 */ - { UnusedISR }, /* GPIO Port Q5 */ - { UnusedISR }, /* GPIO Port Q6 */ - { UnusedISR }, /* GPIO Port Q7 */ - { UnusedISR }, /* GPIO Port R */ - { UnusedISR }, /* GPIO Port S */ - { UnusedISR }, /* PWM 1 Generator 0 */ - { UnusedISR }, /* PWM 1 Generator 1 */ - { UnusedISR }, /* PWM 1 Generator 2 */ - { UnusedISR }, /* PWM 1 Generator 3 */ - { UnusedISR } /* PWM 1 Fault */ + { UnusedISR }, /* USB0 */ + { UnusedISR }, /* PWM Generator 3 */ + { UnusedISR }, /* uDMA Software Transfer */ + { UnusedISR }, /* uDMA Error */ + { UnusedISR }, /* ADC1 Sequence 0 */ + { UnusedISR }, /* ADC1 Sequence 1 */ + { UnusedISR }, /* ADC1 Sequence 2 */ + { UnusedISR }, /* ADC1 Sequence 3 */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* GPIO Port J */ + { UnusedISR }, /* GPIO Port K */ + { UnusedISR }, /* GPIO Port L */ + { UnusedISR }, /* SSI2 Rx and Tx */ + { UnusedISR }, /* SSI3 Rx and Tx */ + { UnusedISR }, /* UART3 Rx and Tx */ + { UnusedISR }, /* UART4 Rx and Tx */ + { UnusedISR }, /* UART5 Rx and Tx */ + { UnusedISR }, /* UART6 Rx and Tx */ + { UnusedISR }, /* UART7 Rx and Tx */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* I2C2 Master and Slave */ + { UnusedISR }, /* I2C3 Master and Slave */ + { UnusedISR }, /* Timer 4 subtimer A */ + { UnusedISR }, /* Timer 4 subtimer B */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Timer 5 subtimer A */ + { UnusedISR }, /* Timer 5 subtimer B */ + { UnusedISR }, /* Wide Timer 0 subtimer A */ + { UnusedISR }, /* Wide Timer 0 subtimer B */ + { UnusedISR }, /* Wide Timer 1 subtimer A */ + { UnusedISR }, /* Wide Timer 1 subtimer B */ + { UnusedISR }, /* Wide Timer 2 subtimer A */ + { UnusedISR }, /* Wide Timer 2 subtimer B */ + { UnusedISR }, /* Wide Timer 3 subtimer A */ + { UnusedISR }, /* Wide Timer 3 subtimer B */ + { UnusedISR }, /* Wide Timer 4 subtimer A */ + { UnusedISR }, /* Wide Timer 4 subtimer B */ + { UnusedISR }, /* Wide Timer 5 subtimer A */ + { UnusedISR }, /* Wide Timer 5 subtimer B */ + { UnusedISR }, /* FPU */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* I2C4 Master and Slave */ + { UnusedISR }, /* I2C5 Master and Slave */ + { UnusedISR }, /* GPIO Port M */ + { UnusedISR }, /* GPIO Port N */ + { UnusedISR }, /* Quadrature Encoder 2 */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* Reserved */ + { UnusedISR }, /* GPIO Port P (Summary or P0) */ + { UnusedISR }, /* GPIO Port P1 */ + { UnusedISR }, /* GPIO Port P2 */ + { UnusedISR }, /* GPIO Port P3 */ + { UnusedISR }, /* GPIO Port P4 */ + { UnusedISR }, /* GPIO Port P5 */ + { UnusedISR }, /* GPIO Port P6 */ + { UnusedISR }, /* GPIO Port P7 */ + { UnusedISR }, /* GPIO Port Q (Summary or Q0) */ + { UnusedISR }, /* GPIO Port Q1 */ + { UnusedISR }, /* GPIO Port Q2 */ + { UnusedISR }, /* GPIO Port Q3 */ + { UnusedISR }, /* GPIO Port Q4 */ + { UnusedISR }, /* GPIO Port Q5 */ + { UnusedISR }, /* GPIO Port Q6 */ + { UnusedISR }, /* GPIO Port Q7 */ + { UnusedISR }, /* GPIO Port R */ + { UnusedISR }, /* GPIO Port S */ + { UnusedISR }, /* PWM 1 Generator 0 */ + { UnusedISR }, /* PWM 1 Generator 1 */ + { UnusedISR }, /* PWM 1 Generator 2 */ + { UnusedISR }, /* PWM 1 Generator 3 */ + { UnusedISR } /* PWM 1 Fault */ }; diff --git a/Target/Source/ARMCM4_TM4C/cpu.c b/Target/Source/ARMCM4_TM4C/cpu.c index 33f8e9ea..2f458b15 100644 --- a/Target/Source/ARMCM4_TM4C/cpu.c +++ b/Target/Source/ARMCM4_TM4C/cpu.c @@ -40,25 +40,14 @@ /**************************************************************************************** * Macro definitions ****************************************************************************************/ -#if (BOOT_FILE_SYS_ENABLE > 0) - /** \brief Pointer to the user program's reset vector. Note that this needs to be - * changed in case the reserved memory for the bootloader is more than 0x6000. - */ - #define CPU_USER_PROGRAM_STARTADDR_PTR ((blt_addr) 0x00006004) - /** \brief Pointer to the user program's vector table. Note that this needs to be - * changed in case the reserved memory for the bootloader is more than 0x6000. - */ - #define CPU_USER_PROGRAM_VECTABLE_OFFSET ((blt_int32u)0x00006000) -#else - /** \brief Pointer to the user program's reset vector. Note that this needs to be - * changed in case the reserved memory for the bootloader is more than 0x2000. - */ - #define CPU_USER_PROGRAM_STARTADDR_PTR ((blt_addr) 0x00002004) - /** \brief Pointer to the user program's vector table. Note that this needs to be - * changed in case the reserved memory for the bootloader is more than 0x2000. - */ - #define CPU_USER_PROGRAM_VECTABLE_OFFSET ((blt_int32u)0x00002000) -#endif +/** \brief Pointer to the user program's reset vector. Note that this needs to be + * changed in case the reserved memory for the bootloader is other than 0x8000. + */ +#define CPU_USER_PROGRAM_STARTADDR_PTR ((blt_addr) 0x00008004) +/** \brief Pointer to the user program's vector table. Note that this needs to be + * changed in case the reserved memory for the bootloader is other than 0x8000. + */ +#define CPU_USER_PROGRAM_VECTABLE_OFFSET ((blt_int32u)0x00008000) /**************************************************************************************** diff --git a/Target/Source/ARMCM4_TM4C/flash.c b/Target/Source/ARMCM4_TM4C/flash.c index 14916a3c..84916f83 100644 --- a/Target/Source/ARMCM4_TM4C/flash.c +++ b/Target/Source/ARMCM4_TM4C/flash.c @@ -113,20 +113,18 @@ static blt_addr FlashGetSectorSize(blt_int8u sector); */ static const tFlashSector flashLayout[] = { -#if (BOOT_FILE_SYS_ENABLE > 0) - /* the size of the bootloader with support for firmware update from a locally attached - * storage disk is larger so the start address of the user program is at a different - * location. + /* with just UART supported, the bootloader needs 0x2000 in size. enabling support for + * for firmware update from a locally attached storage disk and USB instead of UART, + * the required size can be close to 0x8000 (32kb). this is the default configuration, + * but can be changed by the user if less space is required. If changed, then also + * change the start address of the user program in its linker script file. + * additionally, the macros CPU_USER_PROGRAM_STARTADDR_PTR and + * CPU_USER_PROGRAM_VECTABLE_OFFSET should be updated in file cpu.c. */ /* { 0x00000000, 0x02000, 0}, flash sector 0 - reserved for bootloader */ /* { 0x00002000, 0x02000, 1}, flash sector 1 - reserved for bootloader */ /* { 0x00004000, 0x02000, 2}, flash sector 2 - reserved for bootloader */ -#else - /* { 0x00000000, 0x02000, 0}, flash sector 0 - 8kb */ - { 0x00002000, 0x02000, 1}, /* flash sector 1 - 8kb */ - { 0x00004000, 0x02000, 2}, /* flash sector 2 - 8kb */ -#endif - { 0x00006000, 0x02000, 3}, /* flash sector 3 - 8kb */ + /* { 0x00006000, 0x02000, 3}, flash sector 3 - reserved for bootloader */ #if (BOOT_NVM_SIZE_KB > 32) { 0x00008000, 0x02000, 4}, /* flash sector 4 - 8kb */ { 0x0000A000, 0x02000, 5}, /* flash sector 5 - 8kb */ diff --git a/Target/Source/ARMCM4_TM4C/usb.c b/Target/Source/ARMCM4_TM4C/usb.c new file mode 100644 index 00000000..cbaace75 --- /dev/null +++ b/Target/Source/ARMCM4_TM4C/usb.c @@ -0,0 +1,593 @@ +/************************************************************************************//** +* \file Source\ARMCM4_TM4C\usb.c +* \brief Bootloader USB communication interface source file. +* \ingroup Target_ARMCM4_TM4C +* \internal +*---------------------------------------------------------------------------------------- +* C O P Y R I G H T +*---------------------------------------------------------------------------------------- +* Copyright (c) 2014 by Feaser http://www.feaser.com All rights reserved +* +*---------------------------------------------------------------------------------------- +* L I C E N S E +*---------------------------------------------------------------------------------------- +* This file is part of OpenBLT. OpenBLT 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. +* +* OpenBLT 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 OpenBLT. +* If not, see . +* +* A special exception to the GPL is included to allow you to distribute a combined work +* that includes OpenBLT without being obliged to provide the source code for any +* proprietary components. The exception text is included at the bottom of the license +* file . +* +* \endinternal +****************************************************************************************/ + +/**************************************************************************************** +* Include files +****************************************************************************************/ +#include "boot.h" /* bootloader generic header */ +#if (BOOT_COM_USB_ENABLE > 0) +#include +#include +#include "usblib.h" +#include "usbdevice.h" +#include "usbdbulk.h" +#include "usb_bulk_structs.h" + + +/**************************************************************************************** +* Macro definitions +****************************************************************************************/ +/** \brief Total number of fifo buffers. */ +#define FIFO_MAX_BUFFERS (2) +/** \brief Invalid value for a fifo buffer handle. */ +#define FIFO_ERR_INVALID_HANDLE (255) +/** \brief Number of bytes that fit in the fifo pipe. */ +#define FIFO_PIPE_SIZE (64) + + +/**************************************************************************************** +* Type definitions +****************************************************************************************/ +/** \brief Structure type for fifo control. */ +typedef struct t_fifo_ctrl +{ + blt_int8u *startptr; /**< pointer to start of buffer */ + blt_int8u *endptr; /**< pointer to end of buffer */ + blt_int8u *readptr; /**< pointer to next read location */ + blt_int8u *writeptr; /**< pointer to next free location */ + blt_int8u length; /**< number of buffer elements */ + blt_int8u entries; /**< # of full buffer elements */ + blt_int8u handle; /**< handle of the buffer */ + struct t_fifo_ctrl *fifoctrlptr; /**< pointer to free buffer control */ +} tFifoCtrl; + +/** \brief Structure type for a fifo pipe. */ +typedef struct +{ + blt_int8u handle; /**< fifo handle */ + blt_int8u data[FIFO_PIPE_SIZE]; /**< fifo data buffer */ +} tFifoPipe; /**< USB pipe fifo type */ + + +/**************************************************************************************** +* Hook functions +****************************************************************************************/ +extern void UsbEnterLowPowerModeHook(void); +extern void UsbLeaveLowPowerModeHook(void); +extern void UsbConnectHook(blt_bool connect); + + +/**************************************************************************************** +* Function prototypes +****************************************************************************************/ +static blt_bool UsbReceiveByte(blt_int8u *data); +static blt_bool UsbTransmitByte(blt_int8u data); +static void UsbTransmitPipeBulkIN(void); +static void UsbReceivePipeBulkOUT(blt_int8u *data, blt_int32u len); +static void UsbFifoMgrInit(void); +static blt_int8u UsbFifoMgrCreate(blt_int8u *buffer, blt_int8u length); +static blt_bool UsbFifoMgrWrite(blt_int8u handle, blt_int8u data); +static blt_bool UsbFifoMgrRead(blt_int8u handle, blt_int8u *data); +static blt_int8u UsbFifoMgrScan(blt_int8u handle); + + +/**************************************************************************************** +* Local data declarations +****************************************************************************************/ +/** \brief Local variable that holds the fifo control structures. */ +static tFifoCtrl fifoCtrl[FIFO_MAX_BUFFERS]; +/** \brief Local pointer that points to the next free fifo control structure. */ +static tFifoCtrl *fifoCtrlFree; +/** \brief Fifo pipe used for the bulk in endpoint. */ +static tFifoPipe fifoPipeBulkIN; +/** \brief Fifo pipe used for the bulk out endpoint. */ +static tFifoPipe fifoPipeBulkOUT; +/** \brief Holds a handle to the bulk device instance. */ +static tBulkInstance *instanceHandle; + + +/************************************************************************************//** +** \brief Initializes the USB communication interface. +** \return none. +** +****************************************************************************************/ +void UsbInit(void) +{ + /* initialize the FIFO manager */ + UsbFifoMgrInit(); + /* place 2 buffers under FIFO management */ + fifoPipeBulkIN.handle = UsbFifoMgrCreate(fifoPipeBulkIN.data, FIFO_PIPE_SIZE); + fifoPipeBulkOUT.handle = UsbFifoMgrCreate(fifoPipeBulkOUT.data, FIFO_PIPE_SIZE); + /* validate fifo handles */ + ASSERT_RT( (fifoPipeBulkIN.handle != FIFO_ERR_INVALID_HANDLE) && \ + (fifoPipeBulkOUT.handle != FIFO_ERR_INVALID_HANDLE) ); + /* initialize the transmit and receive buffers */ + USBBufferInit(&g_sTxBuffer); + USBBufferInit(&g_sRxBuffer); + /* pass our device information to the USB library and place the device on the bus */ + instanceHandle = USBDBulkInit(0, &g_sBulkDevice); + ASSERT_RT(instanceHandle != BLT_NULL); +} /*** end of UsbInit ***/ + + +/************************************************************************************//** +** \brief Releases the USB communication interface. +** \return none. +** +****************************************************************************************/ +void UsbFree(void) +{ + /* shut down the bulk device */ + USBDBulkTerm(instanceHandle); + /* disconnect the USB device from the USB host */ + UsbConnectHook(BLT_FALSE); +} /*** end of UsbFree ***/ + + +/************************************************************************************//** +** \brief Transmits a packet formatted for the communication interface. +** \param data Pointer to byte array with data that it to be transmitted. +** \param len Number of bytes that are to be transmitted. +** \return none. +** +****************************************************************************************/ +void UsbTransmitPacket(blt_int8u *data, blt_int8u len) +{ + blt_int16u data_index; + + /* verify validity of the len-parameter */ + ASSERT_RT(len <= BOOT_COM_TX_MAX_DATA); + + /* first transmit the length of the packet */ + ASSERT_RT(UsbTransmitByte(len) == BLT_TRUE); + + /* transmit all the packet bytes one-by-one */ + for (data_index = 0; data_index < len; data_index++) + { + /* keep the watchdog happy */ + CopService(); + /* write byte */ + ASSERT_RT(UsbTransmitByte(data[data_index]) == BLT_TRUE); + } + + /* start the transmission */ + UsbTransmitPipeBulkIN(); +} /*** end of UsbTransmitPacket ***/ + + +/************************************************************************************//** +** \brief Receives a communication interface packet if one is present. +** \param data Pointer to byte array where the data is to be stored. +** \return BLT_TRUE if a packet was received, BLT_FALSE otherwise. +** +****************************************************************************************/ +blt_bool UsbReceivePacket(blt_int8u *data) +{ + static blt_int8u xcpCtoReqPacket[XCP_CTO_PACKET_LEN+1]; /* one extra for length */ + static blt_int8u xcpCtoRxLength; + static blt_bool xcpCtoRxInProgress = BLT_FALSE; + + /* poll for USB events */ + USB0DeviceIntHandler(); + + /* start of cto packet received? */ + if (xcpCtoRxInProgress == BLT_FALSE) + { + /* store the message length when received */ + if (UsbReceiveByte(&xcpCtoReqPacket[0]) == BLT_TRUE) + { + /* indicate that a cto packet is being received */ + xcpCtoRxInProgress = BLT_TRUE; + + /* reset packet data count */ + xcpCtoRxLength = 0; + } + } + else + { + /* store the next packet byte */ + if (UsbReceiveByte(&xcpCtoReqPacket[xcpCtoRxLength+1]) == BLT_TRUE) + { + /* increment the packet data count */ + xcpCtoRxLength++; + + /* check to see if the entire packet was received */ + if (xcpCtoRxLength == xcpCtoReqPacket[0]) + { + /* copy the packet data */ + CpuMemCopy((blt_int32u)data, (blt_int32u)&xcpCtoReqPacket[1], xcpCtoRxLength); + /* done with cto packet reception */ + xcpCtoRxInProgress = BLT_FALSE; + + /* packet reception complete */ + return BLT_TRUE; + } + } + } + /* packet reception not yet complete */ + return BLT_FALSE; +} /*** end of UsbReceivePacket ***/ + + +/************************************************************************************//** +** \brief Receives a communication interface byte if one is present. +** \param data Pointer to byte where the data is to be stored. +** \return BLT_TRUE if a byte was received, BLT_FALSE otherwise. +** +****************************************************************************************/ +static blt_bool UsbReceiveByte(blt_int8u *data) +{ + blt_bool result; + + /* obtain data from the fifo */ + result = UsbFifoMgrRead(fifoPipeBulkOUT.handle, data); + return result; +} /*** end of UsbReceiveByte ***/ + + +/************************************************************************************//** +** \brief Transmits a communication interface byte. +** \param data Value of byte that is to be transmitted. +** \return BLT_TRUE if the byte was transmitted, BLT_FALSE otherwise. +** +****************************************************************************************/ +static blt_bool UsbTransmitByte(blt_int8u data) +{ + blt_bool result; + + /* write data from to fifo */ + result = UsbFifoMgrWrite(fifoPipeBulkIN.handle, data); + return result; +} /*** end of UsbTransmitByte ***/ + + +/************************************************************************************//** +** \brief Checks if there is still data left to transmit and if so submits it +** for transmission with the USB endpoint. +** \return none. +** +****************************************************************************************/ +static void UsbTransmitPipeBulkIN(void) +{ + tUSBRingBufObject txRing; + blt_int32u txSpace; + blt_int32u txWriteIdx; + blt_int8u nr_of_bytes_for_tx_endpoint; + blt_int8u byte_counter; + blt_int8u byte_value; + blt_bool result; + + /* read how many bytes should be transmitted */ + nr_of_bytes_for_tx_endpoint = UsbFifoMgrScan(fifoPipeBulkIN.handle); + /* only continue if there is actually data left to transmit */ + if (nr_of_bytes_for_tx_endpoint == 0) + { + return; + } + /* get information about the USB transmit buffer */ + USBBufferInfoGet(&g_sTxBuffer, &txRing); + /* determine how many bytes will still fit in the tx buffer */ + txSpace = USBBufferSpaceAvailable(&g_sTxBuffer); + /* only transmit the amount of bytes that will fit in the tx buffer */ + if (nr_of_bytes_for_tx_endpoint > txSpace) + { + nr_of_bytes_for_tx_endpoint = txSpace; + } + /* determine write index for the tx buffer */ + txWriteIdx = txRing.ui32WriteIndex; + + /* copy the transmit data to the transmit buffer */ + for (byte_counter=0; byte_counter < nr_of_bytes_for_tx_endpoint; byte_counter++) + { + /* obtain data from the fifo */ + result = UsbFifoMgrRead(fifoPipeBulkIN.handle, &byte_value); + ASSERT_RT(result == BLT_TRUE); + /* store it in the transmit buffer */ + g_pui8USBTxBuffer[txWriteIdx] = byte_value; + /* increment index with wrapping */ + txWriteIdx++; + if (txWriteIdx >= BULK_BUFFER_SIZE) + { + txWriteIdx = 0; + } + } + /* inform the usb library that new data are ready for transmission */ + USBBufferDataWritten(&g_sTxBuffer, nr_of_bytes_for_tx_endpoint); +} /*** end of UsbTransmitPipeBulkIN ***/ + + +/************************************************************************************//** +** \brief Stores data that was received on the Bulk OUT pipe in the fifo. +** \param data Pointer to buffer with the newly received data +** \param len Number of received data bytes. +** \return none. +** +****************************************************************************************/ +static void UsbReceivePipeBulkOUT(blt_int8u *data, blt_int32u len) +{ + blt_int32u byte_counter; + blt_bool result; + blt_int32u rxReadIdx; + + + /* determine read index for the rx buffer */ + rxReadIdx = (uint32_t)(data - g_pui8USBRxBuffer); + + /* store the received data in the reception fifo */ + for (byte_counter=0; byte_counter= BULK_BUFFER_SIZE) + { + rxReadIdx = 0; + } + } +} /*** end of UsbReceivePipeBulkOUT ***/ + + +/************************************************************************************//** +** \brief Handles bulk driver notifications related to the transmit channel (data to +** the USB host). +** \param pvCBData is the client-supplied callback pointer for this channel. +** \param ui32Event identifies the event we are being notified about. +** \param ui32MsgValue is an event-specific value. +** \param pvMsgData is an event-specific pointer. +** \return The return value is event-specific. +** +****************************************************************************************/ +uint32_t UsbBulkTxHandler(void *pvCBData, uint32_t ui32Event, uint32_t ui32MsgValue, void *pvMsgData) +{ + if(ui32Event == USB_EVENT_TX_COMPLETE) + { + /* check if more data is waiting to be transmitted */ + UsbTransmitPipeBulkIN(); + } + return 0; +} /*** end of UsbBulkTxHandler ***/ + + +/************************************************************************************//** +** \brief Handles bulk driver notifications related to the receive channel (data from +** the USB host). +** \param pvCBData is the client-supplied callback pointer for this channel. +** \param ui32Event identifies the event we are being notified about. +** \param ui32MsgValue is an event-specific value. +** \param pvMsgData is an event-specific pointer. +** \return The return value is event-specific. +** +****************************************************************************************/ +uint32_t UsbBulkRxHandler(void *pvCBData, uint32_t ui32Event, uint32_t ui32MsgValue, void *pvMsgData) +{ + /* which event are we being sent? */ + switch(ui32Event) + { + /* we are connected to a host and communication is now possible */ + case USB_EVENT_CONNECTED: + { + /* flush our buffers */ + USBBufferFlush(&g_sTxBuffer); + USBBufferFlush(&g_sRxBuffer); + break; + } + + /* the host has disconnected */ + case USB_EVENT_DISCONNECTED: + { + break; + } + + /* a new packet has been received */ + case USB_EVENT_RX_AVAILABLE: + { + /* handle all newly received bytes */ + UsbReceivePipeBulkOUT(pvMsgData, ui32MsgValue); + return ui32MsgValue; + } + + /* ignore SUSPEND and RESUME for now */ + case USB_EVENT_SUSPEND: + /* power-off system clocks and power */ + UsbEnterLowPowerModeHook(); + break; + + case USB_EVENT_RESUME: + /* restore power and system clocks */ + UsbLeaveLowPowerModeHook(); + break; + + /* ignore all other events and return 0 */ + default: + break; + } + + return 0; +} /*** end of UsbBulkRxHandler ***/ + + +/************************************************************************************//** +** \brief Initializes the fifo manager. Each controlled fifo is assigned a +** unique handle, which is the same as its index into fifoCtrl[]. Each +** controlled fifo holds a pointer to the next free fifo control. +** For the last fifo in fifoCtrl[] this one is set to a null-pointer as +** an out of fifo control indicator. Function should be called once +** before any of the other fifo management functions are called. +** \return none. +** +****************************************************************************************/ +static void UsbFifoMgrInit(void) +{ + blt_int8u i; + tFifoCtrl *pbc1, *pbc2; + + pbc1 = &fifoCtrl[0]; + pbc2 = &fifoCtrl[1]; + /* assign fifo handles and pointer to next free fifo */ + for (i = 0; i < (FIFO_MAX_BUFFERS - 1); i++) + { + pbc1->handle = i; + pbc1->fifoctrlptr = pbc2; + pbc1++; + pbc2++; + } + /* initialize handle for the last one and use null-pointer for the next free fifo */ + pbc1->handle = i; + pbc1->fifoctrlptr = (tFifoCtrl *)0; + fifoCtrlFree = &fifoCtrl[0]; +} /*** end of UsbFifoMgrInit ***/ + + +/************************************************************************************//** +** \brief Places a data storage array under fifo management control. A handle +** for identifying the fifo in subsequent fifo management function +** calls is returned, if successful. +** \param buffer Pointer to the first element in the data storage fifo. +** \param length Maximum number of data elements that can be stored in the fifo. +** \return Fifo handle if successfull, or FIFO_ERR_INVALID_HANDLE. +** +****************************************************************************************/ +static blt_int8u UsbFifoMgrCreate(blt_int8u *buffer, blt_int8u length) +{ + tFifoCtrl *pbc; + + /* first determine if these is still a free fifo control available */ + if (fifoCtrlFree == (tFifoCtrl *)0) + { + return FIFO_ERR_INVALID_HANDLE; + } + /* store pointer to free fifo and update pointer to next free one */ + pbc = fifoCtrlFree; + fifoCtrlFree = pbc->fifoctrlptr; + + /* initialize the buffer control */ + pbc->length = length; + pbc->readptr = buffer; + pbc->writeptr = buffer; + pbc->entries = 0; + pbc->startptr = buffer; + pbc->endptr = (blt_int8u*)(buffer + length - 1); + + /* return the handle to the successfully created fifo control */ + return pbc->handle; +} /*** end of UsbFifoMgrCreate ***/ + + +/************************************************************************************//** +** \brief Stores data in the fifo. +** \param handle Identifies the fifo to write data to. +** \param data Pointer to the data that is to be written to the fifo. +** \return BLT_TRUE if the data was successfully stored in the fifo, BLT_FALSE +** otherwise. +** +****************************************************************************************/ +static blt_bool UsbFifoMgrWrite(blt_int8u handle, blt_int8u data) +{ + /* check the validity of the handle parameter */ + ASSERT_RT(handle < FIFO_MAX_BUFFERS); + /* check if fifo is full */ + if (fifoCtrl[handle].entries == fifoCtrl[handle].length) + { + return BLT_FALSE; + } + /* copy data to fifo */ + *fifoCtrl[handle].writeptr = data; + /* data written so update number of entries */ + fifoCtrl[handle].entries++; + /* update write pointer */ + fifoCtrl[handle].writeptr++; + /* check end of fifo */ + if (fifoCtrl[handle].writeptr > fifoCtrl[handle].endptr) + { + /* set write pointer to start of the cyclic fifo */ + fifoCtrl[handle].writeptr = fifoCtrl[handle].startptr; + } + /* still here so all is okay */ + return BLT_TRUE; +} /*** end of UsbFifoMgrWrite ***/ + + +/************************************************************************************//** +** \brief Retrieves data from the fifo. +** \param handle Identifies the fifo to read data from. +** \param data Pointer to where the read data is to be stored. +** \return BLT_TRUE if the data was successfully read from the fifo, BLT_FALSE +** otherwise. +** +****************************************************************************************/ +static blt_bool UsbFifoMgrRead(blt_int8u handle, blt_int8u *data) +{ + /* check the validity of the handle parameter */ + ASSERT_RT(handle < FIFO_MAX_BUFFERS); + /* check if fifo is empty */ + if (fifoCtrl[handle].entries == 0) + { + return BLT_FALSE; + } + /* read the data */ + *data = *fifoCtrl[handle].readptr; + /* data read so update number of entries */ + fifoCtrl[handle].entries--; + /* update read pointer */ + fifoCtrl[handle].readptr++; + /* check end of fifo */ + if (fifoCtrl[handle].readptr > fifoCtrl[handle].endptr) + { + /* set read pointer to start of the cyclic fifo */ + fifoCtrl[handle].readptr = fifoCtrl[handle].startptr; + } + /* still here so all is good */ + return BLT_TRUE; +} /*** end of UsbFifoMgrRead ***/ + + +/************************************************************************************//** +** \brief Returns the number of data entries currently present in the fifo. +** \param handle Identifies the fifo that is to be scanned. +** \return Number of data entries in the fifo if successful, otherwise 0. +** +****************************************************************************************/ +static blt_int8u UsbFifoMgrScan(blt_int8u handle) +{ + /* check the validity of the handle parameter */ + ASSERT_RT(handle < FIFO_MAX_BUFFERS); + /* read and return the number of data entries */ + return fifoCtrl[handle].entries; +} /*** end of UsbFifoMgrScan ***/ +#endif /* BOOT_COM_USB_ENABLE > 0 */ + + +/*********************************** end of usb.c **************************************/ diff --git a/Target/Source/ARMCM4_TM4C/usb.h b/Target/Source/ARMCM4_TM4C/usb.h new file mode 100644 index 00000000..cbc9e925 --- /dev/null +++ b/Target/Source/ARMCM4_TM4C/usb.h @@ -0,0 +1,48 @@ +/************************************************************************************//** +* \file Source\ARMCM4_TM4C\usb.h +* \brief Bootloader USB communication interface header file. +* \ingroup Target_ARMCM4_TM4C +* \internal +*---------------------------------------------------------------------------------------- +* C O P Y R I G H T +*---------------------------------------------------------------------------------------- +* Copyright (c) 2011 by Feaser http://www.feaser.com All rights reserved +* +*---------------------------------------------------------------------------------------- +* L I C E N S E +*---------------------------------------------------------------------------------------- +* This file is part of OpenBLT. OpenBLT 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. +* +* OpenBLT 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 OpenBLT. +* If not, see . +* +* A special exception to the GPL is included to allow you to distribute a combined work +* that includes OpenBLT without being obliged to provide the source code for any +* proprietary components. The exception text is included at the bottom of the license +* file . +* +* \endinternal +****************************************************************************************/ +#ifndef USB_H +#define USB_H + +#if (BOOT_COM_USB_ENABLE > 0) +/**************************************************************************************** +* Function prototypes +****************************************************************************************/ +void UsbInit(void); +void UsbFree(void); +void UsbTransmitPacket(blt_int8u *data, blt_int8u len); +blt_bool UsbReceivePacket(blt_int8u *data); +#endif /* BOOT_COM_USB_ENABLE > 0 */ + + +#endif /* USB_H */ +/*********************************** end of usb.h **************************************/