├── lib ├── CPU │ ├── MK60D10.h │ ├── MK60DZ10.h │ ├── system_MK60.c │ ├── startup_K60D10.s │ ├── startup_K60F12.s │ ├── system_MK60D10.h │ ├── system_MK60F12.h │ ├── system_MK60F15.h │ ├── startup_K60DZ10.s │ └── system_MK60DZ10.h ├── common │ ├── io.c │ ├── io.h │ ├── uif.c │ ├── uif.h │ ├── alloc.c │ ├── assert.c │ ├── assert.h │ ├── common.h │ ├── printf.c │ ├── queue.c │ ├── queue.h │ ├── stdlib.c │ ├── stdlib.h │ ├── relocate.c │ ├── relocate.h │ ├── memtest.h │ └── memtest.c ├── FatFs │ ├── diskio.c │ ├── diskio.h │ ├── option │ │ ├── unicode.c │ │ └── syscall.c │ ├── integer.h │ ├── 00readme.txt │ └── ffconf.h ├── LPLD │ ├── DEV │ │ ├── DEV_LCD.c │ │ ├── DEV_LCD.h │ │ ├── DEV_SCCB.c │ │ ├── DEV_SCCB.h │ │ ├── DEV_SDRAM.c │ │ ├── DEV_SDRAM.h │ │ ├── DEV_DiskIO.c │ │ ├── DEV_DiskIO.h │ │ ├── DEV_MAG3110.c │ │ ├── DEV_MAG3110.h │ │ ├── DEV_MMA7660.c │ │ ├── DEV_MMA7660.h │ │ ├── DEV_MMA8451.c │ │ ├── DEV_MMA8451.h │ │ ├── DEV_MPU6050.c │ │ ├── DEV_MPU6050.h │ │ ├── DEV_Nrf24L01.c │ │ ├── DEV_Nrf24L01.h │ │ ├── DEV_Touchscreen.c │ │ ├── DEV_Touchscreen.h │ │ └── Font_ASC.h │ ├── HW │ │ ├── HW_ADC.c │ │ ├── HW_ADC.h │ │ ├── HW_CAN.c │ │ ├── HW_CAN.h │ │ ├── HW_DAC.c │ │ ├── HW_DAC.h │ │ ├── HW_DMA.c │ │ ├── HW_DMA.h │ │ ├── HW_ENET.c │ │ ├── HW_ENET.h │ │ ├── HW_FLASH.c │ │ ├── HW_FLASH.h │ │ ├── HW_FTM.c │ │ ├── HW_FTM.h │ │ ├── HW_GPIO.c │ │ ├── HW_GPIO.h │ │ ├── HW_I2C.c │ │ ├── HW_I2C.h │ │ ├── HW_LPTMR.c │ │ ├── HW_LPTMR.h │ │ ├── HW_MCG.c │ │ ├── HW_MCG.h │ │ ├── HW_NVIC.c │ │ ├── HW_NVIC.h │ │ ├── HW_PDB.c │ │ ├── HW_PDB.h │ │ ├── HW_PIT.c │ │ ├── HW_PIT.h │ │ ├── HW_RTC.c │ │ ├── HW_RTC.h │ │ ├── HW_SDHC.c │ │ ├── HW_SDHC.h │ │ ├── HW_SPI.c │ │ ├── HW_SPI.h │ │ ├── HW_TSI.c │ │ ├── HW_TSI.h │ │ ├── HW_UART.c │ │ ├── HW_UART.h │ │ ├── HW_USB.c │ │ ├── HW_USB.h │ │ ├── HW_WDOG.c │ │ ├── HW_WDOG.h │ │ ├── HW_FLEXBUS.c │ │ ├── HW_FLEXBUS.h │ │ ├── HW_SYSTICK.c │ │ └── HW_SYSTICK.h │ ├── LPLD_Drivers.h │ └── FUNC │ │ ├── TimeStamp.c │ │ └── TimeStamp.h ├── uCOS-II │ └── Ports │ │ ├── os_dbg.c │ │ └── os_cpu_c.c ├── USB │ ├── driver │ │ ├── virtual_com.c │ │ ├── virtual_com.h │ │ ├── usb_driver.h │ │ ├── mouse_button.h │ │ ├── usbevent.h │ │ ├── usbevent.c │ │ └── usb_bdt_kinetis.h │ ├── common │ │ ├── derivative.h │ │ ├── user_config.h │ │ ├── usb_framework.h │ │ ├── types.h │ │ └── usb_class.h │ ├── LPLD_CDC_class_Driver_Kinetis.inf │ ├── class │ │ ├── usb_cdc_pstn.h │ │ ├── usb_hid.h │ │ └── usb_cdc.h │ └── descriptor │ │ └── usb_descriptor_hid.h └── iar_config_files │ ├── LPLD_K60DN512_BOOT.icf │ ├── LPLD_K60DN512_FLASH.icf │ ├── LPLD_K60DX256_BOOT.icf │ ├── LPLD_K60DX256_FLASH.icf │ ├── LPLD_K60FN1M0_BOOT.icf │ ├── LPLD_K60FN1M0_FLASH.icf │ ├── LPLD_K60DX256_RAM.icf │ ├── LPLD_K60DN512_RAM.icf │ ├── 32KB_Ram.icf │ ├── 64KB_Ram.icf │ ├── 128KB_Pflash.icf │ ├── 256KB_Pflash.icf │ ├── 128KB_Ram.icf │ ├── 512KB_Pflash.icf │ ├── 128KB_Pflash_128KB_Dflash.icf │ ├── 256KB_Pflash_256KB_Dflash.icf │ └── 64KB_Pflash_64KB_Dflash.icf ├── project ├── 获取例程.txt ├── 例程使用说明.txt ├── K60快速建立工程_VG_1.0.2.exe ├── LPLD_TestRUSH │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_TestRUSH.c │ └── iar │ │ └── LPLD_TestRUSH.eww ├── (uCos)LPLD_uCosOSSem │ ├── app │ │ ├── os_cfg.h │ │ ├── k60_card.h │ │ ├── LPLD_uCosOSSem.c │ │ └── app_cfg.h │ └── iar │ │ └── LPLD_uCosOSSem.eww ├── (uCos)LPLD_uCosV292 │ ├── app │ │ ├── k60_card.h │ │ ├── os_cfg.h │ │ ├── LPLD_uCosV292.c │ │ └── app_cfg.h │ └── iar │ │ └── LPLD_uCosV292.eww ├── 01-LPLD_HelloWorld │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_HelloWorld.c │ └── iar │ │ └── LPLD_HelloWorld.eww ├── 33-(DMA)LPLD_OV7670 │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_OV7670.c │ └── iar │ │ └── LPLD_OV7670.eww ├── 34-(NVIC)LPLD_Nvic │ ├── app │ │ ├── LPLD_Nvic.c │ │ └── k60_card.h │ └── iar │ │ └── LPLD_Nvic.eww ├── 18-(I2C)LPLD_MMA7660 │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_MMA7660.c │ └── iar │ │ └── LPLD_MMA7660.eww ├── 19-(I2C)LPLD_MMA8451 │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_MMA8451.c │ └── iar │ │ └── LPLD_MMA8451.eww ├── 20-(I2C)LPLD_MAG3110 │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_MAG3110.c │ └── iar │ │ └── LPLD_MAG3110.eww ├── 21-(SPI)LPLD_Nrf24L01 │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_Nrf24L01.c │ └── iar │ │ └── LPLD_Nrf24L01.eww ├── 23-(TSI)LPLD_TouchPad │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_TouchPad.c │ └── iar │ │ └── LPLD_TouchPad.eww ├── 24-(FLEXBUS)LPLD_LCD │ ├── app │ │ ├── LPLD_LCD.c │ │ └── k60_card.h │ └── iar │ │ └── LPLD_LCD.eww ├── 25-(FLEXBUS)LPLD_SRAM │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_SRAM.c │ └── iar │ │ └── LPLD_SRAM.eww ├── 26-(CAN)LPLD_CanComm │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_CanComm.c │ └── iar │ │ └── LPLD_CanComm.eww ├── 27-(ENET)LPLD_MacComm │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_MacComm.c │ └── iar │ │ └── LPLD_MacComm.eww ├── 28-(SDHC)LPLD_SdCard │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_SdCard.c │ └── iar │ │ └── LPLD_SdCard.eww ├── 29-(FLASH)LPLD_Flash │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_Flash.c │ └── iar │ │ └── LPLD_Flash.eww ├── 35-(I2C)LPLD_MPU6050 │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_MPU6050.c │ └── iar │ │ └── LPLD_MPU6050.eww ├── (FatFS SDHC)LPLD_FatFs │ ├── app │ │ ├── LPLD_FatFs.c │ │ └── k60_card.h │ └── iar │ │ └── LPLD_FatFs.eww ├── 02-(GPIO)LPLD_LedLight │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_LedLight.c │ └── iar │ │ └── LPLD_LedLight.eww ├── 04-(UART)LPLD_SerialComm │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_SerialComm.c │ └── iar │ │ └── LPLD_SerialComm.eww ├── 13-(LPTMR)LPLD_PulseAcc │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_PulseAcc.c │ └── iar │ │ └── LPLD_PulseAcc.eww ├── 14-(LPTMR)LPLD_DelayMs │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_DelayMs.c │ └── iar │ │ └── LPLD_DelayMs.eww ├── 16-(RTC)LPLD_AlarmClock │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_AlarmClock.c │ └── iar │ │ └── LPLD_AlarmClock.eww ├── 22-(SPI)LPLD_Touchscreen │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_Touchscreen.c │ └── iar │ │ └── LPLD_Touchscreen.eww ├── 30-(WDOG)LPLD_WatchDog │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_WatchDog.c │ └── iar │ │ └── LPLD_WatchDog.eww ├── 15-(RTC)LPLD_RealTimeClock │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_RealTimeClock.c │ └── iar │ │ └── LPLD_RealTimeClock.eww ├── 32-(USB)LPLD_VirtualMouse │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_VirtualMouse.c │ └── iar │ │ └── LPLD_VirtualMouse.eww ├── (DMA PDB ADC)LPLD_DmaPdbADCx4 │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_DmaPdbADCx4.c │ └── iar │ │ └── LPLD_DmaPdbADCx4.eww ├── (PDB ADC)LPLD_PdbAnalogSample │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_PdbAnalogSample.c │ └── iar │ │ └── LPLD_PdbAnalogSample.eww ├── 03-(GPIOint)LPLD_ButtonPress │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_ButtonPress.c │ └── iar │ │ └── LPLD_ButtonPress.eww ├── 06-(ADC)LPLD_AnalogSampleSE │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_AnalogSampleSE.c │ └── iar │ │ └── LPLD_AnalogSampleSE.eww ├── 07-(ADC)LPLD_AnalogSampleDIFF │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_AnalogSampleDIFF.c │ └── iar │ │ └── LPLD_AnalogSampleDIFF.eww ├── 10-(FTM_PWM)LPLD_ServoControl │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_ServoControl.c │ └── iar │ │ └── LPLD_ServoControl.eww ├── 11-(FTM_IC)LPLD_InputCapture │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_InputCapture.c │ └── iar │ │ └── LPLD_InputCapture.eww ├── 17-(PDB)LPLD_PdbPeriodicInt │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_PdbPeriodicInt.c │ └── iar │ │ └── LPLD_PdbPeriodicInt.eww ├── 08-(DAC)LPLD_AnalogSignalOutput │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_AnalogSignalOutput.c │ └── iar │ │ └── LPLD_AnalogSignalOutput.eww ├── 09-(PIT)LPLD_PeriodicInterrupt │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_PeriodicInterrupt.c │ └── iar │ │ └── LPLD_PeriodicInterrupt.eww ├── 31-(USB)LPLD_VirtualSerialComm │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_VirtualSerialComm.c │ └── iar │ │ └── LPLD_VirtualSerialComm.eww ├── LPLD_Project_Template │ └── Template │ │ ├── app │ │ ├── Template.c │ │ └── k60_card.h │ │ └── iar │ │ └── Template.eww ├── 05-(UARTint)LPLD_SerialInterrupt │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_SerialInterrupt.c │ └── iar │ │ └── LPLD_SerialInterrupt.eww ├── 12-(FTM_QD)LPLD_QuadratureDecoder │ ├── app │ │ ├── k60_card.h │ │ └── LPLD_QuadratureDecoder.c │ └── iar │ │ └── LPLD_QuadratureDecoder.eww └── (DMA PDB ADC)LPLD_DmaPdbAnalogSample │ ├── app │ ├── k60_card.h │ └── LPLD_DmaPdbAnalogSample.c │ └── iar │ └── LPLD_DmaPdbAnalogSample.eww └── README.md /lib/CPU/MK60D10.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/MK60D10.h -------------------------------------------------------------------------------- /lib/common/io.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/io.c -------------------------------------------------------------------------------- /lib/common/io.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/io.h -------------------------------------------------------------------------------- /lib/common/uif.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/uif.c -------------------------------------------------------------------------------- /lib/common/uif.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/uif.h -------------------------------------------------------------------------------- /project/获取例程.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/获取例程.txt -------------------------------------------------------------------------------- /lib/CPU/MK60DZ10.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/MK60DZ10.h -------------------------------------------------------------------------------- /lib/FatFs/diskio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/FatFs/diskio.c -------------------------------------------------------------------------------- /lib/FatFs/diskio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/FatFs/diskio.h -------------------------------------------------------------------------------- /lib/common/alloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/alloc.c -------------------------------------------------------------------------------- /lib/common/assert.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/assert.c -------------------------------------------------------------------------------- /lib/common/assert.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/assert.h -------------------------------------------------------------------------------- /lib/common/common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/common.h -------------------------------------------------------------------------------- /lib/common/printf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/printf.c -------------------------------------------------------------------------------- /lib/common/queue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/queue.c -------------------------------------------------------------------------------- /lib/common/queue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/queue.h -------------------------------------------------------------------------------- /lib/common/stdlib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/stdlib.c -------------------------------------------------------------------------------- /lib/common/stdlib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/stdlib.h -------------------------------------------------------------------------------- /project/例程使用说明.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/例程使用说明.txt -------------------------------------------------------------------------------- /lib/CPU/system_MK60.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/system_MK60.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_LCD.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_LCD.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_LCD.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_LCD.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_ADC.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_ADC.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_ADC.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_ADC.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_CAN.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_CAN.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_CAN.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_CAN.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_DAC.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_DAC.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_DAC.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_DAC.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_DMA.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_DMA.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_DMA.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_DMA.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_ENET.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_ENET.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_ENET.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_ENET.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_FLASH.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_FLASH.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_FLASH.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_FLASH.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_FTM.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_FTM.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_FTM.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_FTM.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_GPIO.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_GPIO.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_GPIO.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_GPIO.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_I2C.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_I2C.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_I2C.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_I2C.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_LPTMR.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_LPTMR.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_LPTMR.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_LPTMR.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_MCG.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_MCG.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_MCG.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_MCG.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_NVIC.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_NVIC.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_NVIC.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_NVIC.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_PDB.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_PDB.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_PDB.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_PDB.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_PIT.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_PIT.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_PIT.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_PIT.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_RTC.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_RTC.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_RTC.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_RTC.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_SDHC.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_SDHC.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_SDHC.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_SDHC.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_SPI.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_SPI.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_SPI.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_SPI.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_TSI.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_TSI.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_TSI.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_TSI.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_UART.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_UART.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_UART.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_UART.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_USB.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_USB.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_USB.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_USB.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_WDOG.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_WDOG.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_WDOG.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_WDOG.h -------------------------------------------------------------------------------- /lib/common/relocate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/relocate.c -------------------------------------------------------------------------------- /lib/common/relocate.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/common/relocate.h -------------------------------------------------------------------------------- /lib/CPU/startup_K60D10.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/startup_K60D10.s -------------------------------------------------------------------------------- /lib/CPU/startup_K60F12.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/startup_K60F12.s -------------------------------------------------------------------------------- /lib/CPU/system_MK60D10.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/system_MK60D10.h -------------------------------------------------------------------------------- /lib/CPU/system_MK60F12.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/system_MK60F12.h -------------------------------------------------------------------------------- /lib/CPU/system_MK60F15.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/system_MK60F15.h -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_SCCB.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_SCCB.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_SCCB.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_SCCB.h -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_SDRAM.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_SDRAM.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_SDRAM.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_SDRAM.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_FLEXBUS.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_FLEXBUS.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_FLEXBUS.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_FLEXBUS.h -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_SYSTICK.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_SYSTICK.c -------------------------------------------------------------------------------- /lib/LPLD/HW/HW_SYSTICK.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/HW/HW_SYSTICK.h -------------------------------------------------------------------------------- /lib/LPLD/LPLD_Drivers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/LPLD_Drivers.h -------------------------------------------------------------------------------- /lib/CPU/startup_K60DZ10.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/startup_K60DZ10.s -------------------------------------------------------------------------------- /lib/CPU/system_MK60DZ10.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/CPU/system_MK60DZ10.h -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_DiskIO.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_DiskIO.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_DiskIO.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_DiskIO.h -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_MAG3110.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_MAG3110.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_MAG3110.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_MAG3110.h -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_MMA7660.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_MMA7660.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_MMA7660.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_MMA7660.h -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_MMA8451.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_MMA8451.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_MMA8451.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_MMA8451.h -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_MPU6050.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_MPU6050.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_MPU6050.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_MPU6050.h -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_Nrf24L01.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_Nrf24L01.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_Nrf24L01.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_Nrf24L01.h -------------------------------------------------------------------------------- /lib/LPLD/FUNC/TimeStamp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/FUNC/TimeStamp.c -------------------------------------------------------------------------------- /lib/LPLD/FUNC/TimeStamp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/FUNC/TimeStamp.h -------------------------------------------------------------------------------- /lib/uCOS-II/Ports/os_dbg.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/uCOS-II/Ports/os_dbg.c -------------------------------------------------------------------------------- /lib/USB/driver/virtual_com.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/USB/driver/virtual_com.c -------------------------------------------------------------------------------- /lib/USB/driver/virtual_com.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/USB/driver/virtual_com.h -------------------------------------------------------------------------------- /lib/uCOS-II/Ports/os_cpu_c.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/uCOS-II/Ports/os_cpu_c.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_Touchscreen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_Touchscreen.c -------------------------------------------------------------------------------- /lib/LPLD/DEV/DEV_Touchscreen.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/LPLD/DEV/DEV_Touchscreen.h -------------------------------------------------------------------------------- /project/K60快速建立工程_VG_1.0.2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/K60快速建立工程_VG_1.0.2.exe -------------------------------------------------------------------------------- /project/LPLD_TestRUSH/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/LPLD_TestRUSH/app/k60_card.h -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosOSSem/app/os_cfg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(uCos)LPLD_uCosOSSem/app/os_cfg.h -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosV292/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(uCos)LPLD_uCosV292/app/k60_card.h -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosV292/app/os_cfg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(uCos)LPLD_uCosV292/app/os_cfg.h -------------------------------------------------------------------------------- /project/01-LPLD_HelloWorld/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/01-LPLD_HelloWorld/app/k60_card.h -------------------------------------------------------------------------------- /project/33-(DMA)LPLD_OV7670/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/33-(DMA)LPLD_OV7670/app/k60_card.h -------------------------------------------------------------------------------- /project/34-(NVIC)LPLD_Nvic/app/LPLD_Nvic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/34-(NVIC)LPLD_Nvic/app/LPLD_Nvic.c -------------------------------------------------------------------------------- /project/34-(NVIC)LPLD_Nvic/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/34-(NVIC)LPLD_Nvic/app/k60_card.h -------------------------------------------------------------------------------- /project/LPLD_TestRUSH/app/LPLD_TestRUSH.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/LPLD_TestRUSH/app/LPLD_TestRUSH.c -------------------------------------------------------------------------------- /lib/iar_config_files/LPLD_K60DN512_BOOT.icf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/iar_config_files/LPLD_K60DN512_BOOT.icf -------------------------------------------------------------------------------- /lib/iar_config_files/LPLD_K60DN512_FLASH.icf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/iar_config_files/LPLD_K60DN512_FLASH.icf -------------------------------------------------------------------------------- /lib/iar_config_files/LPLD_K60DX256_BOOT.icf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/iar_config_files/LPLD_K60DX256_BOOT.icf -------------------------------------------------------------------------------- /lib/iar_config_files/LPLD_K60DX256_FLASH.icf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/iar_config_files/LPLD_K60DX256_FLASH.icf -------------------------------------------------------------------------------- /lib/iar_config_files/LPLD_K60FN1M0_BOOT.icf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/iar_config_files/LPLD_K60FN1M0_BOOT.icf -------------------------------------------------------------------------------- /lib/iar_config_files/LPLD_K60FN1M0_FLASH.icf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/lib/iar_config_files/LPLD_K60FN1M0_FLASH.icf -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosOSSem/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(uCos)LPLD_uCosOSSem/app/k60_card.h -------------------------------------------------------------------------------- /project/18-(I2C)LPLD_MMA7660/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/18-(I2C)LPLD_MMA7660/app/k60_card.h -------------------------------------------------------------------------------- /project/19-(I2C)LPLD_MMA8451/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/19-(I2C)LPLD_MMA8451/app/k60_card.h -------------------------------------------------------------------------------- /project/20-(I2C)LPLD_MAG3110/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/20-(I2C)LPLD_MAG3110/app/k60_card.h -------------------------------------------------------------------------------- /project/21-(SPI)LPLD_Nrf24L01/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/21-(SPI)LPLD_Nrf24L01/app/k60_card.h -------------------------------------------------------------------------------- /project/23-(TSI)LPLD_TouchPad/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/23-(TSI)LPLD_TouchPad/app/k60_card.h -------------------------------------------------------------------------------- /project/24-(FLEXBUS)LPLD_LCD/app/LPLD_LCD.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/24-(FLEXBUS)LPLD_LCD/app/LPLD_LCD.c -------------------------------------------------------------------------------- /project/24-(FLEXBUS)LPLD_LCD/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/24-(FLEXBUS)LPLD_LCD/app/k60_card.h -------------------------------------------------------------------------------- /project/25-(FLEXBUS)LPLD_SRAM/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/25-(FLEXBUS)LPLD_SRAM/app/k60_card.h -------------------------------------------------------------------------------- /project/26-(CAN)LPLD_CanComm/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/26-(CAN)LPLD_CanComm/app/k60_card.h -------------------------------------------------------------------------------- /project/27-(ENET)LPLD_MacComm/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/27-(ENET)LPLD_MacComm/app/k60_card.h -------------------------------------------------------------------------------- /project/28-(SDHC)LPLD_SdCard/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/28-(SDHC)LPLD_SdCard/app/k60_card.h -------------------------------------------------------------------------------- /project/29-(FLASH)LPLD_Flash/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/29-(FLASH)LPLD_Flash/app/k60_card.h -------------------------------------------------------------------------------- /project/35-(I2C)LPLD_MPU6050/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/35-(I2C)LPLD_MPU6050/app/k60_card.h -------------------------------------------------------------------------------- /project/(FatFS SDHC)LPLD_FatFs/app/LPLD_FatFs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(FatFS SDHC)LPLD_FatFs/app/LPLD_FatFs.c -------------------------------------------------------------------------------- /project/(FatFS SDHC)LPLD_FatFs/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(FatFS SDHC)LPLD_FatFs/app/k60_card.h -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosV292/app/LPLD_uCosV292.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(uCos)LPLD_uCosV292/app/LPLD_uCosV292.c -------------------------------------------------------------------------------- /project/02-(GPIO)LPLD_LedLight/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/02-(GPIO)LPLD_LedLight/app/k60_card.h -------------------------------------------------------------------------------- /project/04-(UART)LPLD_SerialComm/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/04-(UART)LPLD_SerialComm/app/k60_card.h -------------------------------------------------------------------------------- /project/13-(LPTMR)LPLD_PulseAcc/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/13-(LPTMR)LPLD_PulseAcc/app/k60_card.h -------------------------------------------------------------------------------- /project/14-(LPTMR)LPLD_DelayMs/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/14-(LPTMR)LPLD_DelayMs/app/k60_card.h -------------------------------------------------------------------------------- /project/16-(RTC)LPLD_AlarmClock/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/16-(RTC)LPLD_AlarmClock/app/k60_card.h -------------------------------------------------------------------------------- /project/18-(I2C)LPLD_MMA7660/app/LPLD_MMA7660.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/18-(I2C)LPLD_MMA7660/app/LPLD_MMA7660.c -------------------------------------------------------------------------------- /project/19-(I2C)LPLD_MMA8451/app/LPLD_MMA8451.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/19-(I2C)LPLD_MMA8451/app/LPLD_MMA8451.c -------------------------------------------------------------------------------- /project/20-(I2C)LPLD_MAG3110/app/LPLD_MAG3110.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/20-(I2C)LPLD_MAG3110/app/LPLD_MAG3110.c -------------------------------------------------------------------------------- /project/22-(SPI)LPLD_Touchscreen/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/22-(SPI)LPLD_Touchscreen/app/k60_card.h -------------------------------------------------------------------------------- /project/25-(FLEXBUS)LPLD_SRAM/app/LPLD_SRAM.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/25-(FLEXBUS)LPLD_SRAM/app/LPLD_SRAM.c -------------------------------------------------------------------------------- /project/26-(CAN)LPLD_CanComm/app/LPLD_CanComm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/26-(CAN)LPLD_CanComm/app/LPLD_CanComm.c -------------------------------------------------------------------------------- /project/28-(SDHC)LPLD_SdCard/app/LPLD_SdCard.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/28-(SDHC)LPLD_SdCard/app/LPLD_SdCard.c -------------------------------------------------------------------------------- /project/29-(FLASH)LPLD_Flash/app/LPLD_Flash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/29-(FLASH)LPLD_Flash/app/LPLD_Flash.c -------------------------------------------------------------------------------- /project/30-(WDOG)LPLD_WatchDog/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/30-(WDOG)LPLD_WatchDog/app/k60_card.h -------------------------------------------------------------------------------- /project/33-(DMA)LPLD_OV7670/app/LPLD_OV7670.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/33-(DMA)LPLD_OV7670/app/LPLD_OV7670.c -------------------------------------------------------------------------------- /project/35-(I2C)LPLD_MPU6050/app/LPLD_MPU6050.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/35-(I2C)LPLD_MPU6050/app/LPLD_MPU6050.c -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosOSSem/app/LPLD_uCosOSSem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(uCos)LPLD_uCosOSSem/app/LPLD_uCosOSSem.c -------------------------------------------------------------------------------- /project/01-LPLD_HelloWorld/app/LPLD_HelloWorld.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/01-LPLD_HelloWorld/app/LPLD_HelloWorld.c -------------------------------------------------------------------------------- /project/14-(LPTMR)LPLD_DelayMs/app/LPLD_DelayMs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/14-(LPTMR)LPLD_DelayMs/app/LPLD_DelayMs.c -------------------------------------------------------------------------------- /project/15-(RTC)LPLD_RealTimeClock/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/15-(RTC)LPLD_RealTimeClock/app/k60_card.h -------------------------------------------------------------------------------- /project/21-(SPI)LPLD_Nrf24L01/app/LPLD_Nrf24L01.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/21-(SPI)LPLD_Nrf24L01/app/LPLD_Nrf24L01.c -------------------------------------------------------------------------------- /project/23-(TSI)LPLD_TouchPad/app/LPLD_TouchPad.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/23-(TSI)LPLD_TouchPad/app/LPLD_TouchPad.c -------------------------------------------------------------------------------- /project/27-(ENET)LPLD_MacComm/app/LPLD_MacComm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/27-(ENET)LPLD_MacComm/app/LPLD_MacComm.c -------------------------------------------------------------------------------- /project/32-(USB)LPLD_VirtualMouse/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/32-(USB)LPLD_VirtualMouse/app/k60_card.h -------------------------------------------------------------------------------- /project/(DMA PDB ADC)LPLD_DmaPdbADCx4/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(DMA PDB ADC)LPLD_DmaPdbADCx4/app/k60_card.h -------------------------------------------------------------------------------- /project/(PDB ADC)LPLD_PdbAnalogSample/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(PDB ADC)LPLD_PdbAnalogSample/app/k60_card.h -------------------------------------------------------------------------------- /project/02-(GPIO)LPLD_LedLight/app/LPLD_LedLight.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/02-(GPIO)LPLD_LedLight/app/LPLD_LedLight.c -------------------------------------------------------------------------------- /project/03-(GPIOint)LPLD_ButtonPress/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/03-(GPIOint)LPLD_ButtonPress/app/k60_card.h -------------------------------------------------------------------------------- /project/06-(ADC)LPLD_AnalogSampleSE/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/06-(ADC)LPLD_AnalogSampleSE/app/k60_card.h -------------------------------------------------------------------------------- /project/07-(ADC)LPLD_AnalogSampleDIFF/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/07-(ADC)LPLD_AnalogSampleDIFF/app/k60_card.h -------------------------------------------------------------------------------- /project/10-(FTM_PWM)LPLD_ServoControl/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/10-(FTM_PWM)LPLD_ServoControl/app/k60_card.h -------------------------------------------------------------------------------- /project/11-(FTM_IC)LPLD_InputCapture/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/11-(FTM_IC)LPLD_InputCapture/app/k60_card.h -------------------------------------------------------------------------------- /project/13-(LPTMR)LPLD_PulseAcc/app/LPLD_PulseAcc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/13-(LPTMR)LPLD_PulseAcc/app/LPLD_PulseAcc.c -------------------------------------------------------------------------------- /project/17-(PDB)LPLD_PdbPeriodicInt/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/17-(PDB)LPLD_PdbPeriodicInt/app/k60_card.h -------------------------------------------------------------------------------- /project/30-(WDOG)LPLD_WatchDog/app/LPLD_WatchDog.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/30-(WDOG)LPLD_WatchDog/app/LPLD_WatchDog.c -------------------------------------------------------------------------------- /project/04-(UART)LPLD_SerialComm/app/LPLD_SerialComm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/04-(UART)LPLD_SerialComm/app/LPLD_SerialComm.c -------------------------------------------------------------------------------- /project/08-(DAC)LPLD_AnalogSignalOutput/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/08-(DAC)LPLD_AnalogSignalOutput/app/k60_card.h -------------------------------------------------------------------------------- /project/09-(PIT)LPLD_PeriodicInterrupt/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/09-(PIT)LPLD_PeriodicInterrupt/app/k60_card.h -------------------------------------------------------------------------------- /project/16-(RTC)LPLD_AlarmClock/app/LPLD_AlarmClock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/16-(RTC)LPLD_AlarmClock/app/LPLD_AlarmClock.c -------------------------------------------------------------------------------- /project/31-(USB)LPLD_VirtualSerialComm/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/31-(USB)LPLD_VirtualSerialComm/app/k60_card.h -------------------------------------------------------------------------------- /project/LPLD_Project_Template/Template/app/Template.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/LPLD_Project_Template/Template/app/Template.c -------------------------------------------------------------------------------- /project/LPLD_Project_Template/Template/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/LPLD_Project_Template/Template/app/k60_card.h -------------------------------------------------------------------------------- /project/05-(UARTint)LPLD_SerialInterrupt/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/05-(UARTint)LPLD_SerialInterrupt/app/k60_card.h -------------------------------------------------------------------------------- /project/12-(FTM_QD)LPLD_QuadratureDecoder/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/12-(FTM_QD)LPLD_QuadratureDecoder/app/k60_card.h -------------------------------------------------------------------------------- /project/22-(SPI)LPLD_Touchscreen/app/LPLD_Touchscreen.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/22-(SPI)LPLD_Touchscreen/app/LPLD_Touchscreen.c -------------------------------------------------------------------------------- /project/32-(USB)LPLD_VirtualMouse/app/LPLD_VirtualMouse.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/32-(USB)LPLD_VirtualMouse/app/LPLD_VirtualMouse.c -------------------------------------------------------------------------------- /project/(DMA PDB ADC)LPLD_DmaPdbAnalogSample/app/k60_card.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(DMA PDB ADC)LPLD_DmaPdbAnalogSample/app/k60_card.h -------------------------------------------------------------------------------- /project/03-(GPIOint)LPLD_ButtonPress/app/LPLD_ButtonPress.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/03-(GPIOint)LPLD_ButtonPress/app/LPLD_ButtonPress.c -------------------------------------------------------------------------------- /project/15-(RTC)LPLD_RealTimeClock/app/LPLD_RealTimeClock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/15-(RTC)LPLD_RealTimeClock/app/LPLD_RealTimeClock.c -------------------------------------------------------------------------------- /project/(DMA PDB ADC)LPLD_DmaPdbADCx4/app/LPLD_DmaPdbADCx4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(DMA PDB ADC)LPLD_DmaPdbADCx4/app/LPLD_DmaPdbADCx4.c -------------------------------------------------------------------------------- /project/06-(ADC)LPLD_AnalogSampleSE/app/LPLD_AnalogSampleSE.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/06-(ADC)LPLD_AnalogSampleSE/app/LPLD_AnalogSampleSE.c -------------------------------------------------------------------------------- /project/10-(FTM_PWM)LPLD_ServoControl/app/LPLD_ServoControl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/10-(FTM_PWM)LPLD_ServoControl/app/LPLD_ServoControl.c -------------------------------------------------------------------------------- /project/11-(FTM_IC)LPLD_InputCapture/app/LPLD_InputCapture.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/11-(FTM_IC)LPLD_InputCapture/app/LPLD_InputCapture.c -------------------------------------------------------------------------------- /project/17-(PDB)LPLD_PdbPeriodicInt/app/LPLD_PdbPeriodicInt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/17-(PDB)LPLD_PdbPeriodicInt/app/LPLD_PdbPeriodicInt.c -------------------------------------------------------------------------------- /project/(PDB ADC)LPLD_PdbAnalogSample/app/LPLD_PdbAnalogSample.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(PDB ADC)LPLD_PdbAnalogSample/app/LPLD_PdbAnalogSample.c -------------------------------------------------------------------------------- /project/05-(UARTint)LPLD_SerialInterrupt/app/LPLD_SerialInterrupt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/05-(UARTint)LPLD_SerialInterrupt/app/LPLD_SerialInterrupt.c -------------------------------------------------------------------------------- /project/07-(ADC)LPLD_AnalogSampleDIFF/app/LPLD_AnalogSampleDIFF.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/07-(ADC)LPLD_AnalogSampleDIFF/app/LPLD_AnalogSampleDIFF.c -------------------------------------------------------------------------------- /project/09-(PIT)LPLD_PeriodicInterrupt/app/LPLD_PeriodicInterrupt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/09-(PIT)LPLD_PeriodicInterrupt/app/LPLD_PeriodicInterrupt.c -------------------------------------------------------------------------------- /project/31-(USB)LPLD_VirtualSerialComm/app/LPLD_VirtualSerialComm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/31-(USB)LPLD_VirtualSerialComm/app/LPLD_VirtualSerialComm.c -------------------------------------------------------------------------------- /project/08-(DAC)LPLD_AnalogSignalOutput/app/LPLD_AnalogSignalOutput.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/08-(DAC)LPLD_AnalogSignalOutput/app/LPLD_AnalogSignalOutput.c -------------------------------------------------------------------------------- /project/12-(FTM_QD)LPLD_QuadratureDecoder/app/LPLD_QuadratureDecoder.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/12-(FTM_QD)LPLD_QuadratureDecoder/app/LPLD_QuadratureDecoder.c -------------------------------------------------------------------------------- /project/(DMA PDB ADC)LPLD_DmaPdbAnalogSample/app/LPLD_DmaPdbAnalogSample.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LPLDTeam/LPLD_OSKinetis/HEAD/project/(DMA PDB ADC)LPLD_DmaPdbAnalogSample/app/LPLD_DmaPdbAnalogSample.c -------------------------------------------------------------------------------- /lib/FatFs/option/unicode.c: -------------------------------------------------------------------------------- 1 | #include "../ff.h" 2 | 3 | #if _USE_LFN != 0 4 | 5 | #if _CODE_PAGE == 932 6 | #include "cc932.c" 7 | #elif _CODE_PAGE == 936 8 | #include "cc936.c" 9 | #elif _CODE_PAGE == 949 10 | #include "cc949.c" 11 | #elif _CODE_PAGE == 950 12 | #include "cc950.c" 13 | #else 14 | #include "ccsbcs.c" 15 | #endif 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /lib/USB/driver/usb_driver.h: -------------------------------------------------------------------------------- 1 | #ifndef __USB_DRIVER_H__ 2 | #define __USB_DRIVER_H__ 3 | 4 | #include "usb_dci_kinetis.h" 5 | 6 | #if(USB_DEVICE_CLASS == USB_DEVICE_CLASS_CDC) 7 | #include "usb_cdc.h" 8 | #include "virtual_com.h" 9 | #elif(USB_DEVICE_CLASS == USB_DEVICE_CLASS_HID) 10 | #include "usb_hid.h" 11 | #include "mouse_button.h" 12 | #endif 13 | 14 | #endif -------------------------------------------------------------------------------- /project/25-(FLEXBUS)LPLD_SRAM/iar/LPLD_SRAM.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_SRAM_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_SRAM_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_SRAM_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/24-(FLEXBUS)LPLD_LCD/iar/LPLD_LCD.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_LCD_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_LCD_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_LCD_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/34-(NVIC)LPLD_Nvic/iar/LPLD_Nvic.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_Nvic_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_Nvic_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_Nvic_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/29-(FLASH)LPLD_Flash/iar/LPLD_Flash.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_Flash_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_Flash_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_Flash_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/(FatFS SDHC)LPLD_FatFs/iar/LPLD_FatFs.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_FatFs_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_FatFs_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_FatFs_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/28-(SDHC)LPLD_SdCard/iar/LPLD_SdCard.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_SdCard_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_SdCard_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_SdCard_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/33-(DMA)LPLD_OV7670/iar/LPLD_OV7670.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_OV7670_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_OV7670_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_OV7670_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/LPLD_Project_Template/Template/iar/Template.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\Template_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\Template_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\Template_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/LPLD_TestRUSH/iar/LPLD_TestRUSH.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_TestRUSH_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_TestRUSH_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_TestRUSH_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosV292/iar/LPLD_uCosV292.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_uCosV292_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_uCosV292_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_uCosV292_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/14-(LPTMR)LPLD_DelayMs/iar/LPLD_DelayMs.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_DelayMs_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_DelayMs_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_DelayMs_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/18-(I2C)LPLD_MMA7660/iar/LPLD_MMA7660.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_MMA7660_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_MMA7660_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_MMA7660_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/19-(I2C)LPLD_MMA8451/iar/LPLD_MMA8451.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_MMA8451_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_MMA8451_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_MMA8451_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/20-(I2C)LPLD_MAG3110/iar/LPLD_MAG3110.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_MAG3110_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_MAG3110_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_MAG3110_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/26-(CAN)LPLD_CanComm/iar/LPLD_CanComm.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_CanComm_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_CanComm_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_CanComm_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/27-(ENET)LPLD_MacComm/iar/LPLD_MacComm.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_MacComm_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_MacComm_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_MacComm_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/35-(I2C)LPLD_MPU6050/iar/LPLD_MPU6050.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_MPU6050_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_MPU6050_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_MPU6050_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosOSSem/iar/LPLD_uCosOSSem.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_uCosOSSem_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_uCosOSSem_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_uCosOSSem_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/02-(GPIO)LPLD_LedLight/iar/LPLD_LedLight.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_LedLight_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_LedLight_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_LedLight_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/13-(LPTMR)LPLD_PulseAcc/iar/LPLD_PulseAcc.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_PulseAcc_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_PulseAcc_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_PulseAcc_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/21-(SPI)LPLD_Nrf24L01/iar/LPLD_Nrf24L01.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_Nrf24l01_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_Nrf24l01_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_Nrf24l01_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/23-(TSI)LPLD_TouchPad/iar/LPLD_TouchPad.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_TouchPad_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_TouchPad_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_TouchPad_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/30-(WDOG)LPLD_WatchDog/iar/LPLD_WatchDog.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_WatchDog_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_WatchDog_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_WatchDog_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/01-LPLD_HelloWorld/iar/LPLD_HelloWorld.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_HelloWorld_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_HelloWorld_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_HelloWorld_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/04-(UART)LPLD_SerialComm/iar/LPLD_SerialComm.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_SerialComm_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_SerialComm_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_SerialComm_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/16-(RTC)LPLD_AlarmClock/iar/LPLD_AlarmClock.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_AlarmClock_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_AlarmClock_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_AlarmClock_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/22-(SPI)LPLD_Touchscreen/iar/LPLD_Touchscreen.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_Touchscreen_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_Touchscreen_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_Touchscreen_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/(DMA PDB ADC)LPLD_DmaPdbADCx4/iar/LPLD_DmaPdbADCx4.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_DmaPdbADCx4_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_DmaPdbADCx4_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_DmaPdbADCx4_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/03-(GPIOint)LPLD_ButtonPress/iar/LPLD_ButtonPress.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_ButtonPress_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_ButtonPress_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_ButtonPress_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/11-(FTM_IC)LPLD_InputCapture/iar/LPLD_InputCapture.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_InputCapture_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_InputCapture_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_InputCapture_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/32-(USB)LPLD_VirtualMouse/iar/LPLD_VirtualMouse.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_VirtualMouse_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_VirtualMouse_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_VirtualMouse_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/10-(FTM_PWM)LPLD_ServoControl/iar/LPLD_ServoControl.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_ServoControl_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_ServoControl_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_ServoControl_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/15-(RTC)LPLD_RealTimeClock/iar/LPLD_RealTimeClock.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_RealTimeClock_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_RealTimeClock_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_RealTimeClock_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/06-(ADC)LPLD_AnalogSampleSE/iar/LPLD_AnalogSampleSE.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_AnalogSampleSE_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_AnalogSampleSE_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_AnalogSampleSE_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/17-(PDB)LPLD_PdbPeriodicInt/iar/LPLD_PdbPeriodicInt.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_PdbPeriodicInt_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_PdbPeriodicInt_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_PdbPeriodicInt_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/(PDB ADC)LPLD_PdbAnalogSample/iar/LPLD_PdbAnalogSample.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_PdbAnalogSample_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_PdbAnalogSample_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_PdbAnalogSample_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/05-(UARTint)LPLD_SerialInterrupt/iar/LPLD_SerialInterrupt.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_SerialInterrupt_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_SerialInterrupt_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_SerialInterrupt_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/07-(ADC)LPLD_AnalogSampleDIFF/iar/LPLD_AnalogSampleDIFF.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_AnalogSampleDIFF_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_AnalogSampleDIFF_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_AnalogSampleDIFF_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/09-(PIT)LPLD_PeriodicInterrupt/iar/LPLD_PeriodicInterrupt.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_PeriodicInterrupt_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_PeriodicInterrupt_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_PeriodicInterrupt_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/12-(FTM_QD)LPLD_QuadratureDecoder/iar/LPLD_QuadratureDecoder.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_QuadratureDecoder_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_QuadratureDecoder_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_QuadratureDecoder_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/31-(USB)LPLD_VirtualSerialComm/iar/LPLD_VirtualSerialComm.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_VirtualSerialComm_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_VirtualSerialComm_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_VirtualSerialComm_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/08-(DAC)LPLD_AnalogSignalOutput/iar/LPLD_AnalogSignalOutput.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_AnalogSignalOutput_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_AnalogSignalOutput_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_AnalogSignalOutput_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /project/(DMA PDB ADC)LPLD_DmaPdbAnalogSample/iar/LPLD_DmaPdbAnalogSample.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $WS_DIR$\LPLD_DmaPdbAnalogSample_K60DZ10.ewp 6 | 7 | 8 | $WS_DIR$\LPLD_DmaPdbAnalogSample_K60D10.ewp 9 | 10 | 11 | $WS_DIR$\LPLD_DmaPdbAnalogSample_K60F12.ewp 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /lib/USB/common/derivative.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Note: This file is recreated by the project wizard whenever the MCU is 3 | * changed and should not be edited by hand 4 | */ 5 | 6 | /* Include the derivative-specific header file */ 7 | 8 | /* 9 | * Include the platform specific header file 10 | */ 11 | #if (defined(TWR_K40X256)) 12 | #include 13 | #elif (defined(TWR_K53N512)) 14 | #include 15 | #elif (defined(LPLD_K60)) 16 | #include "common.h" //lpld modify 17 | #else 18 | #error "No valid platform defined" 19 | #endif 20 | 21 | #define __MK_xxx_H__ 22 | #define LITTLE_ENDIAN 23 | #define __NO_SETJMP //lpld modify 24 | //#define printf printf_kinetis 25 | //#define sprintf sprintf_kinetis 26 | 27 | //define current version of Freescal USB stack 28 | #define FREESCALE_USB_STACK_VERSION (v4.1.1) //lpld modify 29 | 30 | -------------------------------------------------------------------------------- /lib/FatFs/integer.h: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------*/ 2 | /* Integer type definitions for FatFs module */ 3 | /*-------------------------------------------*/ 4 | 5 | #ifndef _INTEGER 6 | #define _INTEGER 7 | 8 | #ifdef _WIN32 /* FatFs development platform */ 9 | 10 | #include 11 | #include 12 | 13 | #else /* Embedded platform */ 14 | 15 | /* These types must be 16-bit, 32-bit or larger integer */ 16 | typedef int INT; 17 | typedef unsigned int UINT; 18 | 19 | /* These types must be 8-bit integer */ 20 | typedef char CHAR; 21 | typedef unsigned char UCHAR; 22 | typedef unsigned char BYTE; 23 | 24 | /* These types must be 16-bit integer */ 25 | typedef short SHORT; 26 | typedef unsigned short USHORT; 27 | typedef unsigned short WORD; 28 | typedef unsigned short WCHAR; 29 | 30 | /* These types must be 32-bit integer */ 31 | typedef long LONG; 32 | typedef unsigned long ULONG; 33 | typedef unsigned long DWORD; 34 | 35 | #endif 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /lib/common/memtest.h: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * 3 | * Filename: memtest.h 4 | * 5 | * Description: Memory-testing module API. 6 | * 7 | * Notes: The memory tests can be easily ported to systems with 8 | * different data bus widths by redefining 'datum' type. 9 | * 10 | * 11 | * Copyright (c) 2000 by Michael Barr. This software is placed into 12 | * the public domain and may be used for any purpose. However, this 13 | * notice must not be changed or removed and no warranty is either 14 | * expressed or implied by its publication or distribution. 15 | **********************************************************************/ 16 | 17 | #ifndef _memtest_h 18 | #define _memtest_h 19 | 20 | 21 | /* 22 | * Define NULL pointer value. 23 | */ 24 | #ifndef NULL 25 | #define NULL (void *) 0 26 | #endif 27 | 28 | /* 29 | * Set the data bus width. 30 | */ 31 | typedef uint32 datum; 32 | 33 | /* 34 | * Function prototypes. 35 | */ 36 | datum memTestDataBus(volatile datum * address); 37 | datum * memTestAddressBus(volatile datum * baseAddress, uint32 nBytes); 38 | datum * memTestDevice(volatile datum * baseAddress, uint32 nBytes); 39 | 40 | 41 | #endif /* _memtest_h */ 42 | 43 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LPLD_OSKinetis 2 | 拉普兰德开源Kinetis固件库 3 | 官方网站:[www.lpld.cn](http://www.lpld.cn) 4 | 在线文档:[wiki.lpld.cn](http://wiki.lpld.cn) 5 | 6 | *** 7 | ## 欢迎使用OSKinetis 8 | 我们将OSKinetis代码托管到GitHub,并随时保持更新。你可以在这里获取最新版本的固件库,**但是这是开发版本,如果你需要获取我们正式发布的稳定版本,请直接到我们的官网获取**。 9 | [GitHub地址](https://github.com/LPLDTeam/LPLD_OSKinetis/) 10 | OSKinetis固件库在V3.10以上版本需要使用***IAR for ARM V7.20***以上版本,下载地址见`project/例程使用说明.txt` 11 | OSKinetis是拉普兰德开发并维护的基于C语言编写的Kinetis K系列单片机固件库(驱动)。它是免费的、开源的代码,你可以自由使用本代码,但是请勿作为闭源软件发布,请勿再未得到LPLD许可的情况下用于商业软件。 12 | 13 | *** 14 | ## 日志 ## 15 | 16 | 2/13/2015 8:58:02 PM 17 | - 升级快速创建工程工具,添加创建K60F,K60D,K60DZ,升级clean功能。 18 | 19 | 2/13/2015 8:02:31 AM 20 | - 修改HW_UART.c和HW_UART.h,添加**UART FIFO DMA**功能,并在 21 | `05-(UARTint)LPLD_SerialInterrupt`中添加FIFO和DMA测试程序。 22 | - 修改system_MK60.c,增加cpu_identify()和Diagnostic_Reset_Source()函数 23 | - 修复LPLD_SerialComm_K60F12.ewp XML引入.c文件bug。 24 | - 修改HW_MCG.c**增加8Mhz 无源晶振启动程序**,根据无源晶振情况计算system_MK60.c中的SystemCoreClockUpdate。 25 | - 修复system_MK60D10.h文件的endline warning。 26 | - 在个project中的k60_card.h中添加晶振选择配置。 27 | - **添加设备MPU6050驱动文件**。 28 | 29 | 1/18/2015 12:42:04 AM 30 | - 为每个例程添加K60D10芯片工程,待移植K60D10驱动。 31 | - 修改例程名LPLD_SDRAM为LPLD_SRAM。 32 | 33 | 1/11/2015 4:30:31 PM 34 | - 为了适应更多的Kinetis芯片,修改工程文件,将不同系列芯片的project添加到同一个IAR的workspace下。例如workpspace的文件名为`LPLD_HelloWorld.eww`,那么它就包含了以下不同芯片的project,分别为`LPLD_HelloWorld_K60DZ10.ewp`,`LPLD_HelloWorld_K60F12.ewp`等。 35 | - 修改不同CPU的宏定义名称,使之更加具体针对某一系列的CPU。例如将`USE_K60D`改为`USE_K60DZ10`,代表本工程只针对MK60DZ10系列的单片机。 36 | - 添加几个CPU的宏定义:`USE_K60D10`,`USE_K60F12`。 37 | - 修改.s启动文件名,使之更加具体针对某一系列的CPU。 38 | - 重命名.icf文件名,统一格式为`LPLD_{CpuName}_{RAM|FLASH|BOOT}` 39 | -------------------------------------------------------------------------------- /lib/iar_config_files/LPLD_K60DX256_RAM.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x1fff8000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x0; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1fff8000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_RAM2_start__ = 0x20000000; 17 | define symbol __region_RAM2_end__ = 0x20008000; 18 | 19 | define exported symbol __VECTOR_TABLE = 0x1fff8000; 20 | define exported symbol __VECTOR_RAM = 0x1fff8000; 21 | 22 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x20007FF8; 23 | 24 | define symbol __code_start__ = 0x1fff8410; 25 | 26 | define memory mem with size = 4G; 27 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 28 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 29 | 30 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 31 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 32 | 33 | initialize manually { readwrite }; 34 | initialize manually { section .data}; 35 | initialize manually { section .textrw }; 36 | do not initialize { section .noinit }; 37 | 38 | define block CodeRelocate { section .textrw_init }; 39 | define block CodeRelocateRam { section .textrw }; 40 | 41 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 42 | place at address mem:__code_start__ { readonly section .noinit }; 43 | 44 | place in RAM_region { readonly, block CodeRelocate }; 45 | 46 | place in RAM_region { readwrite, block CodeRelocateRam, 47 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /lib/iar_config_files/LPLD_K60DN512_RAM.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x1fff0000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x0; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1fff0000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x800;//b06862 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_RAM2_start__ = 0x20000000; 17 | define symbol __region_RAM2_end__ = 0x20010000; 18 | 19 | define exported symbol __VECTOR_TABLE = 0x1fff0000; 20 | define exported symbol __VECTOR_RAM = 0x1fff0000; 21 | 22 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x2000FFF8; 23 | 24 | define symbol __code_start__ = 0x1fff0410; 25 | 26 | define memory mem with size = 4G; 27 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 28 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 29 | 30 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 31 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 32 | 33 | initialize manually { readwrite }; 34 | initialize manually { section .data}; 35 | initialize manually { section .textrw }; 36 | do not initialize { section .noinit }; 37 | 38 | define block CodeRelocate { section .textrw_init }; 39 | define block CodeRelocateRam { section .textrw }; 40 | 41 | 42 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 43 | place at address mem:__code_start__ { readonly section .noinit }; 44 | 45 | place in RAM_region { readonly, block CodeRelocate }; 46 | 47 | place in RAM_region { readwrite, block CodeRelocateRam, 48 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /lib/iar_config_files/32KB_Ram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x1fffc000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x0; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1fffc000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_RAM2_start__ = 0x20000000; 17 | define symbol __region_RAM2_end__ = 0x20004000; 18 | 19 | define exported symbol __VECTOR_TABLE = 0x1fffc000; 20 | define exported symbol __VECTOR_RAM = 0x1fffc000; 21 | 22 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x20003FF8; 23 | 24 | define symbol __code_start__ = 0x1fffc410; 25 | 26 | define memory mem with size = 4G; 27 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 28 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 29 | 30 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 31 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 32 | 33 | initialize manually { readwrite }; 34 | initialize manually { section .data}; 35 | initialize manually { section .textrw }; 36 | do not initialize { section .noinit }; 37 | 38 | define block CodeRelocate { section .textrw_init }; 39 | define block CodeRelocateRam { section .textrw }; 40 | 41 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 42 | place at address mem:__code_start__ { readonly section .noinit }; 43 | 44 | place in RAM_region { readonly, block CodeRelocate }; 45 | 46 | place in RAM_region { readwrite, block CodeRelocateRam, 47 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /lib/iar_config_files/64KB_Ram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x1fff8000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x0; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1fff8000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_RAM2_start__ = 0x20000000; 17 | define symbol __region_RAM2_end__ = 0x20008000; 18 | 19 | define exported symbol __VECTOR_TABLE = 0x1fff8000; 20 | define exported symbol __VECTOR_RAM = 0x1fff8000; 21 | 22 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x20007FF8; 23 | 24 | define symbol __code_start__ = 0x1fff8410; 25 | 26 | define memory mem with size = 4G; 27 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 28 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 29 | 30 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 31 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 32 | 33 | initialize manually { readwrite }; 34 | initialize manually { section .data}; 35 | initialize manually { section .textrw }; 36 | do not initialize { section .noinit }; 37 | 38 | define block CodeRelocate { section .textrw_init }; 39 | define block CodeRelocateRam { section .textrw }; 40 | 41 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 42 | place at address mem:__code_start__ { readonly section .noinit }; 43 | 44 | place in RAM_region { readonly, block CodeRelocate }; 45 | 46 | place in RAM_region { readwrite, block CodeRelocateRam, 47 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /lib/iar_config_files/128KB_Pflash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x00000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x0; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x00020000; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1fff8410; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_RAM2_start__ = 0x20000000; 17 | define symbol __region_RAM2_end__ = 0x20008000; 18 | 19 | define exported symbol __VECTOR_TABLE = 0x00000000; 20 | define exported symbol __VECTOR_RAM = 0x1fff8000; 21 | 22 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x20007FF8; 23 | 24 | define symbol __code_start__ = 0x00000410; 25 | 26 | define memory mem with size = 4G; 27 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 28 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 29 | 30 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 31 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 32 | 33 | initialize manually { readwrite }; 34 | initialize manually { section .data}; 35 | initialize manually { section .textrw }; 36 | do not initialize { section .noinit }; 37 | 38 | define block CodeRelocate { section .textrw_init }; 39 | define block CodeRelocateRam { section .textrw }; 40 | 41 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 42 | place at address mem:__code_start__ { readonly section .noinit }; 43 | 44 | place in ROM_region { readonly, block CodeRelocate}; 45 | 46 | place in RAM_region { readwrite, block CodeRelocateRam, 47 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /lib/iar_config_files/256KB_Pflash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x00000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x0; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x00040000; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1fff8410; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_RAM2_start__ = 0x20000000; 17 | define symbol __region_RAM2_end__ = 0x20008000; 18 | 19 | define exported symbol __VECTOR_TABLE = 0x00000000; 20 | define exported symbol __VECTOR_RAM = 0x1fff8000; 21 | 22 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x20007FF8; 23 | 24 | define symbol __code_start__ = 0x00000410; 25 | 26 | define memory mem with size = 4G; 27 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 28 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 29 | 30 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 31 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 32 | 33 | initialize manually { readwrite }; 34 | initialize manually { section .data}; 35 | initialize manually { section .textrw }; 36 | do not initialize { section .noinit }; 37 | 38 | define block CodeRelocate { section .textrw_init }; 39 | define block CodeRelocateRam { section .textrw }; 40 | 41 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 42 | place at address mem:__code_start__ { readonly section .noinit }; 43 | 44 | place in ROM_region { readonly, block CodeRelocate}; 45 | 46 | place in RAM_region { readwrite, block CodeRelocateRam, 47 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /lib/iar_config_files/128KB_Ram.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x1fff0000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x0; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1fff0000; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x800;//b06862 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_RAM2_start__ = 0x20000000; 17 | define symbol __region_RAM2_end__ = 0x20010000; 18 | 19 | define exported symbol __VECTOR_TABLE = 0x1fff0000; 20 | define exported symbol __VECTOR_RAM = 0x1fff0000; 21 | 22 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x2000FFF8; 23 | 24 | define symbol __code_start__ = 0x1fff0410; 25 | 26 | define memory mem with size = 4G; 27 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 28 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 29 | 30 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 31 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 32 | 33 | initialize manually { readwrite }; 34 | initialize manually { section .data}; 35 | initialize manually { section .textrw }; 36 | do not initialize { section .noinit }; 37 | 38 | define block CodeRelocate { section .textrw_init }; 39 | define block CodeRelocateRam { section .textrw }; 40 | 41 | 42 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 43 | place at address mem:__code_start__ { readonly section .noinit }; 44 | 45 | place in RAM_region { readonly, block CodeRelocate }; 46 | 47 | place in RAM_region { readwrite, block CodeRelocateRam, 48 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /lib/iar_config_files/512KB_Pflash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x00000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x00080000; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1FFF0410; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x1000; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_RAM2_start__ = 0x20000000; 17 | define symbol __region_RAM2_end__ = 0x20010000; 18 | 19 | define exported symbol __VECTOR_TABLE = 0x00000000; 20 | define exported symbol __VECTOR_RAM = 0x1fff0000; 21 | 22 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x2000FFF8; 23 | 24 | define symbol __code_start__ = 0x00000410; 25 | 26 | define memory mem with size = 4G; 27 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; 28 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 29 | 30 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 31 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 32 | 33 | initialize manually { readwrite }; 34 | initialize manually { section .data}; 35 | initialize manually { section .textrw }; 36 | do not initialize { section .noinit }; 37 | 38 | define block CodeRelocate { section .textrw_init }; 39 | define block CodeRelocateRam { section .textrw }; 40 | 41 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 42 | place at address mem:__code_start__ { readonly section .noinit }; 43 | 44 | place in ROM_region { readonly, block CodeRelocate}; 45 | 46 | place in RAM_region { readwrite, block CodeRelocateRam, 47 | block CSTACK, block HEAP }; 48 | -------------------------------------------------------------------------------- /lib/iar_config_files/128KB_Pflash_128KB_Dflash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x00000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x0; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x00020000; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1fffc410; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_FlexNVM_start__ = 0x10000000; 17 | define symbol __region_FlexNVM_end__ = 0x10020000; 18 | 19 | define symbol __region_RAM2_start__ = 0x20000000; 20 | define symbol __region_RAM2_end__ = 0x20004000; 21 | 22 | define exported symbol __VECTOR_TABLE = 0x00000000; 23 | define exported symbol __VECTOR_RAM = 0x1fff8000; 24 | 25 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x20007FF8; 26 | 27 | define symbol __code_start__ = 0x00000410; 28 | 29 | define memory mem with size = 4G; 30 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__] | mem:[from __region_FlexNVM_start__ to __region_FlexNVM_end__]; 31 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 32 | 33 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 34 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 35 | 36 | initialize manually { readwrite }; 37 | initialize manually { section .data}; 38 | initialize manually { section .textrw }; 39 | do not initialize { section .noinit }; 40 | 41 | define block CodeRelocate { section .textrw_init }; 42 | define block CodeRelocateRam { section .textrw }; 43 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 44 | place at address mem:__code_start__ { readonly section .noinit }; 45 | 46 | place in ROM_region { readonly, block CodeRelocate}; 47 | 48 | place in RAM_region { readwrite, block CodeRelocateRam, 49 | block CSTACK, block HEAP }; 50 | -------------------------------------------------------------------------------- /lib/iar_config_files/256KB_Pflash_256KB_Dflash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x00000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x00040000; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1FFF8410; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x1000; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_FlexNVM_start__ = 0x10000000; 17 | define symbol __region_FlexNVM_end__ = 0x10040000; 18 | 19 | define symbol __region_RAM2_start__ = 0x20000000; 20 | define symbol __region_RAM2_end__ = 0x20008000; 21 | 22 | define exported symbol __VECTOR_TABLE = 0x00000000; 23 | define exported symbol __VECTOR_RAM = 0x1fff0000; 24 | 25 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x2000FFF8; 26 | 27 | define symbol __code_start__ = 0x00000410; 28 | 29 | define memory mem with size = 4G; 30 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__] | mem:[from __region_FlexNVM_start__ to __region_FlexNVM_end__]; 31 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 32 | 33 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 34 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 35 | 36 | initialize manually { readwrite }; 37 | initialize manually { section .data}; 38 | initialize manually { section .textrw }; 39 | do not initialize { section .noinit }; 40 | 41 | define block CodeRelocate { section .textrw_init }; 42 | define block CodeRelocateRam { section .textrw }; 43 | 44 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 45 | place at address mem:__code_start__ { readonly section .noinit }; 46 | 47 | place in ROM_region { readonly, block CodeRelocate}; 48 | 49 | place in RAM_region { readwrite, block CodeRelocateRam, 50 | block CSTACK, block HEAP }; -------------------------------------------------------------------------------- /lib/iar_config_files/64KB_Pflash_64KB_Dflash.icf: -------------------------------------------------------------------------------- 1 | /*###ICF### Section handled by ICF editor, don't touch! ****/ 2 | /*-Editor annotation file-*/ 3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ 4 | /*-Specials-*/ 5 | define symbol __ICFEDIT_intvec_start__ = 0x00000000; 6 | /*-Memory Regions-*/ 7 | define symbol __ICFEDIT_region_ROM_start__ = 0x00000000; 8 | define symbol __ICFEDIT_region_ROM_end__ = 0x00010000; 9 | define symbol __ICFEDIT_region_RAM_start__ = 0x1fffc410; 10 | define symbol __ICFEDIT_region_RAM_end__ = 0x20000000; 11 | /*-Sizes-*/ 12 | define symbol __ICFEDIT_size_cstack__ = 0x400; 13 | define symbol __ICFEDIT_size_heap__ = 0x200; 14 | /**** End of ICF editor section. ###ICF###*/ 15 | 16 | define symbol __region_FlexNVM_start__ = 0x10000000; 17 | define symbol __region_FlexNVM_end__ = 0x10010000; 18 | 19 | define symbol __region_RAM2_start__ = 0x20000000; 20 | define symbol __region_RAM2_end__ = 0x20004000; 21 | 22 | define exported symbol __VECTOR_TABLE = 0x00000000; 23 | define exported symbol __VECTOR_RAM = 0x1fffc000; 24 | 25 | define exported symbol __BOOT_STACK_ADDRESS = __region_RAM2_end__ - 8; //0x20003FF8; 26 | 27 | define symbol __code_start__ = 0x00000410; 28 | 29 | define memory mem with size = 4G; 30 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__] | mem:[from __region_FlexNVM_start__ to __region_FlexNVM_end__]; 31 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__] | mem:[from __region_RAM2_start__ to __region_RAM2_end__]; 32 | 33 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; 34 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; 35 | 36 | initialize manually { readwrite }; 37 | initialize manually { section .data}; 38 | initialize manually { section .textrw }; 39 | do not initialize { section .noinit }; 40 | 41 | define block CodeRelocate { section .textrw_init }; 42 | define block CodeRelocateRam { section .textrw }; 43 | 44 | 45 | place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; 46 | place at address mem:__code_start__ { readonly section .noinit }; 47 | 48 | place in ROM_region { readonly, block CodeRelocate}; 49 | 50 | place in RAM_region { readwrite, block CodeRelocateRam, 51 | block CSTACK, block HEAP }; 52 | -------------------------------------------------------------------------------- /lib/USB/common/user_config.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2009 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | **************************************************************************//*! 8 | * 9 | * @file user_config.h 10 | * 11 | * @author 12 | * 13 | * @version 14 | * 15 | * @date May-28-2009 16 | * 17 | * @brief The file contains User Modifiable Macros for Virtual COM Loopback 18 | * Application 19 | * 20 | *****************************************************************************/ 21 | #include "derivative.h" 22 | 23 | #if (defined MCU_MK70F12) || (defined __MCF52277_H__) 24 | #define HIGH_SPEED_DEVICE (0) 25 | #else 26 | #define HIGH_SPEED_DEVICE (0) 27 | #endif 28 | 29 | #if (defined MCU_MK20D7) || (defined MCU_MK40D7) 30 | #define MCGOUTCLK_72_MHZ 31 | #endif 32 | 33 | #if ((defined __MK_xxx_H__)||(defined MCU_mcf51jf128)) 34 | #define KEY_PRESS_SIM_TMR_INTERVAL (1000) /* 2s between simulated key press events */ 35 | #else 36 | #ifdef __MCF52277_H__ 37 | #define BUTTON_PRESS_SIMULATION (1) 38 | #define KEY_PRESS_SIM_TMR_INTERVAL (2000) /* 2s between simulated key press events */ 39 | #endif 40 | #endif 41 | /* 42 | Below two MACROS are required for Virtual COM Loopback 43 | Application to execute 44 | */ 45 | #define LONG_SEND_TRANSACTION /* support to send large data pkts */ 46 | #define LONG_RECEIVE_TRANSACTION /* support to receive large data pkts */ 47 | #ifndef _MC9S08JS16_H 48 | #define USB_OUT_PKT_SIZE 32 /* Define the maximum data length received from the host */ 49 | #else 50 | #define USB_OUT_PKT_SIZE 16 /* Define the maximum data length received from the host */ 51 | #endif 52 | 53 | /* User Defined MACRO to set number of Timer Objects */ 54 | #define MAX_TIMER_OBJECTS 5 55 | 56 | #if MAX_TIMER_OBJECTS 57 | /* When Enabled Timer Callback is invoked with an argument */ 58 | #define TIMER_CALLBACK_ARG 59 | #undef TIMER_CALLBACK_ARG 60 | #endif 61 | 62 | #ifndef _MC9S08JS16_H 63 | #define USB_PACKET_SIZE uint_16 /* support 16/32 bit packet size */ 64 | #else 65 | #define USB_PACKET_SIZE uint_8 /* support 8 bit packet size */ 66 | #endif 67 | 68 | #ifndef _MCF51JM128_H 69 | /* Use double buffered endpoints 5 & 6. To be only used with S08 cores */ 70 | #define DOUBLE_BUFFERING_USED 71 | #endif 72 | -------------------------------------------------------------------------------- /lib/USB/driver/mouse_button.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2009 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | **************************************************************************//*! 8 | * 9 | * @file mouse_button.h 10 | * 11 | * @author 12 | * 13 | * @version 14 | * 15 | * @date May-28-2009 16 | * 17 | * @brief The file contains Macro's and functions needed by the Mouse 18 | * Application 19 | * 20 | *****************************************************************************/ 21 | 22 | 23 | #ifndef _MOUSE_BUTTON_H 24 | #define _MOUSE_BUTTON_H 25 | 26 | #include "types.h" 27 | 28 | /****************************************************************************** 29 | * Constants - None 30 | *****************************************************************************/ 31 | 32 | /****************************************************************************** 33 | * Macro's 34 | *****************************************************************************/ 35 | #define CONTROLLER_ID (0) /* ID to identify USB CONTROLLER */ 36 | 37 | /* #define UP_LEFT This macro enables up and left mouse movement via PTG2-3*/ 38 | #define UP_LEFT 39 | #ifdef UP_LEFT 40 | #define SHIFT_VAL (0xF8) /* send -8 for up and left movement */ 41 | #else 42 | #define SHIFT_VAL (0x08) /* send +8 for down and right movement */ 43 | #endif 44 | 45 | #define MOUSE_BUFF_SIZE (4) /* report buffer size */ 46 | #define REQ_DATA_SIZE (1) 47 | #define KBI_STAT_MASK (0x0F) 48 | 49 | #define LEFT_CLICK (0x01) /* Left click */ 50 | #define RIGHT_CLICK (0x02) /* Right click */ 51 | #define LEFT_MOVE (0xF8) /* Left movement */ 52 | #define RIGHT_MOVE (0x08) /* Right movement */ 53 | #define UP_MOVE (0xF8) /* up movement */ 54 | #define DOWN_MOVE (0x08) /* down movement */ 55 | 56 | #define MOVE_LEFT_RIGHT (0x04) /* Left-Right movement*/ 57 | #define MOVE_UP_DOWN (0x08) /* Up-Down movement*/ 58 | 59 | /***************************************************************************** 60 | * Global variables 61 | *****************************************************************************/ 62 | extern uint_8 kbi_stat; /*records the status of the buttons (PTG0-PTG3) 63 | used to emulate mouse */ 64 | 65 | /***************************************************************************** 66 | * Global Functions 67 | *****************************************************************************/ 68 | void USB_HID_Mouse_Init(void); 69 | uint8 USB_HID_Mouse_Task(void); 70 | void Emulate_Mouse_WithButton(void); 71 | void USB_HID_MouseControl(uint8 *cmd_buf); 72 | #endif 73 | -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosOSSem/app/app_cfg.h: -------------------------------------------------------------------------------- 1 | /* 2 | ********************************************************************************************************* 3 | * EXAMPLE CODE 4 | * 5 | * (c) Copyright 2013; Micrium, Inc.; Weston, FL 6 | * 7 | * All rights reserved. Protected by international copyright laws. 8 | * Knowledge of the source code may NOT be used to develop a similar product. 9 | * Please help us continue to provide the Embedded community with the finest 10 | * software available. Your honesty is greatly appreciated. 11 | ********************************************************************************************************* 12 | */ 13 | 14 | /* 15 | ********************************************************************************************************* 16 | * APPLICATION CONFIGURATION 17 | * 18 | * Freescale Kinetis K60 19 | * on the 20 | * 21 | * Freescale TWR-K60N512 22 | * Evaluation Board 23 | * 24 | * Filename : app_cfg.h 25 | * Version : V1.00 26 | * Programmer(s) : NB 27 | * DC 28 | ********************************************************************************************************* 29 | */ 30 | 31 | #ifndef APP_CFG_MODULE_PRESENT 32 | #define APP_CFG_MODULE_PRESENT 33 | 34 | 35 | /* 36 | ********************************************************************************************************* 37 | * ADDITIONAL uC/MODULE ENABLES 38 | ********************************************************************************************************* 39 | */ 40 | 41 | #define APP_CFG_SERIAL_EN DEF_ENABLED 42 | 43 | 44 | /* 45 | ********************************************************************************************************* 46 | * TASK PRIORITIES 47 | ********************************************************************************************************* 48 | */ 49 | 50 | #define APP_CFG_TASK_START_PRIO 2u 51 | #define APP_TASK2_PRIO 5u 52 | 53 | #define OS_TASK_TMR_PRIO (OS_LOWEST_PRIO - 2u) 54 | 55 | 56 | /* 57 | ********************************************************************************************************* 58 | * TASK STACK SIZES 59 | ********************************************************************************************************* 60 | */ 61 | 62 | #define APP_CFG_TASK_START_STK_SIZE 128u 63 | 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /project/(uCos)LPLD_uCosV292/app/app_cfg.h: -------------------------------------------------------------------------------- 1 | /* 2 | ********************************************************************************************************* 3 | * EXAMPLE CODE 4 | * 5 | * (c) Copyright 2013; Micrium, Inc.; Weston, FL 6 | * 7 | * All rights reserved. Protected by international copyright laws. 8 | * Knowledge of the source code may NOT be used to develop a similar product. 9 | * Please help us continue to provide the Embedded community with the finest 10 | * software available. Your honesty is greatly appreciated. 11 | ********************************************************************************************************* 12 | */ 13 | 14 | /* 15 | ********************************************************************************************************* 16 | * APPLICATION CONFIGURATION 17 | * 18 | * Freescale Kinetis K60 19 | * on the 20 | * 21 | * Freescale TWR-K60N512 22 | * Evaluation Board 23 | * 24 | * Filename : app_cfg.h 25 | * Version : V1.00 26 | * Programmer(s) : NB 27 | * DC 28 | ********************************************************************************************************* 29 | */ 30 | 31 | #ifndef APP_CFG_MODULE_PRESENT 32 | #define APP_CFG_MODULE_PRESENT 33 | 34 | 35 | /* 36 | ********************************************************************************************************* 37 | * ADDITIONAL uC/MODULE ENABLES 38 | ********************************************************************************************************* 39 | */ 40 | 41 | #define APP_CFG_SERIAL_EN DEF_ENABLED 42 | 43 | 44 | /* 45 | ********************************************************************************************************* 46 | * TASK PRIORITIES 47 | ********************************************************************************************************* 48 | */ 49 | 50 | #define APP_CFG_TASK_START_PRIO 2u 51 | #define APP_TASK1_PRIO 5u 52 | 53 | #define OS_TASK_TMR_PRIO (OS_LOWEST_PRIO - 2u) 54 | 55 | 56 | /* 57 | ********************************************************************************************************* 58 | * TASK STACK SIZES 59 | ********************************************************************************************************* 60 | */ 61 | 62 | #define APP_CFG_TASK_START_STK_SIZE 128u 63 | 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /lib/USB/driver/usbevent.h: -------------------------------------------------------------------------------- 1 | #ifndef __usb_event_h__ 2 | #define __usb_event_h__ 3 | /**HEADER******************************************************************** 4 | * 5 | * Copyright (c) 2010 Freescale Semiconductor; 6 | * All Rights Reserved 7 | * 8 | *************************************************************************** 9 | * 10 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR 11 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 12 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 13 | * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 14 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 15 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 16 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 17 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 18 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 19 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 20 | * THE POSSIBILITY OF SUCH DAMAGE. 21 | * 22 | ************************************************************************** 23 | * 24 | * $FileName: usbevent.h$ 25 | * $Version : 0.0.0.1$ 26 | * $Date : Nov-18-2009$ 27 | * 28 | * Comments: 29 | * 30 | * 31 | * 32 | *END************************************************************************/ 33 | #include "types.h" 34 | 35 | 36 | /*--------------------------------------------------------------------------*/ 37 | /* 38 | ** MACRO DEFINITIONS 39 | */ 40 | 41 | #define USB_EVENT_OK 0x00 42 | #define USB_EVENT_ERROR 0x01 43 | #define USB_EVENT_SET 0x02 44 | #define USB_EVENT_NOT_SET 0x03 45 | #define USB_EVENT_VALID 0x04 46 | #define USB_EVENT_INVALID 0x05 47 | 48 | /*--------------------------------------------------------------------------*/ 49 | /* 50 | ** DATATYPE DECLARATIONS 51 | */ 52 | #ifdef __CC_ARM 53 | #pragma push 54 | #pragma pack(1) 55 | #endif 56 | typedef struct usb_event 57 | { 58 | boolean VALID; 59 | uint_32 VALUE; 60 | } USB_EVENT_STRUCT, _PTR_ USB_EVENT_STRUCT_PTR; 61 | /*--------------------------------------------------------------------- 62 | ** 63 | ** 64 | */ 65 | 66 | /*--------------------------------------------------------------------------*/ 67 | /* 68 | ** FUNCTION PROTOTYPES 69 | */ 70 | 71 | #ifdef __cplusplus 72 | extern "C" { 73 | #endif 74 | 75 | extern uint_16 _usb_event_init(USB_EVENT_STRUCT_PTR); 76 | extern uint_16 _usb_event_clear(USB_EVENT_STRUCT_PTR, uint_32); 77 | extern uint_16 _usb_event_set(USB_EVENT_STRUCT_PTR, uint_32); 78 | extern uint_16 _usb_event_wait_ticks(USB_EVENT_STRUCT_PTR, uint_32, uint_8, uint_16); 79 | 80 | #ifdef __cplusplus 81 | } 82 | #endif 83 | 84 | #ifdef __CC_ARM 85 | #pragma pop 86 | #endif 87 | #endif 88 | /* EOF */ 89 | -------------------------------------------------------------------------------- /lib/USB/LPLD_CDC_class_Driver_Kinetis.inf: -------------------------------------------------------------------------------- 1 | [Version] 2 | Signature="$Windows NT$" 3 | Class=Ports 4 | ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} 5 | Provider=%MFGNAME% 6 | LayoutFile=layout.inf 7 | CatalogFile=%MFGFILENAME%.cat 8 | DriverVer=02/16/2011,1.0 9 | 10 | [Manufacturer] 11 | %MFGNAME%=DeviceList, NTamd64 12 | 13 | [DestinationDirs] 14 | DefaultDestDir=12 15 | 16 | 17 | ;------------------------------------------------------------------------------ 18 | ; Windows 2000/XP/Vista-32bit Sections 19 | ;------------------------------------------------------------------------------ 20 | 21 | [DriverInstall.nt] 22 | include=mdmcpq.inf 23 | CopyFiles=DriverCopyFiles.nt 24 | AddReg=DriverInstall.nt.AddReg 25 | 26 | [DriverCopyFiles.nt] 27 | usbser.sys,,,0x20 28 | 29 | [DriverInstall.nt.AddReg] 30 | HKR,,DevLoader,,*ntkern 31 | HKR,,NTMPDriver,,%DRIVERFILENAME%.sys 32 | HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" 33 | 34 | [DriverInstall.nt.Services] 35 | AddService=usbser, 0x00000002, DriverService.nt 36 | 37 | [DriverService.nt] 38 | DisplayName=%SERVICE% 39 | ServiceType=1 40 | StartType=3 41 | ErrorControl=1 42 | ServiceBinary=%12%\%DRIVERFILENAME%.sys 43 | 44 | ;------------------------------------------------------------------------------ 45 | ; Vista-64bit Sections 46 | ;------------------------------------------------------------------------------ 47 | 48 | [DriverInstall.NTamd64] 49 | include=mdmcpq.inf 50 | CopyFiles=DriverCopyFiles.NTamd64 51 | AddReg=DriverInstall.NTamd64.AddReg 52 | 53 | [DriverCopyFiles.NTamd64] 54 | %DRIVERFILENAME%.sys,,,0x20 55 | 56 | [DriverInstall.NTamd64.AddReg] 57 | HKR,,DevLoader,,*ntkern 58 | HKR,,NTMPDriver,,%DRIVERFILENAME%.sys 59 | HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" 60 | 61 | [DriverInstall.NTamd64.Services] 62 | AddService=usbser, 0x00000002, DriverService.NTamd64 63 | 64 | [DriverService.NTamd64] 65 | DisplayName=%SERVICE% 66 | ServiceType=1 67 | StartType=3 68 | ErrorControl=1 69 | ServiceBinary=%12%\%DRIVERFILENAME%.sys 70 | 71 | 72 | ;------------------------------------------------------------------------------ 73 | ; Vendor and Product ID Definitions 74 | ;------------------------------------------------------------------------------ 75 | ; When developing your USB device, the VID and PID used in the PC side 76 | ; application program and the firmware on the microcontroller must match. 77 | ; Modify the below line to use your VID and PID. Use the format as shown below. 78 | ; Note: One INF file can be used for multiple devices with different VID and PIDs. 79 | ; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line. 80 | ;------------------------------------------------------------------------------ 81 | [SourceDisksFiles] 82 | [SourceDisksNames] 83 | [DeviceList] 84 | %DESCRIPTION%=DriverInstall, USB\VID_2504&PID_0300 85 | %DESCRIPTION%=DriverInstall, USB\VID_15A2&PID_0300 86 | 87 | [DeviceList.NTamd64] 88 | %DESCRIPTION% = DriverInstall, USB\VID_2504&PID_0300 89 | %DESCRIPTION% = DriverInstall, USB\VID_15A2&PID_0300 90 | 91 | 92 | ;------------------------------------------------------------------------------ 93 | ; String Definitions 94 | ;------------------------------------------------------------------------------ 95 | ;Modify these strings to customize your device 96 | ;------------------------------------------------------------------------------ 97 | [Strings] 98 | MFGFILENAME="CDC" 99 | DRIVERFILENAME ="usbser" 100 | MFGNAME="Freescale" 101 | INSTDISK="Freescale CDC Driver Installer" 102 | DESCRIPTION="LPLD CDC Device" 103 | SERVICE="FSL Virtual COM Driver" 104 | 105 | -------------------------------------------------------------------------------- /lib/USB/driver/usbevent.c: -------------------------------------------------------------------------------- 1 | /**HEADER******************************************************************** 2 | * 3 | * Copyright (c) 2010 Freescale Semiconductor; 4 | * All Rights Reserved 5 | * 6 | *************************************************************************** 7 | * 8 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR 9 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 10 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 11 | * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 12 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 13 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 14 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 15 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 16 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 17 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 18 | * THE POSSIBILITY OF SUCH DAMAGE. 19 | * 20 | ************************************************************************** 21 | * 22 | * $FileName: usbevent.c$ 23 | * $Version : 0.0.0.1$ 24 | * $Date : Nov-18-2009$ 25 | * 26 | * Comments: 27 | * 28 | * 29 | * 30 | * 31 | *END************************************************************************/ 32 | 33 | #include "usbevent.h" 34 | #include "usb_devapi.h" 35 | 36 | /*FUNCTION*------------------------------------------------------------------- 37 | * 38 | * Function Name : _usb_event_init 39 | * Returned Value : 40 | * Comments : 41 | * 42 | * 43 | *END*----------------------------------------------------------------------*/ 44 | uint_16 _usb_event_init 45 | ( 46 | USB_EVENT_STRUCT_PTR event 47 | ) 48 | { 49 | event->VALID = USB_EVENT_VALID; 50 | event->VALUE = 0; 51 | return USB_OK; 52 | } 53 | 54 | /*FUNCTION*------------------------------------------------------------------- 55 | * 56 | * Function Name : _usb_event_set 57 | * Returned Value : 58 | * Comments : 59 | * 60 | * 61 | *END*----------------------------------------------------------------------*/ 62 | uint_16 _usb_event_set 63 | ( 64 | USB_EVENT_STRUCT_PTR event , 65 | uint_32 value 66 | ) 67 | { 68 | if(event->VALID == USB_EVENT_VALID) { 69 | event->VALUE |= value; 70 | return USB_EVENT_VALID; 71 | } 72 | return USB_EVENT_INVALID; 73 | } 74 | 75 | /*FUNCTION*------------------------------------------------------------------- 76 | * 77 | * Function Name : _usb_event_clear 78 | * Returned Value : 79 | * Comments : 80 | * 81 | * 82 | *END*----------------------------------------------------------------------*/ 83 | uint_16 _usb_event_clear 84 | ( 85 | USB_EVENT_STRUCT_PTR event , 86 | uint_32 bitmask 87 | ) 88 | { 89 | if(event->VALID == USB_EVENT_VALID) { 90 | event->VALUE &= ~bitmask; 91 | return USB_EVENT_VALID; 92 | } 93 | return USB_EVENT_INVALID; 94 | } 95 | 96 | /*FUNCTION*------------------------------------------------------------------- 97 | * 98 | * Function Name : _usb_event_wait_ticks 99 | * Returned Value : 100 | * Comments : 101 | * 102 | * 103 | *END*----------------------------------------------------------------------*/ 104 | uint_16 _usb_event_wait_ticks 105 | ( 106 | USB_EVENT_STRUCT_PTR event , 107 | uint_32 bitmask, 108 | uint_8 all, 109 | uint_16 ticks 110 | ) 111 | { 112 | UNUSED(all) 113 | UNUSED(ticks) 114 | 115 | if(event->VALID == USB_EVENT_VALID) { 116 | if(0x00 != (event->VALUE & bitmask)){ 117 | return USB_EVENT_SET; 118 | } else { 119 | return USB_EVENT_NOT_SET; 120 | } 121 | } 122 | return USB_EVENT_INVALID; 123 | 124 | } 125 | -------------------------------------------------------------------------------- /lib/USB/class/usb_cdc_pstn.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2009 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | ****************************************************************************** 8 | * 9 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR 10 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 11 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 12 | * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 13 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 14 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 15 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 16 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 17 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 18 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 19 | * THE POSSIBILITY OF SUCH DAMAGE. 20 | * 21 | **************************************************************************//*! 22 | * 23 | * @file usb_cdc_pstn.h 24 | * 25 | * @author 26 | * 27 | * @version 28 | * 29 | * @date May-28-2009 30 | * 31 | * @brief The file contains USB CDC_PSTN Sub Class API header function 32 | * 33 | *****************************************************************************/ 34 | 35 | #ifndef _USB_CDC_PSTN_H 36 | #define _USB_CDC_PSTN_H 37 | 38 | /****************************************************************************** 39 | * Includes 40 | *****************************************************************************/ 41 | #include "usb_cdc.h" /* USB CDC Class Header File */ 42 | /****************************************************************************** 43 | * Constants - None 44 | *****************************************************************************/ 45 | #ifdef __MCF52xxx_H__ 46 | #pragma reverse_bitfields on 47 | #endif 48 | typedef struct _BITMAP_UART 49 | { 50 | uint_8 bRxCarrier : 1; /* Receive Carrier Activation Flag */ 51 | uint_8 bTxCarrier : 1; /* Transmit Carrier Activation Flag */ 52 | uint_8 bBreak : 1; /* Break Flag */ 53 | uint_8 bRingSignal : 1; /* Ring Signal Flag */ 54 | uint_8 bFraming : 1; /* Frame Flag */ 55 | uint_8 bParity : 1; /* Parity Flag */ 56 | uint_8 bOverRun : 1; /* OverRun Flag */ 57 | uint_8 reserved1 : 1; /* Reserved */ 58 | }BITMAP_UART; 59 | #ifdef __MCF52xxx_H__ 60 | #pragma reverse_bitfields off 61 | #endif 62 | 63 | 64 | typedef union _UART_BITMAP 65 | { 66 | uint_8 _byte; 67 | BITMAP_UART Bitmap_Uart; 68 | }UART_BITMAP; /* UART STATE BITMAP */ 69 | 70 | 71 | /****************************************************************************** 72 | * Macro's 73 | *****************************************************************************/ 74 | #define UART_BITMAP_SIZE (0x02) 75 | #define ABSTRACT_STATE_FEATURE (0x01) 76 | #define COUNTRY_SETTING_FEATURE (0x02) 77 | #define CARRIER_ACTIVATION_CHECK (0x02) 78 | #define DTE_PRESENCE_CHECK (0x01) 79 | 80 | extern uint_8 USB_Class_CDC_Pstn_Init ( 81 | uint_8 controller_ID, 82 | USB_CLASS_CALLBACK callback 83 | ); 84 | 85 | extern uint_8 USB_Class_CDC_PSTN_Get_Line_Coding ( 86 | uint_8 controller_ID, 87 | USB_SETUP_STRUCT * setup_packet, 88 | uint_8_ptr *data, 89 | USB_PACKET_SIZE *size); 90 | 91 | extern uint_8 USB_Class_CDC_PSTN_Set_Line_Coding ( 92 | uint_8 controller_ID, 93 | USB_SETUP_STRUCT * setup_packet, 94 | uint_8_ptr *data, 95 | USB_PACKET_SIZE *size); 96 | 97 | extern uint_8 USB_Class_CDC_PSTN_Set_Ctrl_Line_State ( 98 | uint_8 controller_ID, 99 | USB_SETUP_STRUCT * setup_packet, 100 | uint_8_ptr *data, 101 | USB_PACKET_SIZE *size); 102 | 103 | extern uint_8 USB_Class_CDC_PSTN_Send_Break ( 104 | uint_8 controller_ID, 105 | USB_SETUP_STRUCT * setup_packet, 106 | uint_8_ptr *data, 107 | USB_PACKET_SIZE *size); 108 | 109 | extern uint_8 USB_Class_CDC_PSTN_Get_Comm_Feature ( 110 | uint_8 controller_ID, 111 | USB_SETUP_STRUCT * setup_packet, 112 | uint_8_ptr *data, 113 | USB_PACKET_SIZE *size); 114 | 115 | extern uint_8 USB_Class_CDC_PSTN_Set_Comm_Feature ( 116 | uint_8 controller_ID, 117 | USB_SETUP_STRUCT * setup_packet, 118 | uint_8_ptr *data, 119 | USB_PACKET_SIZE *size); 120 | 121 | #if CIC_NOTIF_ELEM_SUPPORT 122 | extern void USB_Class_CDC_PSTN_Send_Serial_State (uint_8 controller_ID); 123 | #endif 124 | #endif 125 | -------------------------------------------------------------------------------- /lib/FatFs/option/syscall.c: -------------------------------------------------------------------------------- 1 | /*------------------------------------------------------------------------*/ 2 | /* Sample code of OS dependent controls for FatFs */ 3 | /* (C)ChaN, 2012 */ 4 | /*------------------------------------------------------------------------*/ 5 | 6 | #include "stdlib.h" /* ANSI memory controls */ 7 | //#include /* ANSI memory controls */ 8 | 9 | #include "../ff.h" 10 | 11 | 12 | #if _FS_REENTRANT 13 | /*------------------------------------------------------------------------*/ 14 | /* Create a Synchronization Object 15 | /*------------------------------------------------------------------------*/ 16 | /* This function is called in f_mount function to create a new 17 | / synchronization object, such as semaphore and mutex. When a FALSE is 18 | / returned, the f_mount function fails with FR_INT_ERR. 19 | */ 20 | 21 | int ff_cre_syncobj ( /* 1:Function succeeded, 0:Could not create due to any error */ 22 | BYTE vol, /* Corresponding logical drive being processed */ 23 | _SYNC_t *sobj /* Pointer to return the created sync object */ 24 | ) 25 | { 26 | int ret; 27 | // static _SYNC_t sem[_VOLUMES]; /* FreeRTOS */ 28 | 29 | 30 | *sobj = CreateMutex(NULL, FALSE, NULL); /* Win32 */ 31 | ret = (*sobj != INVALID_HANDLE_VALUE); 32 | 33 | // *sobj = SyncObjects[vol]; /* uITRON (give a static created sync object) */ 34 | // ret = 1; /* The initial value of the semaphore must be 1. */ 35 | 36 | // *sobj = OSMutexCreate(0, &err); /* uC/OS-II */ 37 | // ret = (err == OS_NO_ERR); 38 | 39 | // if (!sem[vol]) /* FreeRTOS */ 40 | // sem[vol] = xSemaphoreCreateMutex(); 41 | // *sobj = sem[vol]; 42 | // ret = (*sobj != NULL); 43 | 44 | return ret; 45 | } 46 | 47 | 48 | 49 | /*------------------------------------------------------------------------*/ 50 | /* Delete a Synchronization Object */ 51 | /*------------------------------------------------------------------------*/ 52 | /* This function is called in f_mount function to delete a synchronization 53 | / object that created with ff_cre_syncobj function. When a FALSE is 54 | / returned, the f_mount function fails with FR_INT_ERR. 55 | */ 56 | 57 | int ff_del_syncobj ( /* 1:Function succeeded, 0:Could not delete due to any error */ 58 | _SYNC_t sobj /* Sync object tied to the logical drive to be deleted */ 59 | ) 60 | { 61 | int ret; 62 | 63 | 64 | ret = CloseHandle(sobj); /* Win32 */ 65 | 66 | // ret = 1; /* uITRON (nothing to do) */ 67 | 68 | // OSMutexDel(sobj, OS_DEL_ALWAYS, &err); /* uC/OS-II */ 69 | // ret = (err == OS_NO_ERR); 70 | 71 | // ret = 1; /* FreeRTOS (nothing to do) */ 72 | 73 | return ret; 74 | } 75 | 76 | 77 | 78 | /*------------------------------------------------------------------------*/ 79 | /* Request Grant to Access the Volume */ 80 | /*------------------------------------------------------------------------*/ 81 | /* This function is called on entering file functions to lock the volume. 82 | / When a FALSE is returned, the file function fails with FR_TIMEOUT. 83 | */ 84 | 85 | int ff_req_grant ( /* TRUE:Got a grant to access the volume, FALSE:Could not get a grant */ 86 | _SYNC_t sobj /* Sync object to wait */ 87 | ) 88 | { 89 | int ret; 90 | 91 | ret = (WaitForSingleObject(sobj, _FS_TIMEOUT) == WAIT_OBJECT_0); /* Win32 */ 92 | 93 | // ret = (wai_sem(sobj) == E_OK); /* uITRON */ 94 | 95 | // OSMutexPend(sobj, _FS_TIMEOUT, &err)); /* uC/OS-II */ 96 | // ret = (err == OS_NO_ERR); 97 | 98 | // ret = (xSemaphoreTake(sobj, _FS_TIMEOUT) == pdTRUE); /* FreeRTOS */ 99 | 100 | return ret; 101 | } 102 | 103 | 104 | 105 | /*------------------------------------------------------------------------*/ 106 | /* Release Grant to Access the Volume */ 107 | /*------------------------------------------------------------------------*/ 108 | /* This function is called on leaving file functions to unlock the volume. 109 | */ 110 | 111 | void ff_rel_grant ( 112 | _SYNC_t sobj /* Sync object to be signaled */ 113 | ) 114 | { 115 | ReleaseMutex(sobj); /* Win32 */ 116 | 117 | // sig_sem(sobj); /* uITRON */ 118 | 119 | // OSMutexPost(sobj); /* uC/OS-II */ 120 | 121 | // xSemaphoreGive(sobj); /* FreeRTOS */ 122 | } 123 | 124 | #endif 125 | 126 | 127 | 128 | 129 | #if _USE_LFN == 3 /* LFN with a working buffer on the heap */ 130 | /*------------------------------------------------------------------------*/ 131 | /* Allocate a memory block */ 132 | /*------------------------------------------------------------------------*/ 133 | /* If a NULL is returned, the file function fails with FR_NOT_ENOUGH_CORE. 134 | */ 135 | 136 | void* ff_memalloc ( /* Returns pointer to the allocated memory block */ 137 | UINT msize /* Number of bytes to allocate */ 138 | ) 139 | { 140 | return malloc(msize); 141 | } 142 | 143 | 144 | /*------------------------------------------------------------------------*/ 145 | /* Free a memory block */ 146 | /*------------------------------------------------------------------------*/ 147 | 148 | void ff_memfree ( 149 | void* mblock /* Pointer to the memory block to free */ 150 | ) 151 | { 152 | free(mblock); 153 | } 154 | 155 | #endif 156 | -------------------------------------------------------------------------------- /lib/USB/descriptor/usb_descriptor_hid.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2009 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | **************************************************************************//*! 8 | * 9 | * @file usb_descriptor.h 10 | * 11 | * @author 12 | * 13 | * @version 14 | * 15 | * @date May-28-2009 16 | * 17 | * @brief The file is a header file for USB Descriptors required for Mouse 18 | * Application 19 | *****************************************************************************/ 20 | 21 | #ifndef _USB_DESCRIPTOR_H 22 | #define _USB_DESCRIPTOR_H 23 | 24 | /****************************************************************************** 25 | * Includes 26 | *****************************************************************************/ 27 | #include "types.h" 28 | #include "usb_class.h" 29 | 30 | /****************************************************************************** 31 | * Constants - None 32 | *****************************************************************************/ 33 | 34 | /****************************************************************************** 35 | * Macro's 36 | *****************************************************************************/ 37 | #define REMOTE_WAKEUP_SHIFT (5) 38 | #define REMOTE_WAKEUP_SUPPORT (TRUE) 39 | 40 | /* Various descriptor sizes */ 41 | #define DEVICE_DESCRIPTOR_SIZE (18) 42 | #define CONFIG_DESC_SIZE (34) 43 | #define DEVICE_QUALIFIER_DESCRIPTOR_SIZE (10) 44 | #define REPORT_DESC_SIZE (52) 45 | #define CONFIG_ONLY_DESC_SIZE (9) 46 | #define IFACE_ONLY_DESC_SIZE (9) 47 | #define HID_ONLY_DESC_SIZE (9) 48 | #define ENDP_ONLY_DESC_SIZE (7) 49 | 50 | /* HID buffer size */ 51 | #define HID_BUFFER_SIZE (8) 52 | /* Max descriptors provided by the Application */ 53 | #define USB_MAX_STD_DESCRIPTORS (8) 54 | #define USB_MAX_CLASS_SPECIFIC_DESCRIPTORS (2) 55 | /* Max configuration supported by the Application */ 56 | #define USB_MAX_CONFIG_SUPPORTED (1) 57 | 58 | /* Max string descriptors supported by the Application */ 59 | #define USB_MAX_STRING_DESCRIPTORS (3) 60 | 61 | /* Max language codes supported by the USB */ 62 | #define USB_MAX_LANGUAGES_SUPPORTED (1) 63 | 64 | 65 | #define HID_DESC_ENDPOINT_COUNT (1) 66 | #define HID_ENDPOINT (1) 67 | #define HID_ENDPOINT_PACKET_SIZE (8) 68 | 69 | 70 | /* string descriptors sizes */ 71 | #define USB_STR_DESC_SIZE (2) 72 | #define USB_STR_0_SIZE (2) 73 | #define USB_STR_1_SIZE (56) 74 | #define USB_STR_2_SIZE (28) 75 | #define USB_STR_n_SIZE (32) 76 | 77 | /* descriptors codes */ 78 | #define USB_DEVICE_DESCRIPTOR (1) 79 | #define USB_CONFIG_DESCRIPTOR (2) 80 | #define USB_STRING_DESCRIPTOR (3) 81 | #define USB_IFACE_DESCRIPTOR (4) 82 | #define USB_ENDPOINT_DESCRIPTOR (5) 83 | #define USB_DEVQUAL_DESCRIPTOR (6) 84 | #define USB_HID_DESCRIPTOR (0x21) 85 | #define USB_REPORT_DESCRIPTOR (0x22) 86 | 87 | #define USB_MAX_SUPPORTED_INTERFACES (1) 88 | 89 | /****************************************************************************** 90 | * Types 91 | *****************************************************************************/ 92 | typedef const struct _USB_LANGUAGE 93 | { 94 | uint_16 const language_id; /* Language ID */ 95 | uint_8 const ** lang_desc; /* Language Descriptor String */ 96 | uint_8 const * lang_desc_size; /* Language Descriptor Size */ 97 | } USB_LANGUAGE; 98 | 99 | typedef const struct _USB_ALL_LANGUAGES 100 | { 101 | /* Pointer to Supported Language String */ 102 | uint_8 const *languages_supported_string; 103 | /* Size of Supported Language String */ 104 | uint_8 const languages_supported_size; 105 | /* Array of Supported Languages */ 106 | USB_LANGUAGE usb_language[USB_MAX_SUPPORTED_INTERFACES]; 107 | }USB_ALL_LANGUAGES; 108 | 109 | typedef const struct _USB_ENDPOINTS 110 | { 111 | /* Number of non control Endpoints */ 112 | uint_8 count; 113 | /* Array of Endpoints Structures */ 114 | USB_EP_STRUCT ep[HID_DESC_ENDPOINT_COUNT]; 115 | }USB_ENDPOINTS; 116 | 117 | /****************************************************************************** 118 | * Global Functions 119 | *****************************************************************************/ 120 | extern uint_8 USB_Desc_Get_Descriptor( 121 | uint_8 controller_ID, 122 | uint_8 type, 123 | uint_8 str_num, 124 | uint_16 index, 125 | uint_8_ptr *descriptor, 126 | USB_PACKET_SIZE *size); 127 | 128 | extern uint_8 USB_Desc_Get_Interface( 129 | uint_8 controller_ID, 130 | uint_8 interface, 131 | uint_8_ptr alt_interface); 132 | 133 | 134 | extern uint_8 USB_Desc_Set_Interface( 135 | uint_8 controller_ID, 136 | uint_8 interface, 137 | uint_8 alt_interface); 138 | 139 | extern boolean USB_Desc_Valid_Configation( 140 | uint_8 controller_ID, 141 | uint_16 config_val); 142 | 143 | extern boolean USB_Desc_Valid_Interface( 144 | uint_8 controller_ID, 145 | uint_8 interface); 146 | 147 | extern boolean USB_Desc_Remote_Wakeup(uint_8 controller_ID); 148 | 149 | extern void* USB_Desc_Get_Endpoints(uint_8 controller_ID); 150 | 151 | #endif 152 | -------------------------------------------------------------------------------- /lib/USB/common/usb_framework.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2009 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | ****************************************************************************** 8 | * 9 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR 10 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 11 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 12 | * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 13 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 14 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 15 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 16 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 17 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 18 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 19 | * THE POSSIBILITY OF SUCH DAMAGE. 20 | * 21 | **************************************************************************//*! 22 | * 23 | * @file usb_framwork.h 24 | * 25 | * @author 26 | * 27 | * @version 28 | * 29 | * @date May-28-2009 30 | * 31 | * @brief The file contains USB Framework module API header function. 32 | * 33 | *****************************************************************************/ 34 | 35 | #ifndef _USB_FRAMEWORK_H 36 | #define _USB_FRAMEWORK_H 37 | 38 | /****************************************************************************** 39 | * Includes 40 | *****************************************************************************/ 41 | #include "types.h" 42 | #include "usb_class.h" 43 | #include "usb_descriptor_cdc.h" 44 | 45 | /****************************************************************************** 46 | * Constants - None 47 | *****************************************************************************/ 48 | 49 | /****************************************************************************** 50 | * Macro's 51 | *****************************************************************************/ 52 | #define MAX_STRD_REQ (13) /* Max value of standard request */ 53 | /* size of data to be returned for various Get Desc calls */ 54 | #define DEVICE_STATUS_SIZE (2) 55 | #ifdef OTG_BUILD 56 | #define OTG_STATUS_SIZE (2) 57 | #endif 58 | #define INTERFACE_STATUS_SIZE (2) 59 | 60 | #define CONFIG_SIZE (1) 61 | #define INTERFACE_SIZE (1) 62 | #define FRAME_SIZE (2) 63 | #define ENDP_STATUS_SIZE (2) 64 | 65 | #ifdef OTG_BUILD 66 | #define DEVICE_SET_FEATURE_B_HNP_ENABLE (0x0003) /* B HNP enable SET/CLEAR feature value */ 67 | #define DEVICE_SET_FEATURE_A_HNP_SUPPORT (0x0004) /* A HNP support SET/CLEAR feature value */ 68 | #endif 69 | 70 | /* Standard Feature Selectors */ 71 | #define DEVICE_FEATURE_REMOTE_WAKEUP (0x0001) 72 | #define DEVICE_FEATURE_TEST_MODE (0x0002) 73 | #define DEVICE_SET_FEATURE_MASK ((uint_16)((1<<(DEVICE_FEATURE_REMOTE_WAKEUP)) | (1<<(DEVICE_FEATURE_TEST_MODE)))) 74 | #define DEVICE_CLEAR_FEATURE_MASK ((uint_16)(1<<(DEVICE_FEATURE_REMOTE_WAKEUP))) 75 | 76 | 77 | 78 | #define REPORT_DESCRIPTOR_TYPE (0x22) 79 | #define STRING_DESCRIPTOR_TYPE (0x03) 80 | 81 | /* masks and values for provides of Get Desc information */ 82 | #define USB_REQUEST_SRC_MASK (0x03) 83 | #define USB_REQUEST_SRC_DEVICE (0x00) 84 | #define USB_REQUEST_SRC_INTERFACE (0x01) 85 | #define USB_REQUEST_SRC_ENDPOINT (0x02) 86 | 87 | #define USB_SET_REQUEST_MASK (0x02) 88 | 89 | /* wIndex values for GET_Status */ 90 | #ifdef OTG_BUILD 91 | #define USB_WINDEX_OTG_STATUS_SEL (0xF000) 92 | #endif 93 | 94 | /* for transfer direction check */ 95 | #define USB_DATA_TO_HOST (0x80) 96 | #define USB_DATA_TO_DEVICE (0x00) 97 | #define USB_DATA_DIREC_MASK (0x80) 98 | 99 | #define USB_uint_16_low(x) ((uint_8)x) /* lsb byte */ 100 | #define USB_uint_16_high(x) ((uint_8)(x>>8)) /* msb byte */ 101 | 102 | #if(defined LITTLE_ENDIAN) 103 | #define BYTE_SWAP16(a) (a) 104 | #else 105 | #define BYTE_SWAP16(a) (uint_16)((((uint_16)(a)&0xFF00)>>8) | \ 106 | (((uint_16)(a)&0x00FF)<<8)) 107 | #endif 108 | 109 | /****************************************************************************** 110 | * Types 111 | *****************************************************************************/ 112 | 113 | /****************************************************************************** 114 | * Global Functions 115 | *****************************************************************************/ 116 | extern boolean USB_Frame_Remote_Wakeup(uint_8 controller_ID); 117 | 118 | #define USB_Frame_Remote_Wakeup USB_Desc_Remote_Wakeup 119 | 120 | typedef struct _app_data_struct 121 | { 122 | uint_8_ptr data_ptr; /* pointer to buffer */ 123 | USB_PACKET_SIZE data_size; /* buffer size of endpoint */ 124 | }APP_DATA_STRUCT; 125 | 126 | extern uint_8 USB_Framework_Init ( 127 | uint_8 controller_ID, 128 | USB_CLASS_CALLBACK callback, 129 | USB_REQ_FUNC other_req_callback 130 | ); 131 | 132 | extern uint_8 USB_Framework_DeInit 133 | ( 134 | uint_8 controller_ID 135 | ); 136 | 137 | extern uint_8 USB_Framework_Reset ( 138 | uint_8 controller_ID 139 | ); 140 | #ifdef DELAYED_PROCESSING 141 | extern void USB_Framework_Periodic_Task(void); 142 | #endif 143 | 144 | #endif 145 | -------------------------------------------------------------------------------- /lib/USB/common/types.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2010 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | ****************************************************************************** 8 | * 9 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR 10 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 11 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 12 | * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 13 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 14 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 15 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 16 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 17 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 18 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 19 | * THE POSSIBILITY OF SUCH DAMAGE. 20 | * 21 | **************************************************************************//*! 22 | * 23 | * @file types.h 24 | * 25 | * @author 26 | * 27 | * @version 28 | * 29 | * @date 30 | * 31 | * @brief The file contains definitions of datatypes. 32 | * 33 | *****************************************************************************/ 34 | 35 | 36 | #ifndef _TYPES_H 37 | #define _TYPES_H 38 | 39 | /****************************************************************************** 40 | * Includes 41 | *****************************************************************************/ 42 | #include 43 | #include "common.h" 44 | /****************************************************************************** 45 | * Constants - None 46 | *****************************************************************************/ 47 | 48 | /****************************************************************************** 49 | * Macro's 50 | *****************************************************************************/ 51 | #define LSB(a) ((a)._byte.byte0) 52 | #define MSB(a) ((a)._byte.byte1) 53 | 54 | #define LOWER_LSB(a) ((a)._byte.byte0) 55 | #define LOWER_MSB(a) ((a)._byte.byte1) 56 | #define UPPER_LSB(a) ((a)._byte.byte2) 57 | #define UPPER_MSB(a) ((a)._byte.byte3) 58 | 59 | #define _PTR_ * 60 | #define _CODE_PTR_ * 61 | 62 | #ifndef TRUE 63 | #define FALSE 0 64 | #define TRUE 1 65 | #endif 66 | 67 | #define BYTESWAP16(x) (uint_16)((((x) & 0xFF00) >> 0x8) | (((x) & 0xFF) << 0x8)) 68 | #define BYTESWAP32(val) (uint_32)((BYTESWAP16((uint_32)(val) & (uint_32)0xFFFF) << 0x10) | \ 69 | (BYTESWAP16((uint_32)((val) >> 0x10)))) 70 | 71 | #ifndef LITTLE_ENDIAN 72 | #define ieee_htons(x) (uint_16)(x) 73 | #define ieee_htonl(x) (uint_32)(x) 74 | #define ieee_ntohs(x) (uint_16)(x) 75 | #define ieee_ntohl(x) (uint_32)(x) 76 | #else 77 | #define ieee_htons(x) BYTESWAP16(x) 78 | #define ieee_htonl(x) BYTESWAP32(x) 79 | #define ieee_ntohs(x) BYTESWAP16(x) 80 | #define ieee_ntohl(x) BYTESWAP32(x) 81 | #endif 82 | 83 | #define UNUSED(x) (void)x; 84 | /****************************************************************************** 85 | * Types 86 | *****************************************************************************/ 87 | typedef void _PTR_ pointer; /* Machine representation of a pointer */ 88 | typedef unsigned char uint_8; /* 8-bit*/ 89 | typedef signed char int_8; /* 8-bit*/ 90 | 91 | typedef unsigned short uint_16; /* 16-bit*/ 92 | typedef signed short int_16; /* 16-bit*/ 93 | 94 | typedef unsigned long uint_32; /* 32-bit*/ 95 | typedef signed long int_32; /* 32-bit*/ 96 | 97 | //typedef unsigned char boolean; /* 8-bit*/ 98 | 99 | typedef uint_8* uint_8_ptr; /* ptr to 8-bit*/ 100 | typedef uint_16* uint_16_ptr; /* ptr to 16-bit */ 101 | typedef uint_32* uint_32_ptr; /* ptr to 32-bit*/ 102 | 103 | typedef uint_8_ptr uchar_ptr; /* ptr to 8-bit*/ 104 | 105 | /* definition of 8 bit word */ 106 | typedef union _BYTE 107 | { 108 | uint_8 _byte; 109 | struct 110 | { 111 | unsigned b0:1; 112 | unsigned b1:1; 113 | unsigned b2:1; 114 | unsigned b3:1; 115 | unsigned b4:1; 116 | unsigned b5:1; 117 | unsigned b6:1; 118 | unsigned b7:1; 119 | }Bit; 120 | } BYTE; 121 | 122 | /* definition of 16 bit word */ 123 | typedef union _WORD 124 | { 125 | uint_16 _word; 126 | struct 127 | { 128 | uint_8 byte1; 129 | uint_8 byte0; 130 | }_byte; 131 | struct 132 | { 133 | BYTE HighB; 134 | BYTE LowB; 135 | }_Byte; 136 | } WORD; 137 | 138 | /* definition of 32 bit word */ 139 | typedef union _DWORD 140 | { 141 | uint_32 _dword; 142 | struct 143 | { 144 | uint_8 byte3; 145 | uint_8 byte2; 146 | uint_8 byte1; 147 | uint_8 byte0; 148 | }_byte; 149 | struct 150 | { 151 | uint_16 word1; 152 | uint_16 word0; 153 | }_word; 154 | struct 155 | { 156 | BYTE Byte3; 157 | BYTE Byte2; 158 | BYTE Byte1; 159 | BYTE Byte0; 160 | }_Byte; 161 | struct 162 | { 163 | WORD Word1; 164 | WORD Word0; 165 | }_Word; 166 | } DWORD; 167 | 168 | /****************************************************************************** 169 | * Global Functions - None 170 | *****************************************************************************/ 171 | 172 | #endif 173 | -------------------------------------------------------------------------------- /lib/USB/driver/usb_bdt_kinetis.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2009 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | ****************************************************************************** 8 | * 9 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR 10 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 11 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 12 | * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 13 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 14 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 15 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 16 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 17 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 18 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 19 | * THE POSSIBILITY OF SUCH DAMAGE. 20 | * 21 | **************************************************************************//*! 22 | * 23 | * @file usb_bdt_kinetis.h 24 | * 25 | * @author 26 | * 27 | * @version 28 | * 29 | * @date Jun-05-2009 30 | * 31 | * @brief The file contains definitions of Buffer Descriptor Table. 32 | * 33 | *****************************************************************************/ 34 | 35 | #ifndef _USBBDT_H 36 | #define _USBBDT_H 37 | 38 | /****************************************************************************** 39 | * Includes 40 | *****************************************************************************/ 41 | #include "types.h" 42 | 43 | /****************************************************************************** 44 | * Constants - None 45 | *****************************************************************************/ 46 | 47 | /****************************************************************************** 48 | * Macro's 49 | *****************************************************************************/ 50 | /* Buffer Descriptor Status Register Initialization Parameters */ 51 | #define _BDTSTALL (0x04) /* Buffer Stall enable */ 52 | #define _DATA0 (0x00) /* DATA0 packet expected next */ 53 | #define _DATA1 (0x40) /* DATA1 packet expected next */ 54 | #define _DTS (0x08) /* DTS Mask */ 55 | #define _SIE (0x80) /* SIE owns buffer */ 56 | #define _CPU (0x00) /* CPU owns buffer */ 57 | #define _KEEP (0x20) /* keep bit */ 58 | 59 | #define MAX_BDT_INDEX (64) /* Maximum BDT Indexes */ 60 | 61 | 62 | /****************************************************************************** 63 | * Types 64 | *****************************************************************************/ 65 | /* This structure is an exact replica of the BDT MAP in the USB RAM 66 | The BDT_STAT defines the stat byte of the buffer descriptor vector. 67 | McuCtlBit structure defines the bits that have a meaning from CPU 68 | point of view.SieCtlBit structure defines the bits that have a 69 | meaning from USB controller point of view. 70 | */ 71 | 72 | #if defined(__CWCC__) 73 | #pragma align_array_members on 74 | #endif 75 | #pragma pack(push) 76 | #pragma pack(1) 77 | typedef struct _MCU_CTL_BIT{ 78 | uint_8 :1; 79 | uint_8 :1; 80 | uint_8 bdtstall:1; /* Buffer Stall Enable */ 81 | uint_8 dts:1; /* Data Toggle Synch Enable */ 82 | uint_8 keep:1; /* Address Increment Disable */ 83 | uint_8 ninc:1; /* BD Keep Enable */ 84 | uint_8 data:1; /* Data Toggle Synch Value */ 85 | uint_8 own:1; /* USB Ownership */ 86 | }MCU_CTL_BIT; /* read Stat */ 87 | 88 | typedef struct _SIE_CTL_BIT{ 89 | uint_8 :1; 90 | uint_8 :1; 91 | uint_8 pid0:1; /* Packet Identifier bit 0 */ 92 | uint_8 pid1:1; /* Packet Identifier bit 1 */ 93 | uint_8 pid2:1; /* Packet Identifier bit 2 */ 94 | uint_8 pid3:1; /* Packet Identifier bit 3 */ 95 | uint_8 :1; 96 | uint_8 own:1; 97 | }SIE_CTL_BIT; /* write Stat */ 98 | 99 | typedef struct _REC_PID{ 100 | uint_8 :2; 101 | uint_8 pid:4; /* Packet Identifier */ 102 | uint_8 :2; 103 | }REC_PID; 104 | 105 | typedef union _BD_STAT 106 | { 107 | uint_8 _byte; 108 | MCU_CTL_BIT McuCtlBit; 109 | SIE_CTL_BIT SieCtlBit; 110 | REC_PID RecPid; 111 | } BD_STAT; /* Buffer Descriptor Status Register */ 112 | 113 | typedef struct _BUFF_DSC 114 | { 115 | BD_STAT Stat; 116 | uint_8 reserved1; 117 | uint_16 cnt; /* Count of bytes receieved or sent */ 118 | /* six MSB bits are reserved ones */ 119 | uint_32 addr; /* Buffer Address */ 120 | } BUFF_DSC, *P_BUFF_DSC; /* Buffer Descriptor Table */ 121 | 122 | typedef struct _g_bdtmap { 123 | 124 | BUFF_DSC ep_dsc[MAX_BDT_INDEX]; /* Endpoint Descriptor */ 125 | }BDTMAP; 126 | #if defined(__CWCC__) 127 | #pragma align_array_members off 128 | #pragma options align=reset 129 | #elif defined(__IAR_SYSTEMS_ICC__) 130 | #pragma pack() 131 | #else /* e.g. gcc */ 132 | #pragma pack(pop) 133 | #endif 134 | /****************************************************************************** 135 | * Global Functions - None 136 | *****************************************************************************/ 137 | 138 | #endif 139 | -------------------------------------------------------------------------------- /lib/USB/class/usb_hid.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2009 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | ****************************************************************************** 8 | * 9 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR 10 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 11 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 12 | * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 13 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 14 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 15 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 16 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 17 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 18 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 19 | * THE POSSIBILITY OF SUCH DAMAGE. 20 | * 21 | **************************************************************************//*! 22 | * 23 | * @file usb_hid.h 24 | * 25 | * @author 26 | * 27 | * @version 28 | * 29 | * @date May-28-2009 30 | * 31 | * @brief The file contains USB stack HID class layer API header function. 32 | * 33 | *****************************************************************************/ 34 | 35 | #ifndef _USB_HID_H 36 | #define _USB_HID_H 37 | 38 | /****************************************************************************** 39 | * Includes 40 | *****************************************************************************/ 41 | #include "types.h" 42 | #include "usb_descriptor_hid.h" 43 | #include "usb_class.h" 44 | #ifdef COMPOSITE_DEV 45 | #include "usb_composite.h" 46 | #endif 47 | #include "usb_devapi.h" 48 | 49 | /****************************************************************************** 50 | * Constants - None 51 | *****************************************************************************/ 52 | 53 | /****************************************************************************** 54 | * Macro's 55 | *****************************************************************************/ 56 | #define MAX_QUEUE_ELEMS (4) 57 | 58 | /* class specific requests */ 59 | #define USB_HID_GET_REPORT_REQUEST (0x01) 60 | #define USB_HID_GET_IDLE_REQUEST (0x02) 61 | #define USB_HID_GET_PROTOCOL_REQUEST (0x03) 62 | #define USB_HID_SET_REPORT_REQUEST (0x09) 63 | #define USB_HID_SET_IDLE_REQUEST (0x0A) 64 | #define USB_HID_SET_PROTOCOL_REQUEST (0x0B) 65 | 66 | /* for class specific requests */ 67 | #define HIGH_BYTE_SHIFT (8) 68 | #define MSB_MASK (0xFF00) 69 | #define USB_HID_REQUEST_DIR_MASK (0x08) 70 | #define USB_HID_REQUEST_TYPE_MASK (0x01) 71 | #define REPORT_SIZE (4) 72 | #define CLASS_REQ_DATA_SIZE (0x01) 73 | 74 | /****************************************************************************** 75 | * Types 76 | *****************************************************************************/ 77 | 78 | /* structure to hold a request in the endpoint queue */ 79 | typedef struct _usb_class_hid_queue 80 | { 81 | uint_8 controller_ID; /* Controller ID*/ 82 | uint_8 channel; /* Endpoint number */ 83 | uint_8_ptr app_buff; /* Buffer to send */ 84 | USB_PACKET_SIZE size; /* Size of the transfer */ 85 | }USB_CLASS_HID_QUEUE, *PTR_USB_CLASS_HID_QUEUE; 86 | 87 | /* USB class hid endpoint data */ 88 | typedef struct _usb_class_hid_endpoint 89 | { 90 | uint_8 endpoint; /* Endpoint number */ 91 | uint_8 type; /* Type of endpoint (interrupt, 92 | bulk or isochronous) */ 93 | uint_8 bin_consumer; /* Num of queued elements */ 94 | uint_8 bin_producer; /* Num of de-queued elements */ 95 | uint_8 queue_num; /* HIGH SPEED: Num of queue */ 96 | USB_CLASS_HID_QUEUE queue[MAX_QUEUE_ELEMS]; /* Queue data */ 97 | }USB_CLASS_HID_ENDPOINT; 98 | 99 | /* contains the endpoint data for non control endpoints */ 100 | typedef struct _usb_class_hid_endpoint_data 101 | { 102 | /* Num of non control endpoints */ 103 | uint_8 count; 104 | /* contains the endpoint info */ 105 | #ifndef COMPOSITE_DEV 106 | USB_CLASS_HID_ENDPOINT ep[HID_DESC_ENDPOINT_COUNT]; 107 | #else 108 | USB_CLASS_HID_ENDPOINT ep[COMPOSITE_DESC_ENDPOINT_COUNT]; 109 | #endif 110 | }USB_CLASS_HID_ENDPOINT_DATA, *PTR_USB_CLASS_HID_ENDPOINT_DATA; 111 | 112 | /****************************************************************************** 113 | * Global Functions 114 | *****************************************************************************/ 115 | extern uint_8 USB_Class_HID_Init ( 116 | uint_8 controller_ID, 117 | USB_CLASS_CALLBACK hid_class_callback, 118 | USB_REQ_FUNC vendor_req_callback, 119 | USB_CLASS_SPECIFIC_HANDLER_FUNC param_callback 120 | ); 121 | 122 | extern void USB_Class_Hid_Event ( 123 | uint_8 controller_ID, /* [IN] Controller ID */ 124 | uint_8 event, /* [IN] Event Type */ 125 | void* val /* [IN] Pointer to configuration Value */ 126 | ); 127 | 128 | #ifdef COMPOSITE_DEV 129 | extern uint_8 USB_HID_Other_Requests(uint_8 controller_ID, 130 | USB_SETUP_STRUCT * setup_packet, 131 | uint_8_ptr *data, 132 | USB_PACKET_SIZE *size); 133 | #endif 134 | extern uint_8 USB_Class_HID_DeInit 135 | ( 136 | uint_8 controller_ID 137 | ); 138 | 139 | extern uint_8 USB_Class_HID_Send_Data ( 140 | uint_8 controller_ID, 141 | uint_8 ep_num, 142 | uint_8_ptr buff_ptr, 143 | USB_PACKET_SIZE size 144 | ); 145 | 146 | #define USB_Class_HID_Periodic_Task USB_Class_Periodic_Task 147 | 148 | void USB_Service_Hid (PTR_USB_DEV_EVENT_STRUCT event); 149 | 150 | #endif 151 | -------------------------------------------------------------------------------- /lib/USB/common/usb_class.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2009 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | ****************************************************************************** 8 | * 9 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR 10 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 11 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 12 | * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 13 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 14 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 15 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 16 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 17 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 18 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 19 | * THE POSSIBILITY OF SUCH DAMAGE. 20 | * 21 | **************************************************************************//*! 22 | * 23 | * @file usb_class.h 24 | * 25 | * @author 26 | * 27 | * @version 28 | * 29 | * @date May-28-2009 30 | * 31 | * @brief The file contains USB stack class layer API header function. 32 | * 33 | *****************************************************************************/ 34 | 35 | #ifndef _USB_CLASS_H 36 | #define _USB_CLASS_H 37 | 38 | 39 | /*#define DELAYED_PROCESSING 1 This define is used to delay the control 40 | processing and not have it executed as part 41 | of the interrupt routine */ 42 | /****************************************************************************** 43 | * Includes 44 | *****************************************************************************/ 45 | #include "types.h" 46 | #include "usb_devapi.h" 47 | 48 | /****************************************************************************** 49 | * Constants - None 50 | *****************************************************************************/ 51 | 52 | /****************************************************************************** 53 | * Macro's 54 | *****************************************************************************/ 55 | #define SOF_HIGH_BYTE_SHIFT (8) 56 | #define GET_STATUS_DEVICE_MASK (0x0003) 57 | #ifdef OTG_BUILD 58 | #define GET_STATUS_OTG_MASK (0x0001) 59 | #endif 60 | #define REMOTE_WAKEUP_STATUS_MASK (0x0002) 61 | #define BUS_POWERED (0x80) 62 | #define SELF_POWERED (0x40) 63 | #define SELF_POWER_BIT_SHIFT (6) 64 | 65 | /* Events to the Application */ 66 | #define USB_APP_BUS_RESET (0) 67 | #define USB_APP_CONFIG_CHANGED (1) 68 | #define USB_APP_ENUM_COMPLETE (2) 69 | #define USB_APP_SEND_COMPLETE (3) 70 | #define USB_APP_DATA_RECEIVED (4) 71 | #define USB_APP_ERROR (5) 72 | #define USB_APP_GET_DATA_BUFF (6) 73 | #define USB_APP_EP_STALLED (7) 74 | #define USB_APP_EP_UNSTALLED (8) 75 | #define USB_APP_GET_TRANSFER_SIZE (9) 76 | #define USB_APP_BUS_SUSPEND (0x0A) 77 | #define USB_APP_BUS_RESUME (0x0B) 78 | 79 | /* max packet size for the control endpoint */ 80 | 81 | /* USB Specs define CONTROL_MAX_PACKET_SIZE for High Speed device as only 64, 82 | whereas for FS its allowed to be 8, 16, 32 or 64 */ 83 | 84 | #if HIGH_SPEED_DEVICE 85 | #define CONTROL_MAX_PACKET_SIZE (64) /* max supported value is 64*/ 86 | #else 87 | #define CONTROL_MAX_PACKET_SIZE (16) /* max supported value is 16*/ 88 | #endif 89 | 90 | /* identification values and masks to identify request types */ 91 | #define USB_REQUEST_CLASS_MASK (0x60) 92 | #define USB_REQUEST_CLASS_STRD (0x00) 93 | #define USB_REQUEST_CLASS_CLASS (0x20) 94 | #define USB_REQUEST_CLASS_VENDOR (0x40) 95 | 96 | /****************************************************************************** 97 | * Types 98 | *****************************************************************************/ 99 | /* eight byte usb setup packet structure */ 100 | typedef struct _USB_SETUP_STRUCT { 101 | uint_8 request_type; /* bmRequestType */ 102 | uint_8 request; /* Request code */ 103 | uint_16 value; /* wValue */ 104 | uint_16 index; /* wIndex */ 105 | uint_16 length; /* Length of the data */ 106 | } USB_SETUP_STRUCT; 107 | 108 | /* callback function pointer structure for Application to handle events */ 109 | typedef void(_CODE_PTR_ USB_CLASS_CALLBACK)(uint_8, uint_8, void*); 110 | 111 | /* callback function pointer structure to handle USB framework request */ 112 | typedef uint_8 (_CODE_PTR_ USB_REQ_FUNC)(uint_8, USB_SETUP_STRUCT *, 113 | uint_8_ptr*, 114 | USB_PACKET_SIZE*); 115 | 116 | /*callback function pointer structure for application to provide class params*/ 117 | typedef uint_8 (_CODE_PTR_ USB_CLASS_SPECIFIC_HANDLER_FUNC)( 118 | uint_8, 119 | uint_16, 120 | uint_16, // Application needs to know which Interface is being communicated with 121 | uint_8_ptr*, 122 | USB_PACKET_SIZE*); 123 | 124 | /****************************************************************************** 125 | * Global Functions 126 | *****************************************************************************/ 127 | extern uint_8 USB_Class_Init ( 128 | uint_8 controller_ID, 129 | USB_CLASS_CALLBACK class_callback, 130 | USB_REQ_FUNC other_req_callback 131 | ); 132 | 133 | extern uint_8 USB_Class_DeInit 134 | ( 135 | uint_8 controller_ID 136 | ); 137 | 138 | extern uint_8 USB_Class_Initiate_Resume( 139 | uint_8 controller_ID 140 | ); 141 | 142 | extern uint_8 USB_Class_Send_Data ( 143 | uint_8 controller_ID, 144 | uint_8 ep_num, 145 | uint_8_ptr buff_ptr, 146 | USB_PACKET_SIZE size 147 | ); 148 | 149 | extern void USB_Class_Periodic_Task(void); 150 | 151 | #endif 152 | -------------------------------------------------------------------------------- /lib/FatFs/00readme.txt: -------------------------------------------------------------------------------- 1 | FatFs Module Source Files R0.09b (C)ChaN, 2013 2 | 3 | 4 | FILES 5 | 6 | ffconf.h Configuration file for FatFs module. 7 | ff.h Common include file for FatFs and application module. 8 | ff.c FatFs module. 9 | diskio.h Common include file for FatFs and disk I/O module. 10 | diskio.c An example of glue function to attach existing disk I/O module to FatFs. 11 | integer.h Integer type definitions for FatFs. 12 | option Optional external functions. 13 | 14 | Low level disk I/O module is not included in this archive because the FatFs 15 | module is only a generic file system layer and not depend on any specific 16 | storage device. You have to provide a low level disk I/O module that written 17 | to control your storage device. 18 | 19 | 20 | 21 | AGREEMENTS 22 | 23 | FatFs module is an open source software to implement FAT file system to 24 | small embedded systems. This is a free software and is opened for education, 25 | research and commercial developments under license policy of following trems. 26 | 27 | Copyright (C) 2012, ChaN, all right reserved. 28 | 29 | * The FatFs module is a free software and there is NO WARRANTY. 30 | * No restriction on use. You can use, modify and redistribute it for 31 | personal, non-profit or commercial product UNDER YOUR RESPONSIBILITY. 32 | * Redistributions of source code must retain the above copyright notice. 33 | 34 | 35 | 36 | REVISION HISTORY 37 | 38 | Feb 26, 2006 R0.00 Prototype 39 | 40 | Apr 29, 2006 R0.01 First release. 41 | 42 | Jun 01, 2006 R0.02 Added FAT12. 43 | Removed unbuffered mode. 44 | Fixed a problem on small (<32M) patition. 45 | 46 | Jun 10, 2006 R0.02a Added a configuration option _FS_MINIMUM. 47 | 48 | Sep 22, 2006 R0.03 Added f_rename. 49 | Changed option _FS_MINIMUM to _FS_MINIMIZE. 50 | 51 | Dec 11, 2006 R0.03a Improved cluster scan algolithm to write files fast. 52 | Fixed f_mkdir creates incorrect directory on FAT32. 53 | 54 | Feb 04, 2007 R0.04 Supported multiple drive system. (FatFs) 55 | Changed some APIs for multiple drive system. 56 | Added f_mkfs. (FatFs) 57 | Added _USE_FAT32 option. (Tiny-FatFs) 58 | 59 | Apr 01, 2007 R0.04a Supported multiple partitions on a plysical drive. (FatFs) 60 | Fixed an endian sensitive code in f_mkfs. (FatFs) 61 | Added a capability of extending the file size to f_lseek. 62 | Added minimization level 3. 63 | Fixed a problem that can collapse a sector when recreate an 64 | existing file in any sub-directory at non FAT32 cfg. (Tiny-FatFs) 65 | 66 | May 05, 2007 R0.04b Added _USE_NTFLAG option. 67 | Added FSInfo support. 68 | Fixed some problems corresponds to FAT32. (Tiny-FatFs) 69 | Fixed DBCS name can result FR_INVALID_NAME. 70 | Fixed short seek (0 < ofs <= csize) collapses the file object. 71 | 72 | Aug 25, 2007 R0.05 Changed arguments of f_read, f_write. 73 | Changed arguments of f_mkfs. (FatFs) 74 | Fixed f_mkfs on FAT32 creates incorrect FSInfo. (FatFs) 75 | Fixed f_mkdir on FAT32 creates incorrect directory. (FatFs) 76 | 77 | Feb 03, 2008 R0.05a Added f_truncate(). 78 | Added f_utime(). 79 | Fixed off by one error at FAT sub-type determination. 80 | Fixed btr in f_read() can be mistruncated. 81 | Fixed cached sector is not flushed when create and close without write. 82 | 83 | Apr 01, 2008 R0.06 Added f_forward(). (Tiny-FatFs) 84 | Added string functions: fputc(), fputs(), fprintf() and fgets(). 85 | Improved performance of f_lseek() on move to the same or following cluster. 86 | 87 | Apr 01, 2009, R0.07 Merged Tiny-FatFs as a buffer configuration option. 88 | Added long file name support. 89 | Added multiple code page support. 90 | Added re-entrancy for multitask operation. 91 | Added auto cluster size selection to f_mkfs(). 92 | Added rewind option to f_readdir(). 93 | Changed result code of critical errors. 94 | Renamed string functions to avoid name collision. 95 | 96 | Apr 14, 2009, R0.07a Separated out OS dependent code on reentrant cfg. 97 | Added multiple sector size support. 98 | 99 | Jun 21, 2009, R0.07c Fixed f_unlink() may return FR_OK on error. 100 | Fixed wrong cache control in f_lseek(). 101 | Added relative path feature. 102 | Added f_chdir(). 103 | Added f_chdrive(). 104 | Added proper case conversion for extended characters. 105 | 106 | Nov 03, 2009 R0.07e Separated out configuration options from ff.h to ffconf.h. 107 | Added a configuration option, _LFN_UNICODE. 108 | Fixed f_unlink() fails to remove a sub-dir on _FS_RPATH. 109 | Fixed name matching error on the 13 char boundary. 110 | Changed f_readdir() to return the SFN with always upper case on non-LFN cfg. 111 | 112 | May 15, 2010, R0.08 Added a memory configuration option. (_USE_LFN) 113 | Added file lock feature. (_FS_SHARE) 114 | Added fast seek feature. (_USE_FASTSEEK) 115 | Changed some types on the API, XCHAR->TCHAR. 116 | Changed fname member in the FILINFO structure on Unicode cfg. 117 | String functions support UTF-8 encoding files on Unicode cfg. 118 | 119 | Aug 16,'10 R0.08a Added f_getcwd(). (_FS_RPATH = 2) 120 | Added sector erase feature. (_USE_ERASE) 121 | Moved file lock semaphore table from fs object to the bss. 122 | Fixed a wrong directory entry is created on non-LFN cfg when the given name contains ';'. 123 | Fixed f_mkfs() creates wrong FAT32 volume. 124 | 125 | Jan 15,'11 R0.08b Fast seek feature is also applied to f_read() and f_write(). 126 | f_lseek() reports required table size on creating CLMP. 127 | Extended format syntax of f_printf function. 128 | Ignores duplicated directory separators in given path names. 129 | 130 | Sep 06,'11 R0.09 f_mkfs() supports multiple partition to finish the multiple partition feature. 131 | Added f_fdisk(). (_MULTI_PARTITION = 2) 132 | 133 | Aug 27,'12 R0.09a Fixed assertion failure due to OS/2 EA on FAT12/16. 134 | Changed f_open() and f_opendir() reject null object pointer to avoid crash. 135 | Changed option name _FS_SHARE to _FS_LOCK. 136 | 137 | Jan 23,'13 R0.09b Added f_getlabel() and f_setlabel(). (_USE_LABEL == 1) 138 | 139 | -------------------------------------------------------------------------------- /lib/common/memtest.c: -------------------------------------------------------------------------------- 1 | /********************************************************************** 2 | * 3 | * Filename: memtest.c 4 | * 5 | * Description: General-purpose memory testing functions. 6 | * 7 | * Notes: This software can be easily ported to systems with 8 | * different data bus widths by redefining 'datum'. 9 | * 10 | * 11 | * Copyright (c) 1998 by Michael Barr. This software is placed into 12 | * the public domain and may be used for any purpose. However, this 13 | * notice must not be changed or removed and no warranty is either 14 | * expressed or implied by its publication or distribution. 15 | **********************************************************************/ 16 | 17 | 18 | #include "memtest.h" 19 | 20 | 21 | /********************************************************************** 22 | * 23 | * Function: memTestDataBus() 24 | * 25 | * Description: Test the data bus wiring in a memory region by 26 | * performing a walking 1's test at a fixed address 27 | * within that region. The address (and hence the 28 | * memory region) is selected by the caller. 29 | * 30 | * Notes: 31 | * 32 | * Returns: 0 if the test succeeds. 33 | * A non-zero result is the first pattern that failed. 34 | * 35 | **********************************************************************/ 36 | datum 37 | memTestDataBus(volatile datum * address) 38 | { 39 | datum pattern; 40 | 41 | 42 | /* 43 | * Perform a walking 1's test at the given address. 44 | */ 45 | for (pattern = 1; pattern != 0; pattern <<= 1) 46 | { 47 | /* 48 | * Write the test pattern. 49 | */ 50 | *address = pattern; 51 | 52 | /* 53 | * Read it back (immediately is okay for this test). 54 | */ 55 | if (*address != pattern) 56 | { 57 | return (pattern); 58 | } 59 | } 60 | 61 | return (0); 62 | 63 | } /* memTestDataBus() */ 64 | 65 | 66 | /********************************************************************** 67 | * 68 | * Function: memTestAddressBus() 69 | * 70 | * Description: Test the address bus wiring in a memory region by 71 | * performing a walking 1's test on the relevant bits 72 | * of the address and checking for aliasing. This test 73 | * will find single-bit address failures such as stuck 74 | * -high, stuck-low, and shorted pins. The base address 75 | * and size of the region are selected by the caller. 76 | * 77 | * Notes: For best results, the selected base address should 78 | * have enough LSB 0's to guarantee single address bit 79 | * changes. For example, to test a 64-Kbyte region, 80 | * select a base address on a 64-Kbyte boundary. Also, 81 | * select the region size as a power-of-two--if at all 82 | * possible. 83 | * 84 | * Returns: NULL if the test succeeds. 85 | * A non-zero result is the first address at which an 86 | * aliasing problem was uncovered. By examining the 87 | * contents of memory, it may be possible to gather 88 | * additional information about the problem. 89 | * 90 | **********************************************************************/ 91 | datum * 92 | memTestAddressBus(volatile datum * baseAddress, uint32 nBytes) 93 | { 94 | uint32 addressMask = (nBytes/sizeof(datum) - 1); 95 | uint32 offset; 96 | uint32 testOffset; 97 | 98 | datum pattern = (datum) 0xAAAAAAAA; 99 | datum antipattern = (datum) 0x55555555; 100 | 101 | 102 | /* 103 | * Write the default pattern at each of the power-of-two offsets. 104 | */ 105 | for (offset = 1; (offset & addressMask) != 0; offset <<= 1) 106 | { 107 | baseAddress[offset] = pattern; 108 | } 109 | 110 | /* 111 | * Check for address bits stuck high. 112 | */ 113 | testOffset = 0; 114 | baseAddress[testOffset] = antipattern; 115 | 116 | for (offset = 1; (offset & addressMask) != 0; offset <<= 1) 117 | { 118 | if (baseAddress[offset] != pattern) 119 | { 120 | return ((datum *) &baseAddress[offset]); 121 | } 122 | } 123 | 124 | baseAddress[testOffset] = pattern; 125 | 126 | /* 127 | * Check for address bits stuck low or shorted. 128 | */ 129 | for (testOffset = 1; (testOffset & addressMask) != 0; testOffset <<= 1) 130 | { 131 | baseAddress[testOffset] = antipattern; 132 | 133 | if (baseAddress[0] != pattern) 134 | { 135 | return ((datum *) &baseAddress[testOffset]); 136 | } 137 | 138 | for (offset = 1; (offset & addressMask) != 0; offset <<= 1) 139 | { 140 | if ((baseAddress[offset] != pattern) && (offset != testOffset)) 141 | { 142 | return ((datum *) &baseAddress[testOffset]); 143 | } 144 | } 145 | 146 | baseAddress[testOffset] = pattern; 147 | } 148 | 149 | return (NULL); 150 | 151 | } /* memTestAddressBus() */ 152 | 153 | 154 | /********************************************************************** 155 | * 156 | * Function: memTestDevice() 157 | * 158 | * Description: Test the integrity of a physical memory device by 159 | * performing an increment/decrement test over the 160 | * entire region. In the process every storage bit 161 | * in the device is tested as a zero and a one. The 162 | * base address and the size of the region are 163 | * selected by the caller. 164 | * 165 | * Notes: 166 | * 167 | * Returns: NULL if the test succeeds. 168 | * 169 | * A non-zero result is the first address at which an 170 | * incorrect value was read back. By examining the 171 | * contents of memory, it may be possible to gather 172 | * additional information about the problem. 173 | * 174 | **********************************************************************/ 175 | datum * 176 | memTestDevice(volatile datum * baseAddress, uint32 nBytes) 177 | { 178 | uint32 offset; 179 | uint32 nWords = nBytes / sizeof(datum); 180 | 181 | datum pattern; 182 | datum antipattern; 183 | 184 | 185 | /* 186 | * Fill memory with a known pattern. 187 | */ 188 | for (pattern = 1, offset = 0; offset < nWords; pattern++, offset++) 189 | { 190 | baseAddress[offset] = pattern; 191 | } 192 | 193 | /* 194 | * Check each location and invert it for the second pass. 195 | */ 196 | for (pattern = 1, offset = 0; offset < nWords; pattern++, offset++) 197 | { 198 | if (baseAddress[offset] != pattern) 199 | { 200 | return ((datum *) &baseAddress[offset]); 201 | } 202 | 203 | antipattern = ~pattern; 204 | baseAddress[offset] = antipattern; 205 | } 206 | 207 | /* 208 | * Check each location for the inverted pattern and zero it. 209 | */ 210 | for (pattern = 1, offset = 0; offset < nWords; pattern++, offset++) 211 | { 212 | antipattern = ~pattern; 213 | if (baseAddress[offset] != antipattern) 214 | { 215 | return ((datum *) &baseAddress[offset]); 216 | } 217 | } 218 | 219 | return (NULL); 220 | 221 | } /* memTestDevice() */ 222 | -------------------------------------------------------------------------------- /lib/FatFs/ffconf.h: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------------------------/ 2 | / FatFs - FAT file system module configuration file R0.09b (C)ChaN, 2013 3 | /----------------------------------------------------------------------------/ 4 | / 5 | / CAUTION! Do not forget to make clean the project after any changes to 6 | / the configuration options. 7 | / 8 | /----------------------------------------------------------------------------*/ 9 | #ifndef _FFCONF 10 | #define _FFCONF 82786 /* Revision ID */ 11 | 12 | 13 | /*---------------------------------------------------------------------------/ 14 | / Functions and Buffer Configurations 15 | /----------------------------------------------------------------------------*/ 16 | 17 | #define _FS_TINY 0 /* 0:Normal or 1:Tiny */ 18 | /* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system 19 | / object instead of the sector buffer in the individual file object for file 20 | / data transfer. This reduces memory consumption 512 bytes each file object. */ 21 | 22 | 23 | #define _FS_READONLY 0 /* 0:Read/Write or 1:Read only */ 24 | /* Setting _FS_READONLY to 1 defines read only configuration. This removes 25 | / writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename, 26 | / f_truncate and useless f_getfree. */ 27 | 28 | 29 | #define _FS_MINIMIZE 0 /* 0 to 3 */ 30 | /* The _FS_MINIMIZE option defines minimization level to remove some functions. 31 | / 32 | / 0: Full function. 33 | / 1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename 34 | / are removed. 35 | / 2: f_opendir and f_readdir are removed in addition to 1. 36 | / 3: f_lseek is removed in addition to 2. */ 37 | 38 | 39 | #define _USE_STRFUNC 2 /* 0:Disable or 1-2:Enable */ 40 | /* To enable string functions, set _USE_STRFUNC to 1 or 2. */ 41 | 42 | 43 | #define _USE_MKFS 1 /* 0:Disable or 1:Enable */ 44 | /* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */ 45 | 46 | 47 | #define _USE_FASTSEEK 1 /* 0:Disable or 1:Enable */ 48 | /* To enable fast seek feature, set _USE_FASTSEEK to 1. */ 49 | 50 | 51 | #define _USE_LABEL 0 /* 0:Disable or 1:Enable */ 52 | /* To enable volume label functions, set _USE_LAVEL to 1 */ 53 | 54 | 55 | #define _USE_FORWARD 0 /* 0:Disable or 1:Enable */ 56 | /* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */ 57 | 58 | 59 | /*---------------------------------------------------------------------------/ 60 | / Locale and Namespace Configurations 61 | /----------------------------------------------------------------------------*/ 62 | 63 | #define _CODE_PAGE 1250 64 | /* The _CODE_PAGE specifies the OEM code page to be used on the target system. 65 | / Incorrect setting of the code page can cause a file open failure. 66 | / 67 | / 932 - Japanese Shift-JIS (DBCS, OEM, Windows) 68 | / 936 - Simplified Chinese GBK (DBCS, OEM, Windows) 69 | / 949 - Korean (DBCS, OEM, Windows) 70 | / 950 - Traditional Chinese Big5 (DBCS, OEM, Windows) 71 | / 1250 - Central Europe (Windows) 72 | / 1251 - Cyrillic (Windows) 73 | / 1252 - Latin 1 (Windows) 74 | / 1253 - Greek (Windows) 75 | / 1254 - Turkish (Windows) 76 | / 1255 - Hebrew (Windows) 77 | / 1256 - Arabic (Windows) 78 | / 1257 - Baltic (Windows) 79 | / 1258 - Vietnam (OEM, Windows) 80 | / 437 - U.S. (OEM) 81 | / 720 - Arabic (OEM) 82 | / 737 - Greek (OEM) 83 | / 775 - Baltic (OEM) 84 | / 850 - Multilingual Latin 1 (OEM) 85 | / 858 - Multilingual Latin 1 + Euro (OEM) 86 | / 852 - Latin 2 (OEM) 87 | / 855 - Cyrillic (OEM) 88 | / 866 - Russian (OEM) 89 | / 857 - Turkish (OEM) 90 | / 862 - Hebrew (OEM) 91 | / 874 - Thai (OEM, Windows) 92 | / 1 - ASCII only (Valid for non LFN cfg.) 93 | */ 94 | 95 | 96 | #define _USE_LFN 3 /* 0 to 3 */ 97 | #define _MAX_LFN 64 /* Maximum LFN length to handle (12 to 255) */ 98 | /* The _USE_LFN option switches the LFN support. 99 | / 100 | / 0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect. 101 | / 1: Enable LFN with static working buffer on the BSS. Always NOT reentrant. 102 | / 2: Enable LFN with dynamic working buffer on the STACK. 103 | / 3: Enable LFN with dynamic working buffer on the HEAP. 104 | / 105 | / The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN, 106 | / Unicode handling functions ff_convert() and ff_wtoupper() must be added 107 | / to the project. When enable to use heap, memory control functions 108 | / ff_memalloc() and ff_memfree() must be added to the project. */ 109 | 110 | 111 | #define _LFN_UNICODE 0 /* 0:ANSI/OEM or 1:Unicode */ 112 | /* To switch the character code set on FatFs API to Unicode, 113 | / enable LFN feature and set _LFN_UNICODE to 1. */ 114 | 115 | 116 | #define _FS_RPATH 2 /* 0 to 2 */ 117 | /* The _FS_RPATH option configures relative path feature. 118 | / 119 | / 0: Disable relative path feature and remove related functions. 120 | / 1: Enable relative path. f_chdrive() and f_chdir() are available. 121 | / 2: f_getcwd() is available in addition to 1. 122 | / 123 | / Note that output of the f_readdir fnction is affected by this option. */ 124 | 125 | 126 | /*---------------------------------------------------------------------------/ 127 | / Physical Drive Configurations 128 | /----------------------------------------------------------------------------*/ 129 | 130 | #define _VOLUMES 1 131 | /* Number of volumes (logical drives) to be used. */ 132 | 133 | 134 | #define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */ 135 | /* Maximum sector size to be handled. 136 | / Always set 512 for memory card and hard disk but a larger value may be 137 | / required for on-board flash memory, floppy disk and optical disk. 138 | / When _MAX_SS is larger than 512, it configures FatFs to variable sector size 139 | / and GET_SECTOR_SIZE command must be implememted to the disk_ioctl function. */ 140 | 141 | 142 | #define _MULTI_PARTITION 0 /* 0:Single partition, 1:Enable multiple partition */ 143 | /* When set to 0, each volume is bound to the same physical drive number and 144 | / it can mount only first primaly partition. When it is set to 1, each volume 145 | / is tied to the partitions listed in VolToPart[]. */ 146 | 147 | 148 | #define _USE_ERASE 0 /* 0:Disable or 1:Enable */ 149 | /* To enable sector erase feature, set _USE_ERASE to 1. CTRL_ERASE_SECTOR command 150 | / should be added to the disk_ioctl functio. */ 151 | 152 | 153 | 154 | /*---------------------------------------------------------------------------/ 155 | / System Configurations 156 | /----------------------------------------------------------------------------*/ 157 | 158 | #define _WORD_ACCESS 0 /* 0 or 1 */ 159 | /* Set 0 first and it is always compatible with all platforms. The _WORD_ACCESS 160 | / option defines which access method is used to the word data on the FAT volume. 161 | / 162 | / 0: Byte-by-byte access. 163 | / 1: Word access. Do not choose this unless following condition is met. 164 | / 165 | / When the byte order on the memory is big-endian or address miss-aligned word 166 | / access results incorrect behavior, the _WORD_ACCESS must be set to 0. 167 | / If it is not the case, the value can also be set to 1 to improve the 168 | / performance and code size. 169 | */ 170 | 171 | 172 | /* A header file that defines sync object types on the O/S, such as 173 | / windows.h, ucos_ii.h and semphr.h, must be included prior to ff.h. */ 174 | 175 | #define _FS_REENTRANT 0 /* 0:Disable or 1:Enable */ 176 | #define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */ 177 | #define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */ 178 | 179 | /* The _FS_REENTRANT option switches the reentrancy (thread safe) of the FatFs module. 180 | / 181 | / 0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect. 182 | / 1: Enable reentrancy. Also user provided synchronization handlers, 183 | / ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj 184 | / function must be added to the project. */ 185 | 186 | 187 | #define _FS_LOCK 8 /* 0:Disable or >=1:Enable */ 188 | /* To enable file lock control feature, set _FS_LOCK to 1 or greater. 189 | The value defines how many files can be opened simultaneously. */ 190 | 191 | 192 | #endif /* _FFCONFIG */ 193 | -------------------------------------------------------------------------------- /lib/USB/class/usb_cdc.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Freescale Semiconductor Inc. 4 | * (c) Copyright 2004-2009 Freescale Semiconductor, Inc. 5 | * ALL RIGHTS RESERVED. 6 | * 7 | ****************************************************************************** 8 | * 9 | * THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESSED OR 10 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 11 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 12 | * IN NO EVENT SHALL FREESCALE OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 13 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 14 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 15 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 16 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 17 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 18 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 19 | * THE POSSIBILITY OF SUCH DAMAGE. 20 | * 21 | **************************************************************************//*! 22 | * 23 | * @file usb_cdc.h 24 | * 25 | * @author 26 | * 27 | * @version 28 | * 29 | * @date May-28-2009 30 | * 31 | * @brief The file contains USB stack CDC class layer API header function. 32 | * 33 | *****************************************************************************/ 34 | 35 | #ifndef _USB_CDC_H 36 | #define _USB_CDC_H 37 | 38 | /****************************************************************************** 39 | * Includes 40 | *****************************************************************************/ 41 | #include "types.h" 42 | #include "usb_descriptor_cdc.h" 43 | #include "usb_class.h" 44 | #include "usb_cdc_pstn.h" 45 | #include "usb_devapi.h" 46 | 47 | #ifdef COMPOSITE_DEV 48 | #include "usb_composite.h" 49 | #endif 50 | 51 | /****************************************************************************** 52 | * Constants - None 53 | *****************************************************************************/ 54 | 55 | /****************************************************************************** 56 | * Macro's 57 | *****************************************************************************/ 58 | /* Class specific request Codes */ 59 | #define SEND_ENCAPSULATED_COMMAND (0x00) 60 | #define GET_ENCAPSULATED_RESPONSE (0x01) 61 | #define SET_COMM_FEATURE (0x02) 62 | #define GET_COMM_FEATURE (0x03) 63 | #define CLEAR_COMM_FEATURE (0x04) 64 | #define SET_AUX_LINE_STATE (0x10) 65 | #define SET_HOOK_STATE (0x11) 66 | #define PULSE_SETUP (0x12) 67 | #define SEND_PULSE (0x13) 68 | #define SET_PULSE_TIME (0x14) 69 | #define RING_AUX_JACK (0x15) 70 | #define SET_LINE_CODING (0x20) 71 | #define GET_LINE_CODING (0x21) 72 | #define SET_CONTROL_LINE_STATE (0x22) 73 | #define SEND_BREAK (0x23) 74 | #define SET_RINGER_PARAMS (0x30) 75 | #define GET_RINGER_PARAMS (0x31) 76 | #define SET_OPERATION_PARAM (0x32) 77 | #define GET_OPERATION_PARAM (0x33) 78 | #define SET_LINE_PARAMS (0x34) 79 | #define GET_LINE_PARAMS (0x35) 80 | #define DIAL_DIGITS (0x36) 81 | #define SET_UNIT_PARAMETER (0x37) 82 | #define GET_UNIT_PARAMETER (0x38) 83 | #define CLEAR_UNIT_PARAMETER (0x39) 84 | #define GET_PROFILE (0x3A) 85 | #define SET_ETHERNET_MULTICAST_FILTERS (0x40) 86 | #define SET_ETHERNET_POW_PATTER_FILTER (0x41) 87 | #define GET_ETHERNET_POW_PATTER_FILTER (0x42) 88 | #define SET_ETHERNET_PACKET_FILTER (0x43) 89 | #define GET_ETHERNET_STATISTIC (0x44) 90 | #define SET_ATM_DATA_FORMAT (0x50) 91 | #define GET_ATM_DEVICE_STATISTICS (0x51) 92 | #define SET_ATM_DEFAULT_VC (0x52) 93 | #define GET_ATM_VC_STATISTICS (0x53) 94 | #define MDLM_SPECIFIC_REQUESTS_MASK (0x7F) 95 | 96 | /* Class Specific Notification Codes */ 97 | #define NETWORK_CONNECTION_NOTIF (0x00) 98 | #define RESPONSE_AVAIL_NOTIF (0x01) 99 | #define AUX_JACK_HOOK_STATE_NOTIF (0x08) 100 | #define RING_DETECT_NOTIF (0x09) 101 | #define SERIAL_STATE_NOTIF (0x20) 102 | #define CALL_STATE_CHANGE_NOTIF (0x28) 103 | #define LINE_STATE_CHANGE_NOTIF (0x29) 104 | #define CONNECTION_SPEED_CHANGE_NOTIF (0x2A) 105 | #define MDLM_SPECIFIC_NOTIF_MASK (0x5F) 106 | 107 | /* Events to the Application */ /* 0 to 4 are reserved for class events */ 108 | #define USB_APP_CDC_CARRIER_DEACTIVATED (0x21) 109 | #define USB_APP_CDC_CARRIER_ACTIVATED (0x22) 110 | 111 | /* other macros */ 112 | #define NOTIF_PACKET_SIZE (0x08) 113 | #define NOTIF_REQUEST_TYPE (0xA1) 114 | 115 | /* macros for queuing */ 116 | #define MAX_QUEUE_ELEMS (4) 117 | 118 | #if CIC_NOTIF_ELEM_SUPPORT 119 | #define CIC_SEND_ENDPOINT CIC_NOTIF_ENDPOINT 120 | #endif 121 | 122 | #if DIC_ISOCHRONOUS_SETTING 123 | #define DIC_SEND_ENDPOINT DIC_ISO_IN_ENDPOINT 124 | #define DIC_RECV_ENDPOINT DIC_ISO_OUT_ENDPOINT 125 | #else 126 | #define DIC_SEND_ENDPOINT DIC_BULK_IN_ENDPOINT 127 | #define DIC_RECV_ENDPOINT DIC_BULK_OUT_ENDPOINT 128 | #endif 129 | 130 | /****************************************************************************** 131 | * Types 132 | *****************************************************************************/ 133 | #ifndef COMPOSITE_DEV 134 | typedef struct _app_data_struct 135 | { 136 | uint_8_ptr data_ptr; /* pointer to buffer */ 137 | USB_PACKET_SIZE data_size; /* buffer size of endpoint */ 138 | }APP_DATA_STRUCT; 139 | #endif 140 | 141 | /* structure to hold a request in the endpoint queue */ 142 | typedef struct _usb_class_cdc_queue 143 | { 144 | uint_8 controller_ID; /* Controller ID */ 145 | uint_8 channel; /* Endpoint Number */ 146 | APP_DATA_STRUCT app_data; /* Application Data Structure */ 147 | }USB_CLASS_CDC_QUEUE, *PTR_USB_CLASS_CDC_QUEUE; 148 | 149 | /* USB class cdc endpoint data */ 150 | typedef struct _usb_class_cdc_endpoint 151 | { 152 | uint_8 endpoint; /* endpoint num */ 153 | uint_8 type; /* type of endpoint (interrupt, bulk or isochronous) */ 154 | uint_8 bin_consumer;/* the num of queued elements */ 155 | uint_8 bin_producer;/* the num of de-queued elements */ 156 | USB_CLASS_CDC_QUEUE queue[MAX_QUEUE_ELEMS]; /* queue data */ 157 | }USB_CLASS_CDC_ENDPOINT; 158 | 159 | /****************************************************************************** 160 | * Global Functions 161 | *****************************************************************************/ 162 | extern uint_8 USB_Class_CDC_Init ( 163 | uint_8 controller_ID, /* [IN] Controller ID */ 164 | USB_CLASS_CALLBACK cdc_class_callback, /* [IN] CDC Class Callback */ 165 | USB_REQ_FUNC vendor_req_callback, /* [IN] Vendor Request Callback */ 166 | USB_CLASS_CALLBACK pstn_callback, /* [IN] PSTN Callback */ 167 | uint_8 bVregEn /* Enables or disables internal regulator */ 168 | ); 169 | 170 | #ifdef COMPOSITE_DEV 171 | extern uint_8 USB_CDC_Other_Requests(uint_8 controller_ID, 172 | USB_SETUP_STRUCT * setup_packet, 173 | uint_8_ptr *data, 174 | USB_PACKET_SIZE *size); 175 | #endif 176 | 177 | extern uint_8 USB_Class_CDC_DeInit 178 | ( 179 | uint_8 controller_ID 180 | ); 181 | 182 | extern uint_8 USB_Class_CDC_Send_Data ( 183 | uint_8 controller_ID, 184 | uint_8 ep_num, 185 | uint_8_ptr buff_ptr, 186 | USB_PACKET_SIZE size 187 | ); 188 | 189 | #if CIC_NOTIF_ELEM_SUPPORT 190 | #define USB_Class_CDC_Interface_CIC_Send_Data(a,b,c) \ 191 | USB_Class_CDC_Send_Data(a,CIC_SEND_ENDPOINT,b,c) 192 | #endif 193 | 194 | #define USB_Class_CDC_Interface_DIC_Send_Data(a,b,c) \ 195 | USB_Class_CDC_Send_Data(a,DIC_SEND_ENDPOINT,b,c) 196 | #define USB_Class_CDC_Interface_DIC_Recv_Data(a,b,c) \ 197 | _usb_device_recv_data(a,DIC_RECV_ENDPOINT,b,c) 198 | #define USB_Class_CDC_Interface_DIC_Get_Send_Buffer(a,b,c) \ 199 | _usb_device_get_send_buffer(a,DIC_SEND_ENDPOINT,b,c) 200 | 201 | #define USB_Class_CDC_Periodic_Task USB_Class_Periodic_Task 202 | 203 | #endif 204 | -------------------------------------------------------------------------------- /lib/LPLD/DEV/Font_ASC.h: -------------------------------------------------------------------------------- 1 | 2 | const unsigned char asc2_1608[95][16]={ 3 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/ 4 | {0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x18,0x18,0x00,0x00},/*"!",1*/ 5 | {0x00,0x48,0x6C,0x24,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/ 6 | {0x00,0x00,0x00,0x24,0x24,0x24,0x7F,0x12,0x12,0x12,0x7F,0x12,0x12,0x12,0x00,0x00},/*"#",3*/ 7 | {0x00,0x00,0x08,0x1C,0x2A,0x2A,0x0A,0x0C,0x18,0x28,0x28,0x2A,0x2A,0x1C,0x08,0x08},/*"$",4*/ 8 | {0x00,0x00,0x00,0x22,0x25,0x15,0x15,0x15,0x2A,0x58,0x54,0x54,0x54,0x22,0x00,0x00},/*"%",5*/ 9 | {0x00,0x00,0x00,0x0C,0x12,0x12,0x12,0x0A,0x76,0x25,0x29,0x11,0x91,0x6E,0x00,0x00},/*"&",6*/ 10 | {0x00,0x06,0x06,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/ 11 | {0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,0x00},/*"(",8*/ 12 | {0x00,0x02,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x02,0x00},/*")",9*/ 13 | {0x00,0x00,0x00,0x00,0x08,0x08,0x6B,0x1C,0x1C,0x6B,0x08,0x08,0x00,0x00,0x00,0x00},/*"*",10*/ 14 | {0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x7F,0x08,0x08,0x08,0x08,0x00,0x00,0x00},/*"+",11*/ 15 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x04,0x03},/*",",12*/ 16 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/ 17 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00},/*".",14*/ 18 | {0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x00},/*"/",15*/ 19 | {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"0",16*/ 20 | {0x00,0x00,0x00,0x08,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"1",17*/ 21 | {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x20,0x20,0x10,0x08,0x04,0x42,0x7E,0x00,0x00},/*"2",18*/ 22 | {0x00,0x00,0x00,0x3C,0x42,0x42,0x20,0x18,0x20,0x40,0x40,0x42,0x22,0x1C,0x00,0x00},/*"3",19*/ 23 | {0x00,0x00,0x00,0x20,0x30,0x28,0x24,0x24,0x22,0x22,0x7E,0x20,0x20,0x78,0x00,0x00},/*"4",20*/ 24 | {0x00,0x00,0x00,0x7E,0x02,0x02,0x02,0x1A,0x26,0x40,0x40,0x42,0x22,0x1C,0x00,0x00},/*"5",21*/ 25 | {0x00,0x00,0x00,0x38,0x24,0x02,0x02,0x1A,0x26,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"6",22*/ 26 | {0x00,0x00,0x00,0x7E,0x22,0x22,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00},/*"7",23*/ 27 | {0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},/*"8",24*/ 28 | {0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x64,0x58,0x40,0x40,0x24,0x1C,0x00,0x00},/*"9",25*/ 29 | {0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00},/*":",26*/ 30 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x04},/*";",27*/ 31 | {0x00,0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x20,0x40,0x00,0x00},/*"<",28*/ 32 | {0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00},/*"=",29*/ 33 | {0x00,0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x02,0x00,0x00},/*">",30*/ 34 | {0x00,0x00,0x00,0x3C,0x42,0x42,0x46,0x40,0x20,0x10,0x10,0x00,0x18,0x18,0x00,0x00},/*"?",31*/ 35 | {0x00,0x00,0x00,0x1C,0x22,0x5A,0x55,0x55,0x55,0x55,0x2D,0x42,0x22,0x1C,0x00,0x00},/*"@",32*/ 36 | {0x00,0x00,0x00,0x08,0x08,0x18,0x14,0x14,0x24,0x3C,0x22,0x42,0x42,0xE7,0x00,0x00},/*"A",33*/ 37 | {0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x1E,0x22,0x42,0x42,0x42,0x22,0x1F,0x00,0x00},/*"B",34*/ 38 | {0x00,0x00,0x00,0x7C,0x42,0x42,0x01,0x01,0x01,0x01,0x01,0x42,0x22,0x1C,0x00,0x00},/*"C",35*/ 39 | {0x00,0x00,0x00,0x1F,0x22,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1F,0x00,0x00},/*"D",36*/ 40 | {0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x42,0x42,0x3F,0x00,0x00},/*"E",37*/ 41 | {0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x02,0x02,0x07,0x00,0x00},/*"F",38*/ 42 | {0x00,0x00,0x00,0x3C,0x22,0x22,0x01,0x01,0x01,0x71,0x21,0x22,0x22,0x1C,0x00,0x00},/*"G",39*/ 43 | {0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"H",40*/ 44 | {0x00,0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"I",41*/ 45 | {0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x0F},/*"J",42*/ 46 | {0x00,0x00,0x00,0x77,0x22,0x12,0x0A,0x0E,0x0A,0x12,0x12,0x22,0x22,0x77,0x00,0x00},/*"K",43*/ 47 | {0x00,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x7F,0x00,0x00},/*"L",44*/ 48 | {0x00,0x00,0x00,0x77,0x36,0x36,0x36,0x36,0x2A,0x2A,0x2A,0x2A,0x2A,0x6B,0x00,0x00},/*"M",45*/ 49 | {0x00,0x00,0x00,0xE3,0x46,0x46,0x4A,0x4A,0x52,0x52,0x52,0x62,0x62,0x47,0x00,0x00},/*"N",46*/ 50 | {0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1C,0x00,0x00},/*"O",47*/ 51 | {0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x42,0x3E,0x02,0x02,0x02,0x02,0x07,0x00,0x00},/*"P",48*/ 52 | {0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x4D,0x53,0x32,0x1C,0x60,0x00},/*"Q",49*/ 53 | {0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x3E,0x12,0x12,0x22,0x22,0x42,0xC7,0x00,0x00},/*"R",50*/ 54 | {0x00,0x00,0x00,0x7C,0x42,0x42,0x02,0x04,0x18,0x20,0x40,0x42,0x42,0x3E,0x00,0x00},/*"S",51*/ 55 | {0x00,0x00,0x00,0x7F,0x49,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00},/*"T",52*/ 56 | {0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"U",53*/ 57 | {0x00,0x00,0x00,0xE7,0x42,0x42,0x22,0x24,0x24,0x14,0x14,0x18,0x08,0x08,0x00,0x00},/*"V",54*/ 58 | {0x00,0x00,0x00,0x6B,0x49,0x49,0x49,0x49,0x55,0x55,0x36,0x22,0x22,0x22,0x00,0x00},/*"W",55*/ 59 | {0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x18,0x18,0x18,0x24,0x24,0x42,0xE7,0x00,0x00},/*"X",56*/ 60 | {0x00,0x00,0x00,0x77,0x22,0x22,0x14,0x14,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00},/*"Y",57*/ 61 | {0x00,0x00,0x00,0x7E,0x21,0x20,0x10,0x10,0x08,0x04,0x04,0x42,0x42,0x3F,0x00,0x00},/*"Z",58*/ 62 | {0x00,0x78,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x78,0x00},/*"[",59*/ 63 | {0x00,0x00,0x02,0x02,0x04,0x04,0x08,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x40,0x40},/*"\",60*/ 64 | {0x00,0x1E,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1E,0x00},/*"]",61*/ 65 | {0x00,0x38,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/ 66 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},/*"_",63*/ 67 | {0x00,0x06,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/ 68 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x78,0x44,0x42,0x42,0xFC,0x00,0x00},/*"a",65*/ 69 | {0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x1A,0x26,0x42,0x42,0x42,0x26,0x1A,0x00,0x00},/*"b",66*/ 70 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x02,0x02,0x02,0x44,0x38,0x00,0x00},/*"c",67*/ 71 | {0x00,0x00,0x00,0x60,0x40,0x40,0x40,0x78,0x44,0x42,0x42,0x42,0x64,0xD8,0x00,0x00},/*"d",68*/ 72 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x7E,0x02,0x02,0x42,0x3C,0x00,0x00},/*"e",69*/ 73 | {0x00,0x00,0x00,0xF0,0x88,0x08,0x08,0x7E,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"f",70*/ 74 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x22,0x22,0x1C,0x02,0x3C,0x42,0x42,0x3C},/*"g",71*/ 75 | {0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x3A,0x46,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"h",72*/ 76 | {0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x0E,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"i",73*/ 77 | {0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x1E},/*"j",74*/ 78 | {0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x72,0x12,0x0A,0x16,0x12,0x22,0x77,0x00,0x00},/*"k",75*/ 79 | {0x00,0x00,0x00,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"l",76*/ 80 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x92,0x92,0x92,0x92,0x92,0xB7,0x00,0x00},/*"m",77*/ 81 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0x46,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"n",78*/ 82 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"o",79*/ 83 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x26,0x42,0x42,0x42,0x22,0x1E,0x02,0x07},/*"p",80*/ 84 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x44,0x42,0x42,0x42,0x44,0x78,0x40,0xE0},/*"q",81*/ 85 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x4C,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"r",82*/ 86 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x42,0x02,0x3C,0x40,0x42,0x3E,0x00,0x00},/*"s",83*/ 87 | {0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x3E,0x08,0x08,0x08,0x08,0x08,0x30,0x00,0x00},/*"t",84*/ 88 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x42,0x42,0x42,0x42,0x62,0xDC,0x00,0x00},/*"u",85*/ 89 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x14,0x08,0x08,0x00,0x00},/*"v",86*/ 90 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEB,0x49,0x49,0x55,0x55,0x22,0x22,0x00,0x00},/*"w",87*/ 91 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x24,0x18,0x18,0x18,0x24,0x6E,0x00,0x00},/*"x",88*/ 92 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x14,0x18,0x08,0x08,0x07},/*"y",89*/ 93 | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x22,0x10,0x08,0x08,0x44,0x7E,0x00,0x00},/*"z",90*/ 94 | {0x00,0xC0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0xC0,0x00},/*"{",91*/ 95 | {0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},/*"|",92*/ 96 | {0x00,0x06,0x08,0x08,0x08,0x08,0x08,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x06,0x00},/*"}",93*/ 97 | {0x0C,0x32,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/ 98 | }; 99 | --------------------------------------------------------------------------------