├── 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 |
--------------------------------------------------------------------------------