aboutsummaryrefslogtreecommitdiffstats
path: root/ChibiOS_16.1.5/community/testhal
diff options
context:
space:
mode:
Diffstat (limited to 'ChibiOS_16.1.5/community/testhal')
-rw-r--r--ChibiOS_16.1.5/community/testhal/.keep0
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/Makefile218
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/chconf.h516
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/halconf.h381
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/main.c73
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/mcuconf.h83
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/readme.txt20
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/Makefile225
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chconf.h516
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chtsy.inf106
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/halconf.h362
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/main.c168
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/mcuconf.h40
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.c329
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.h27
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.cproject53
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.project27
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/Makefile209
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/chconf.h516
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/debug/RT-FREEDOM-KL25Z-ADC.launch31
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/halconf.h381
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/main.c132
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/mcuconf.h78
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/readme.txt14
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/Makefile213
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/halconf.h353
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/main.c75
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/mcuconf.h42
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/Makefile213
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/halconf.h381
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/main.c128
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/mcuconf.h47
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/Makefile23
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/test-usb-hid.c180
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/udev.rules2
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Makefile216
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/chconf.h516
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf.h368
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf_community.h142
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/main.c91
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/mcuconf.h63
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.c418
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.h45
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/Makefile220
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chtsy.inf106
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/halconf.h362
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/main.c168
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/mcuconf.h53
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.c329
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.h27
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/Makefile212
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/chconf.h516
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/halconf.h381
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/main.c89
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/mcuconf.h54
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/readme.txt20
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/Makefile213
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/halconf.h381
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/main.c172
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/mcuconf.h58
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/Makefile220
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chtsy.inf106
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/halconf.h353
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/main.c168
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/mcuconf.h53
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.c329
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.h27
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/Makefile213
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.c158
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.h53
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.mk5
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/chconf.h516
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/flash_via_bldr.sh26
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/halconf.h187
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/main.c94
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/mcuconf.h79
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/Makefile222
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/halconf.h187
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/main.c77
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/mcuconf.h41
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/Makefile222
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/README.md7
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/halconf.h353
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/main.c116
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/mcuconf.h41
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/Makefile228
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chconf.h513
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chtsy.inf106
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/halconf.h362
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/main.c161
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/mcuconf.h49
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.c329
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.h27
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/Makefile219
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/halconf.h353
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/main.c135
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/mcuconf.h35
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile219
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile.3_0219
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/README.md8
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/chconf.h516
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.c300
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.h21
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/halconf.h187
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/main.c77
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/mcuconf.h51
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/Makefile219
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/halconf.h353
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/main.c74
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/mcuconf.h47
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/Makefile219
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/halconf.h353
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/main.c65
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/mcuconf.h35
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/Makefile219
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/chconf.h516
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/halconf.h353
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/main.c116
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/mcuconf.h35
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile219
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile.3_0219
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/halconf.h353
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/main.c81
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/mcuconf.h35
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile225
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile.3_0225
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chconf.h513
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chtsy.inf106
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/halconf.h353
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/main.c161
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/mcuconf.h40
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.c329
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.h27
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/Makefile213
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/halconf.h187
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/main.c103
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/mcuconf.h53
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/MKL26Z64.ld105
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/Makefile214
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/README.md7
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.c241
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.h21
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/halconf.h187
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/main.c78
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/mcuconf.h53
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/Makefile213
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/chconf.h514
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/halconf.h187
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/main.c120
-rw-r--r--ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/mcuconf.h58
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/Makefile206
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/chconf.h274
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/halconf.h388
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/main.c293
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/mcuconf.h55
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/msp_vectors.c316
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/Makefile206
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/chconf.h274
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/halconf.h388
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/main.c395
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/mcuconf.h62
-rw-r--r--ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/msp_vectors.c316
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/Makefile211
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/chconf.h524
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/halconf.h341
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/main.c139
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/mcuconf.h25
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/readme.txt21
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/Makefile211
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/chconf.h524
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/halconf.h327
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/main.c128
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/mcuconf.h24
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/Makefile211
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/chconf.h524
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/halconf.h341
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/main.c124
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/mcuconf.h26
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/readme.txt19
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/Makefile211
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/chconf.h524
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/halconf.h327
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/main.c164
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/mcuconf.h25
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/readme.txt21
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/Makefile232
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/chconf.h524
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/halconf.h327
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/main.c76
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/mcuconf.h30
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/Makefile230
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/chconf.h499
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf.h178
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf_community.h117
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/main.c118
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/mcuconf.h24
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/readme.txt17
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/Makefile211
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/chconf.h524
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/halconf.h327
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/main.c152
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/mcuconf.h25
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/readme.txt21
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/Makefile220
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/chconf.h524
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/halconf.h341
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/main.c61
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/mcuconf.h22
-rw-r--r--ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/readme.txt17
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.cproject49
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.project27
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/Makefile214
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf.h347
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf_community.h118
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/main.c244
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf.h166
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf_community.h33
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/readme.txt36
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.cproject71
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.project38
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/Makefile207
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf.h347
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf_community.h98
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/main.c42
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf.h161
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf_community.h17
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.c257
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.h28
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/readme.txt32
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/real_roms.txt27
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/search_rom_synth.c370
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.cproject49
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.project91
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/Makefile218
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf_community.h105
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/main.c53
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf.h191
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf_community.h30
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/readme.txt27
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.cproject55
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.project91
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/Makefile215
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf.h347
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf_community.h98
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/main.c42
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf.h209
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf_community.h16
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.c257
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.h28
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/readme.txt32
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/real_roms.txt27
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/search_rom_synth.c370
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.cproject55
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.project91
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/Makefile218
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf_community.h105
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/main.c54
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf.h219
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf_community.h41
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/readme.txt27
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.cproject49
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.project27
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/Makefile219
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf_community.h121
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/main.c99
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf.h258
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf_community.h45
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.cproject49
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.project27
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/Makefile219
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf_community.h128
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/main.c194
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf.h258
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf_community.h65
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.config2
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator1
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator.user156
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.files3443
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.includes769
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/Makefile217
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf_community.h98
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/main.c152
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf.h347
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf_community.h79
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/readme.txt32
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.cproject52
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.project39
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/Makefile222
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h33
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c108
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c106
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c160
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf_community.h98
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/main.c650
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h347
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h46
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.cproject52
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.project39
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/Makefile224
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h98
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c279
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h347
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h48
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c133
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h49
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c105
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h40
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.cproject52
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.project39
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/Makefile224
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf_community.h98
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/main.c190
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h347
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h51
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c133
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h49
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c105
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h40
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.cproject49
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.project27
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/Makefile226
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/chconf.h522
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/diskio.h80
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/fatfs_diskio.c144
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.c4611
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.h341
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ffconf.h271
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf_community.h195
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/integer.h33
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/main.c488
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf.h347
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf_community.h66
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/readme.txt25
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.cproject52
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.project91
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/Makefile219
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/chconf.h520
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf.h387
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf_community.h98
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/main.c42
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf.h347
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf_community.h45
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.c257
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.h28
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/readme.txt32
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/real_roms.txt27
-rw-r--r--ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/search_rom_synth.c370
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.cproject51
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.project106
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/Makefile212
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/chconf.h509
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch10
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/TM4C123x-EXT (OpenOCD, Flash and Run).launch52
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/halconf.h294
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/main.c126
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/mcuconf.h168
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.cproject51
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.project106
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/Makefile212
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/chconf.h509
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch10
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/TM4C123x-GPT (OpenOCD, Flash and Run).launch52
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/halconf.h294
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/main.c95
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/mcuconf.h144
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.cproject51
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.project101
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/Makefile214
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/chconf.h509
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch10
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/TM4C123x-I2C (OpenOCD, Flash and Run).launch52
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/halconf.h294
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/main.c127
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/mcuconf.h144
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.cproject51
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.project106
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/Makefile212
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/chconf.h509
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch10
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/TM4C123x-PWM (OpenOCD, Flash and Run).launch52
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/halconf.h294
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/main.c126
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/mcuconf.h144
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.cproject51
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.project106
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/Makefile212
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/chconf.h509
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch10
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/TM4C123x-SPI (OpenOCD, Flash and Run).launch52
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/halconf.h294
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/main.c140
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/mcuconf.h168
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.cproject51
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.project101
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/Makefile212
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/chconf.h509
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch10
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/TM4C123x-WDG (OpenOCD, Flash and Run).launch52
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/halconf.h301
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/main.c83
-rw-r--r--ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/mcuconf.h174
434 files changed, 0 insertions, 93190 deletions
diff --git a/ChibiOS_16.1.5/community/testhal/.keep b/ChibiOS_16.1.5/community/testhal/.keep
deleted file mode 100644
index e69de29..0000000
--- a/ChibiOS_16.1.5/community/testhal/.keep
+++ /dev/null
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/Makefile
deleted file mode 100644
index a4de448..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/Makefile
+++ /dev/null
@@ -1,218 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -DCRT0_INIT_STACKS=0
-# USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x5.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/chconf.h
deleted file mode 100644
index eecc0a6..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/chconf.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/halconf.h
deleted file mode 100644
index 6430fb2..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/halconf.h
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C TRUE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/main.c
deleted file mode 100644
index 8c0df50..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/main.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#define MMA8451_ADDR 0x1D
-#define WHO_AM_I 0x0D
-
-static bool i2cOk = false;
-
-static THD_WORKING_AREA(waThread1, 64);
-static THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
- chRegSetThreadName("Blinker");
- while (TRUE) {
- if (i2cOk) {
- palSetPad(IOPORT3, 3);
- palTogglePad(IOPORT4, 4);
- } else {
- palSetPad(IOPORT4, 4);
- palTogglePad(IOPORT3, 3);
- }
- chThdSleepMilliseconds(500);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- uint8_t tx[1], rx[1];
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- palSetPad(IOPORT3, 3);
- palSetPad(IOPORT4, 4);
- palSetPad(IOPORT1, 2);
-
- i2cStart(&I2CD1, NULL);
-
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- while (1) {
- tx[0] = WHO_AM_I;
- i2cMasterTransmitTimeout(&I2CD1, MMA8451_ADDR, tx, 1, rx, 1, TIME_INFINITE);
- i2cOk = (rx[0] == 0x1A) ? true : false;
- chThdSleepMilliseconds(2000);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/mcuconf.h
deleted file mode 100644
index 0b7c312..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/mcuconf.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-
-/* Select the MCU clocking mode below by enabling the appropriate block. */
-
-/* Enable clock initialization by HAL */
-#define KINETIS_NO_INIT FALSE
-
-/* PEE mode - external (8 MHz) crystal with PLL for 48 MHz core/system clock. */
-#if 1
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-/* FEI mode - 48 MHz with internal 32.768 kHz oscillator */
-#if 0
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* Divide MCGCLKOUT (~48MHz) by 1 to SYSCLK */
-#define KINETIS_CLKDIV1_OUTDIV2 1 /* Divide by 1 for (~48MHz) peripheral clock */
-#define KINETIS_CLKDIV1_OUTDIV4 2 /* Divide by 2 for (~24MHz) flash clock */
-#define KINETIS_BUSCLK_FREQUENCY KINETIS_SYSCLK_FREQUENCY
-#define KINETIS_FLASHCLK_FREQUENCY KINETIS_SYSCLK_FREQUENCY/2
-#endif /* 0 */
-
-/* FEE mode - 24 MHz with external 32.768 kHz crystal */
-/* not implemented */
-#if 0
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEE
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 0 /* 732x FLL factor */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* Divide 48 MHz FLL by 1 => 24 MHz */
-#define KINETIS_CLKDIV1_OUTDIV4 2 /* Divide OUTDIV1 output by 2 => 12 MHz */
-#define KINETIS_SYSCLK_FREQUENCY 23986176UL /* 32.768 kHz*732 (~24 MHz) */
-#define KINETIS_UART0_CLOCK_FREQ (32768 * 732) /* FLL output */
-#define KINETIS_UART0_CLOCK_SRC 1 /* Select FLL clock */
-#define KINETIS_BUSCLK_FREQUENCY (KINETIS_SYSCLK_FREQUENCY / KINETIS_CLKDIV1_OUTDIV4)
-#endif /* 0 */
-
-/* FEE mode - 48 MHz */
-/* not implemented */
-#if 0
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEE
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* Divide 48 MHz FLL by 1 => 48 MHz */
-#define KINETIS_CLKDIV1_OUTDIV4 2 /* Divide OUTDIV1 output by 2 => 24 MHz */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#endif /* 0 */
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 FALSE
-#define KINETIS_I2C_USE_I2C0 TRUE
-#define KINETIS_I2C_I2C0_PRIORITY 8
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/readme.txt b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/readme.txt
deleted file mode 100644
index 0a9a5fc..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/readme.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-*********************************************************************
-** ChibiOS/RT I2C test demo for Freedom Board K20D50M. **
-*********************************************************************
-
-** TARGET **
-
-The test runs on an Freescale Freedom K20D50M board.
-
-** The Demo **
-
-This test tries to access the onboard MMA8451 chip using the I2C bus.
-It sends the command WHO_AM_I which has a standard answer that can be
-verified. If the correct answer is received the GREEN led will blink.
-If no answer or invalid answer is received the RED led will blink.
-
-** Build Procedure **
-
-This test was built using the ARM GCC toolchain available at:
-
-https://launchpad.net/gcc-arm-embedded
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/Makefile
deleted file mode 100644
index a5f4c68..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/Makefile
+++ /dev/null
@@ -1,225 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x5.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-include $(CHIBIOS)/os/hal/lib/streams/streams.mk
-include $(CHIBIOS)/os/various/shell/shell.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(STREAMSSRC) \
- $(SHELLSRC) \
- usbcfg.c \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(STREAMSINC) $(SHELLINC) $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chconf.h
deleted file mode 100644
index bd97716..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chconf.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chtsy.inf b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chtsy.inf
deleted file mode 100644
index 519b300..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chtsy.inf
+++ /dev/null
@@ -1,106 +0,0 @@
-;************************************************************
-; Windows USB CDC ACM Setup File
-; Copyright (c) 2000 Microsoft Corporation
-
-
-[Version]
-Signature="$Windows NT$"
-Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%MFGNAME%
-LayoutFile=layout.inf
-CatalogFile=%MFGFILENAME%.cat
-DriverVer=11/15/2007,5.1.2600.0
-
-[Manufacturer]
-%MFGNAME%=DeviceList, NTamd64
-
-[DestinationDirs]
-DefaultDestDir=12
-
-
-;------------------------------------------------------------------------------
-; Windows 2000/XP/Vista-32bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.nt]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.nt
-AddReg=DriverInstall.nt.AddReg
-
-[DriverCopyFiles.nt]
-usbser.sys,,,0x20
-
-[DriverInstall.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.nt.Services]
-AddService=usbser, 0x00000002, DriverService.nt
-
-[DriverService.nt]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-;------------------------------------------------------------------------------
-; Vista-64bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.NTamd64]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.NTamd64
-AddReg=DriverInstall.NTamd64.AddReg
-
-[DriverCopyFiles.NTamd64]
-%DRIVERFILENAME%.sys,,,0x20
-
-[DriverInstall.NTamd64.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.NTamd64.Services]
-AddService=usbser, 0x00000002, DriverService.NTamd64
-
-[DriverService.NTamd64]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-
-;------------------------------------------------------------------------------
-; Vendor and Product ID Definitions
-;------------------------------------------------------------------------------
-; When developing your USB device, the VID and PID used in the PC side
-; application program and the firmware on the microcontroller must match.
-; Modify the below line to use your VID and PID. Use the format as shown below.
-; Note: One INF file can be used for multiple devices with different VID and PIDs.
-; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
-;------------------------------------------------------------------------------
-[SourceDisksFiles]
-[SourceDisksNames]
-[DeviceList]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-[DeviceList.NTamd64]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-
-;------------------------------------------------------------------------------
-; String Definitions
-;------------------------------------------------------------------------------
-;Modify these strings to customize your device
-;------------------------------------------------------------------------------
-[Strings]
-MFGFILENAME="ChTsy"
-DRIVERFILENAME ="usbser"
-MFGNAME="NopeLab"
-INSTDISK="ChTsy CDC driver"
-DESCRIPTION="ChTsy CDC driver"
-SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/halconf.h
deleted file mode 100644
index 45e72ef..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/halconf.h
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 Jonathan Struebel
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB TRUE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the Watchdog subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*
- * @brief Enable debugging messages over SD1.
- *
- * @note Requires HAL_USE_SERIAL.
- */
-#if HAL_USE_SERIAL
-#define DEBUG_USB
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/main.c
deleted file mode 100644
index a6c90bf..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/main.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- (C) 2015-2016 Jonathan Struebel
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <stdio.h>
-#include <string.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#include "shell.h"
-#include "chprintf.h"
-
-#include "usbcfg.h"
-
-/*===========================================================================*/
-/* Command line related. */
-/*===========================================================================*/
-
-#define SHELL_WA_SIZE THD_WORKING_AREA_SIZE(2048)
-
-/* Can be measured using dd if=/dev/xxxx of=/dev/null bs=512 count=10000.*/
-static void cmd_write(BaseSequentialStream *chp, int argc, char *argv[]) {
- static uint8_t buf[] =
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef";
-
- (void)argv;
- if (argc > 0) {
- chprintf(chp, "Usage: write\r\n");
- return;
- }
-
- while (chnGetTimeout((BaseChannel *)chp, TIME_IMMEDIATE) == Q_TIMEOUT) {
-#if 1
- /* Writing in channel mode.*/
- chnWrite(&SDU1, buf, sizeof buf - 1);
-#else
- /* Writing in buffer mode.*/
- (void) obqGetEmptyBufferTimeout(&SDU1.obqueue, TIME_INFINITE);
- memcpy(SDU1.obqueue.ptr, buf, SERIAL_USB_BUFFERS_SIZE);
- obqPostFullBuffer(&SDU1.obqueue, SERIAL_USB_BUFFERS_SIZE);
-#endif
- }
- chprintf(chp, "\r\n\nstopped\r\n");
-}
-
-static const ShellCommand commands[] = {
- {"write", cmd_write},
- {NULL, NULL}
-};
-
-static const ShellConfig shell_cfg1 = {
- (BaseSequentialStream *)&SDU1,
- commands
-};
-
-/*===========================================================================*/
-/* Generic code. */
-/*===========================================================================*/
-
-/*
- * Red LED blinker thread, times are in milliseconds.
- */
-static THD_WORKING_AREA(waThread1, 128);
-static THD_FUNCTION(Thread1, arg) {
- systime_t time;
-
- (void)arg;
-
- chRegSetThreadName("blinker");
- while (true) {
- time = serusbcfg.usbp->state == USB_ACTIVE ? 250 : 500;
- palClearPad(GPIO_LED_RED, PIN_LED_RED);
- chThdSleepMilliseconds(time);
- palSetPad(GPIO_LED_RED, PIN_LED_RED);
- chThdSleepMilliseconds(time);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Turn off the RGB LED.
- */
- palSetPad(GPIO_LED_RED, PIN_LED_RED); /* red */
- palSetPad(GPIO_LED_GREEN, PIN_LED_GREEN); /* green */
- palSetPad(GPIO_LED_BLUE, PIN_LED_BLUE); /* blue */
-
- /*
- * Initializes a serial-over-USB CDC driver.
- */
- sduObjectInit(&SDU1);
- sduStart(&SDU1, &serusbcfg);
-
- /*
- * Activates the USB driver and then the USB bus pull-up on D+.
- * Note, a delay is inserted in order to not have to disconnect the cable
- * after a reset.
- */
- usbDisconnectBus(serusbcfg.usbp);
- chThdSleepMilliseconds(1500);
- usbStart(serusbcfg.usbp, &usbcfg);
- usbConnectBus(serusbcfg.usbp);
-
- /*
- * Shell manager initialization.
- */
- shellInit();
-
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- /*
- * Normal main() thread activity, spawning shells.
- */
- while (true) {
- if (SDU1.config->usbp->state == USB_ACTIVE) {
- thread_t *shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE,
- "shell", NORMALPRIO + 1,
- shellThread, (void *)&shell_cfg1);
- chThdWait(shelltp); /* Waiting termination. */
- }
- chThdSleepMilliseconds(1000);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/mcuconf.h
deleted file mode 100644
index b6b6622..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/mcuconf.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 Jonathan Struebel
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* PEE mode - 48MHz system clock driven by external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.c
deleted file mode 100644
index 24a732f..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.c
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- (C) 2015-2016 Jonathan Struebel
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "hal.h"
-
-/* Virtual serial port over USB.*/
-SerialUSBDriver SDU1;
-
-/*
- * Endpoints to be used for USBD1.
- */
-#define USBD1_DATA_REQUEST_EP 1
-#define USBD1_DATA_AVAILABLE_EP 1
-#define USBD1_INTERRUPT_REQUEST_EP 2
-
-/*
- * USB Device Descriptor.
- */
-static const uint8_t vcom_device_descriptor_data[18] = {
- USB_DESC_DEVICE (0x0110, /* bcdUSB (1.1). */
- 0x02, /* bDeviceClass (CDC). */
- 0x00, /* bDeviceSubClass. */
- 0x00, /* bDeviceProtocol. */
- 0x40, /* bMaxPacketSize. */
- 0x0179, /* idVendor. */
- 0x0001, /* idProduct. */
- 0x0200, /* bcdDevice. */
- 1, /* iManufacturer. */
- 2, /* iProduct. */
- 3, /* iSerialNumber. */
- 1) /* bNumConfigurations. */
-};
-
-/*
- * Device Descriptor wrapper.
- */
-static const USBDescriptor vcom_device_descriptor = {
- sizeof vcom_device_descriptor_data,
- vcom_device_descriptor_data
-};
-
-/* Configuration Descriptor tree for a CDC.*/
-static const uint8_t vcom_configuration_descriptor_data[67] = {
- /* Configuration Descriptor.*/
- USB_DESC_CONFIGURATION(67, /* wTotalLength. */
- 0x02, /* bNumInterfaces. */
- 0x01, /* bConfigurationValue. */
- 0, /* iConfiguration. */
- 0xC0, /* bmAttributes (self powered). */
- 50), /* bMaxPower (100mA). */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x00, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x01, /* bNumEndpoints. */
- 0x02, /* bInterfaceClass (Communications
- Interface Class, CDC section
- 4.2). */
- 0x02, /* bInterfaceSubClass (Abstract
- Control Model, CDC section 4.3). */
- 0x01, /* bInterfaceProtocol (AT commands,
- CDC section 4.4). */
- 0), /* iInterface. */
- /* Header Functional Descriptor (CDC section 5.2.3).*/
- USB_DESC_BYTE (5), /* bLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x00), /* bDescriptorSubtype (Header
- Functional Descriptor. */
- USB_DESC_BCD (0x0110), /* bcdCDC. */
- /* Call Management Functional Descriptor. */
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x01), /* bDescriptorSubtype (Call Management
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bmCapabilities (D0+D1). */
- USB_DESC_BYTE (0x01), /* bDataInterface. */
- /* ACM Functional Descriptor.*/
- USB_DESC_BYTE (4), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x02), /* bDescriptorSubtype (Abstract
- Control Management Descriptor). */
- USB_DESC_BYTE (0x02), /* bmCapabilities. */
- /* Union Functional Descriptor.*/
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x06), /* bDescriptorSubtype (Union
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bMasterInterface (Communication
- Class Interface). */
- USB_DESC_BYTE (0x01), /* bSlaveInterface0 (Data Class
- Interface). */
- /* Endpoint 2 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_INTERRUPT_REQUEST_EP|0x80,
- 0x03, /* bmAttributes (Interrupt). */
- 0x0008, /* wMaxPacketSize. */
- 0xFF), /* bInterval. */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x01, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x02, /* bNumEndpoints. */
- 0x0A, /* bInterfaceClass (Data Class
- Interface, CDC section 4.5). */
- 0x00, /* bInterfaceSubClass (CDC section
- 4.6). */
- 0x00, /* bInterfaceProtocol (CDC section
- 4.7). */
- 0x00), /* iInterface. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00), /* bInterval. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00) /* bInterval. */
-};
-
-/*
- * Configuration Descriptor wrapper.
- */
-static const USBDescriptor vcom_configuration_descriptor = {
- sizeof vcom_configuration_descriptor_data,
- vcom_configuration_descriptor_data
-};
-
-/*
- * U.S. English language identifier.
- */
-static const uint8_t vcom_string0[] = {
- USB_DESC_BYTE(4), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- USB_DESC_WORD(0x0409) /* wLANGID (U.S. English). */
-};
-
-/*
- * Vendor string.
- */
-static const uint8_t vcom_string1[] = {
- USB_DESC_BYTE(2+2*7), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'N', 0, 'o', 0, 'p', 0, 'e', 0, 'L', 0, 'a', 0, 'b', 0,
-};
-
-/*
- * Device Description string.
- */
-static const uint8_t vcom_string2[] = {
- USB_DESC_BYTE(2+5*2), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'C', 0, 'h', 0, 'T', 0, 's', 0, 'y', 0,
-};
-
-/*
- * Serial Number string.
- */
-static const uint8_t vcom_string3[] = {
- USB_DESC_BYTE(8), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- '0' + CH_KERNEL_MAJOR, 0,
- '0' + CH_KERNEL_MINOR, 0,
- '0' + CH_KERNEL_PATCH, 0
-};
-
-/*
- * Strings wrappers array.
- */
-static const USBDescriptor vcom_strings[] = {
- {sizeof vcom_string0, vcom_string0},
- {sizeof vcom_string1, vcom_string1},
- {sizeof vcom_string2, vcom_string2},
- {sizeof vcom_string3, vcom_string3}
-};
-
-/*
- * Handles the GET_DESCRIPTOR callback. All required descriptors must be
- * handled here.
- */
-static const USBDescriptor *get_descriptor(USBDriver *usbp,
- uint8_t dtype,
- uint8_t dindex,
- uint16_t lang) {
- (void)usbp;
- (void)lang;
- switch (dtype) {
- case USB_DESCRIPTOR_DEVICE:
- return &vcom_device_descriptor;
- case USB_DESCRIPTOR_CONFIGURATION:
- return &vcom_configuration_descriptor;
- case USB_DESCRIPTOR_STRING:
- if (dindex < 4)
- return &vcom_strings[dindex];
- }
- return NULL;
-}
-
-/**
- * @brief IN EP1 state.
- */
-static USBInEndpointState ep1instate;
-
-/**
- * @brief OUT EP1 state.
- */
-static USBOutEndpointState ep1outstate;
-
-/**
- * @brief EP1 initialization structure (both IN and OUT).
- */
-static const USBEndpointConfig ep1config = {
- USB_EP_MODE_TYPE_BULK,
- NULL,
- sduDataTransmitted,
- sduDataReceived,
- 0x0040,
- 0x0040,
- &ep1instate,
- &ep1outstate,
- 2,
- NULL
-};
-
-/**
- * @brief IN EP2 state.
- */
-static USBInEndpointState ep2instate;
-
-/**
- * @brief EP2 initialization structure (IN only).
- */
-static const USBEndpointConfig ep2config = {
- USB_EP_MODE_TYPE_INTR,
- NULL,
- sduInterruptTransmitted,
- NULL,
- 0x0010,
- 0x0000,
- &ep2instate,
- NULL,
- 1,
- NULL
-};
-
-/*
- * Handles the USB driver global events.
- */
-static void usb_event(USBDriver *usbp, usbevent_t event) {
- extern SerialUSBDriver SDU1;
-
- switch (event) {
- case USB_EVENT_RESET:
- return;
- case USB_EVENT_ADDRESS:
- return;
- case USB_EVENT_CONFIGURED:
- chSysLockFromISR();
-
- /* Enables the endpoints specified into the configuration.
- Note, this callback is invoked from an ISR so I-Class functions
- must be used.*/
- usbInitEndpointI(usbp, USBD1_DATA_REQUEST_EP, &ep1config);
- usbInitEndpointI(usbp, USBD1_INTERRUPT_REQUEST_EP, &ep2config);
-
- /* Resetting the state of the CDC subsystem.*/
- sduConfigureHookI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_SUSPEND:
- chSysLockFromISR();
-
- /* Disconnection event on suspend.*/
- sduDisconnectI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_WAKEUP:
- return;
- case USB_EVENT_STALLED:
- return;
- }
- return;
-}
-
-/*
- * Handles the USB driver global events.
- */
-static void sof_handler(USBDriver *usbp) {
-
- (void)usbp;
-
- osalSysLockFromISR();
- sduSOFHookI(&SDU1);
- osalSysUnlockFromISR();
-}
-
-/*
- * USB driver configuration.
- */
-const USBConfig usbcfg = {
- usb_event,
- get_descriptor,
- sduRequestsHook,
- sof_handler
-};
-
-/*
- * Serial over USB driver configuration.
- */
-const SerialUSBConfig serusbcfg = {
- &USBD1,
- USBD1_DATA_REQUEST_EP,
- USBD1_DATA_AVAILABLE_EP,
- USBD1_INTERRUPT_REQUEST_EP
-};
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.h
deleted file mode 100644
index 254d7ba..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- (C) 2015-2016 Jonathan Struebel
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _USBCFG_H_
-#define _USBCFG_H_
-
-extern const USBConfig usbcfg;
-extern SerialUSBConfig serusbcfg;
-extern SerialUSBDriver SDU1;
-
-#endif /* _USBCFG_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.cproject b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.cproject
deleted file mode 100644
index 4e28c4a..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.cproject
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.747687884">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.747687884" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.747687884" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.747687884." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.11066026" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.11066026.1166893629" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.1831380856" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1419137561" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1364315252" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <option id="org.eclipse.cdt.build.core.settings.holder.incpaths.718372197" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath"/>
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.479764409" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.754184888" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <option id="org.eclipse.cdt.build.core.settings.holder.incpaths.852559462" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath"/>
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.937950678" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1605316565" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <option id="org.eclipse.cdt.build.core.settings.holder.incpaths.363143178" name="Include Paths" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath"/>
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1077140712" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="RT-FREEDOM-KL25Z-ADC.null.299384367" name="RT-FREEDOM-KL25Z-ADC"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.747687884">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
- <storageModule moduleId="refreshScope"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.project b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.project
deleted file mode 100644
index 0bd79df..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>RT-FREEDOM-KL25Z-ADC</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/Makefile
deleted file mode 100644
index d5120b9..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/Makefile
+++ /dev/null
@@ -1,209 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT = -std=gnu99
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL2xZ128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/chconf.h
deleted file mode 100644
index eecc0a6..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/chconf.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/debug/RT-FREEDOM-KL25Z-ADC.launch b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/debug/RT-FREEDOM-KL25Z-ADC.launch
deleted file mode 100644
index 67d3e82..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/debug/RT-FREEDOM-KL25Z-ADC.launch
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="com.zylin.embeddedcdt.idleNative">
-<stringAttribute key="bad_container_name" value="/RT-MCHCK-K20-DMA/deb"/>
-<booleanAttribute key="com.zylin.embeddedcdt.debugger_app_console" value="false"/>
-<stringAttribute key="com.zylin.embeddedcdt.debugger_init_commands" value="target extended-remote localhost:3333&#10;monitor reset init&#10;load&#10;monitor reset halt"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="/Users/derek/Documents/Arm/gcc-arm-none-eabi-4_8-2014q2/bin/arm-none-eabi-gdb"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.GDB_INIT" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.mi.core.breakpointsFullPath" value="false"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="org.eclipse.cdt.debug.mi.core.standardCommandFactory"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
-<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_ID" value="com.zylin.embeddedcdt.EmbeddedCDebugger"/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="run"/>
-<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="false"/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
-<booleanAttribute key="org.eclipse.cdt.launch.ENABLE_REGISTER_BOOKKEEPING" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.launch.ENABLE_VARIABLE_BOOKKEEPING" value="false"/>
-<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;*buffer-buffer-adc_end_cb-(format)&quot; val=&quot;4&quot;/&gt;&lt;content id=&quot;sensor-adc_end_cb-(format)&quot; val=&quot;0&quot;/&gt;&lt;/contentList&gt;"/>
-<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;globalVariableList/&gt;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;memoryBlockExpressionList&gt;&#10;&lt;memoryBlockExpressionItem&gt;&#10;&lt;expression text=&quot;0x1ffff928&quot;/&gt;&#10;&lt;/memoryBlockExpressionItem&gt;&#10;&lt;/memoryBlockExpressionList&gt;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="build/ch.elf"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="RT-FREEDOM-KL25Z-ADC"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.1185372693"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/RT-FREEDOM-KL25Z-ADC"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/halconf.h
deleted file mode 100644
index f8b4e8c..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/halconf.h
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC TRUE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/main.c
deleted file mode 100644
index f01051b..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/main.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Derek Mulcahy
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#define ADC_GRP1_NUM_CHANNELS 2
-#define ADC_GRP1_BUF_DEPTH 1
-
-static adcsample_t samples1[ADC_GRP1_NUM_CHANNELS * ADC_GRP1_BUF_DEPTH];
-
-static void adc_end_cb(ADCDriver *adcp, adcsample_t *buffer, size_t n) {
-
- (void)adcp;
- (void)n;
-
- /*
- * The bandgap value represents the ADC reading for 1.0V
- */
- uint16_t sensor = buffer[0];
- uint16_t bandgap = buffer[1];
-
- /*
- * The v25 value is the voltage reading at 25C, it comes from the ADC
- * electricals table in the processor manual. V25 is in millivolts.
- */
- int32_t v25 = 716;
-
- /*
- * The m value is slope of the temperature sensor values, again from
- * the ADC electricals table in the processor manual.
- * M in microvolts per degree.
- */
- int32_t m = 1620;
-
- /*
- * Divide the temperature sensor reading by the bandgap to get
- * the voltage for the ambient temperature in millivolts.
- */
- int32_t vamb = (sensor * 1000) / bandgap;
-
- /*
- * This formula comes from the reference manual.
- * Temperature is in millidegrees C.
- */
- int32_t delta = (((vamb - v25) * 1000000) / m);
- int32_t temp = 25000 - delta;
-
- if (temp < 19000) {
- /* Turn just the Blue LED on if less than 19C */
- palSetPad(GPIOB,18); // Red
- palSetPad(GPIOB,19); // Green
- palClearPad(GPIOD,1); // Blue
- } else if (temp > 28000) {
- /* Turn just the Red LED on if greater than 28C */
- palClearPad(GPIOB,18); // Red
- palSetPad(GPIOB,19); // Green
- palSetPad(GPIOD,1); // Blue
- } else {
- /* Turn just the Green LED on if between 19C and 28C */
- palSetPad(GPIOB,18); // Red
- palClearPad(GPIOB,19); // Green
- palSetPad(GPIOD,1); // Blue
- }
-}
-
-/*
- * ADC conversion group.
- * Mode: Linear buffer, 8 samples of 1 channel, SW triggered.
- */
-static const ADCConversionGroup adcgrpcfg1 = {
- false,
- ADC_GRP1_NUM_CHANNELS,
- adc_end_cb,
- NULL,
- ADC_TEMP_SENSOR | ADC_BANDGAP,
- /* CFG1 Regiser - ADCCLK = SYSCLK / 16, 16 bits per sample */
- ADCx_CFG1_ADIV(ADCx_CFG1_ADIV_DIV_8) |
- ADCx_CFG1_ADICLK(ADCx_CFG1_ADIVCLK_BUS_CLOCK_DIV_2) |
- ADCx_CFG1_MODE(ADCx_CFG1_MODE_16_BITS),
- /* SC3 Register - Average 32 readings per sample */
- ADCx_SC3_AVGE |
- ADCx_SC3_AVGS(ADCx_SC3_AVGS_AVERAGE_32_SAMPLES)
-};
-
-static const ADCConfig adccfg1 = {
- /* Perform initial calibration */
- true
-};
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Activates the ADC1 driver.
- */
- adcStart(&ADCD1, &adccfg1);
-
- while (1) {
- /*
- * ADC linear conversion.
- */
- adcConvert(&ADCD1, &adcgrpcfg1, samples1, ADC_GRP1_BUF_DEPTH);
-
- chThdSleepMilliseconds(500);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/mcuconf.h
deleted file mode 100644
index b657ccf..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/mcuconf.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-
-/* Select the MCU clocking mode below by enabling the appropriate block. */
-/* The defaults are MCG_MODE_PEE, SYSCLK 48MHz, PLLCLK 96MHz, BUSCLK 24MHz */
-
-/* PEE mode - 48MHz system clock driven by external crystal. */
-#if 1
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#if 0
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif /* 0 */
-
-/* FEE mode - 24 MHz with external 32.768 kHz crystal */
-#if 0
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEE
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 0 /* 732x FLL factor */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* Divide 48 MHz FLL by 1 => 24 MHz */
-#define KINETIS_CLKDIV1_OUTDIV4 2 /* Divide OUTDIV1 output by 2 => 12 MHz */
-#define KINETIS_SYSCLK_FREQUENCY 23986176UL /* 32.768 kHz*732 (~24 MHz) */
-#define KINETIS_UART0_CLOCK_FREQ (32768 * 732) /* FLL output */
-#define KINETIS_UART0_CLOCK_SRC 1 /* Select FLL clock */
-#define KINETIS_BUSCLK_FREQUENCY (KINETIS_SYSCLK_FREQUENCY / KINETIS_CLKDIV1_OUTDIV4)
-#endif /* 0 */
-
-/* FEE mode - 48 MHz */
-#if 0
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEE
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* Divide 48 MHz FLL by 1 => 48 MHz */
-#define KINETIS_CLKDIV1_OUTDIV4 2 /* Divide OUTDIV1 output by 2 => 24 MHz */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#endif /* 0 */
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 FALSE
-
-/*
- * ADC driver system settings.
- */
-#define KINETIS_ADC_USE_ADC0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/readme.txt b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/readme.txt
deleted file mode 100644
index 4077343..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/readme.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-*****************************************************************************
-** ChibiOS/RT port for ARM-Cortex-M0+ Freedom Board KL25Z. **
-*****************************************************************************
-
-The demo runs on an Freescale Freedom KL25Z board and demonstrates
-the usage of the ADC.
-
-It reads the internal temperature sensor. If the temperature drops
-below 20C (68F) it turns on the blue LED. If the temperature rises
-above 27C (81F) it turns on the red LED. Otherwise the green LED is
-illuminated.
-
-The internal bandgap voltage reference is used to calibrate the
-results returned from the temperature sensor.
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/Makefile
deleted file mode 100644
index 8ea9026..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/Makefile
+++ /dev/null
@@ -1,213 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL2xZ128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC)
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/chconf.h
deleted file mode 100644
index b7ffc80..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL25Z/GPT/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/halconf.h
deleted file mode 100644
index bd57f0a..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL25Z/GPT/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT TRUE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/main.c
deleted file mode 100644
index 926730d..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/main.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#define POLLED_TEST FALSE
-
-void gptcb(GPTDriver *gptp) {
- (void)gptp;
- palTogglePad(GPIO_LED_GREEN, PIN_LED_GREEN);
-}
-
-/*
- * GPT configuration structure.
- */
-static const GPTConfig gpt1cfg = {
- 4,
- gptcb
-};
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Turn off the RGB LED.
- */
- palSetPad(GPIO_LED_RED, PIN_LED_RED); /* red */
- palSetPad(GPIO_LED_GREEN, PIN_LED_GREEN); /* green */
- palSetPad(GPIO_LED_BLUE, PIN_LED_BLUE); /* blue */
-
- /*
- * Initializes the GPT driver 1.
- */
- gptStart(&GPTD1, &gpt1cfg);
-
-#if !POLLED_TEST
- gptStartContinuous(&GPTD1, 2);
-#endif
-
- while (1) {
-#if POLLED_TEST
- gpt_lld_polled_delay(&GPTD1, 1) ;
- palTogglePad(GPIO_LED_GREEN, PIN_LED_GREEN);
-#else
- chThdSleepMilliseconds(500);
-#endif
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/mcuconf.h
deleted file mode 100644
index 6a2d2d7..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/mcuconf.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* PEE mode - 48MHz system clock driven by (8 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-
-/*
- * GPT driver system settings.
- */
-#define KINETIS_GPT_USE_PIT0 TRUE
-#define KINETIS_GPT_PIT0_IRQ_PRIORITY 2
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/Makefile
deleted file mode 100644
index 8ea9026..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/Makefile
+++ /dev/null
@@ -1,213 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL2xZ128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC)
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/chconf.h
deleted file mode 100644
index 25dd7b8..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL25Z/PWM/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/halconf.h
deleted file mode 100644
index 89d31a5..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/halconf.h
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL25Z/PWM/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/main.c
deleted file mode 100644
index 32d8020..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/main.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * (c) 2015 flabbergast <s3+flabbergast@sdfeu.org>
- * Based on ChibiOS 3.0.1 demo code, license below.
- * Licensed under the Apache License, Version 2.0.
- */
-
-/*
- * ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ch.h"
-#include "hal.h"
-
-/*
- * on FRDM-KL25Z:
- * red LED on PTB18/TPM2_CH0 (AF3)
- * green LED on PTB19/TPM2_CH1 (AF3)
- */
-
-#define PWM_DRIVER PWMD3
-
-/* PWM config structure */
-/* Note: the PWM clock frequency must be so that
- * SYSCLK / FREQ is a power of 2 between 1 and 128.
- */
-static const PWMConfig pwmcfg = {
- 750000, /* 750kHz PWM clock frequency. */
- 1000, /* PWM period is 1000 cycles. */
- /* meaning PWM resolution is 750 */
- NULL, /* no callback */
- {
- {PWM_OUTPUT_ACTIVE_LOW, NULL}, /* ch0: mode, no callback */
- {PWM_OUTPUT_ACTIVE_LOW, NULL}, /* ch1: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL}, /* ch2: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL}, /* ch3: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL}, /* ch4: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL} /* ch5: mode, no callback */
- },
-};
-
-#define BREATHE_STEP 16 /* ms; = 4000ms/TABLE_SIZE */
-
-/* Breathing Sleep LED brighness(PWM On period) table
- *
- * http://www.wolframalpha.com/input/?i=%28sin%28+x%2F64*pi%29**8+*+255%2C+x%3D0+to+63
- * (0..63).each {|x| p ((sin(x/64.0*PI)**8)*255).to_i }
- */
-/* ruby -e "a = ((0..255).map{|x| Math.exp(Math.cos(Math::PI+(2*x*(Math::PI)/255)))-Math.exp(-1) }); m = a.max; a.map\!{|x| (10000*x/m).to_i}; p a" */
-#define TABLE_SIZE 256
-static const uint16_t breathing_table[TABLE_SIZE] = {
- 0, 0, 1, 4, 7, 11, 17, 23, 30, 38, 47, 58, 69, 81, 94, 109, 124, 141, 159, 177, 197, 218, 241, 264, 289, 315, 343, 372, 402, 433, 466, 501, 537, 574, 613, 654, 696, 741, 786, 834, 883, 935, 988, 1043, 1100, 1159, 1220, 1283, 1349, 1416, 1486, 1558, 1632, 1709, 1788, 1870, 1954, 2040, 2129, 2220, 2314, 2411, 2510, 2611, 2715, 2822, 2932, 3044, 3158, 3275, 3395, 3517, 3641, 3768, 3897, 4028, 4162, 4298, 4436, 4576, 4717, 4861, 5006, 5152, 5300, 5449, 5600, 5751, 5903, 6055, 6208, 6361, 6513, 6666, 6818, 6970, 7120, 7269, 7417, 7563, 7708, 7850, 7990, 8127, 8261, 8391, 8519, 8643, 8762, 8878, 8989, 9095, 9196, 9293, 9383, 9469, 9548, 9622, 9689, 9750, 9805, 9853, 9895, 9930, 9957, 9978, 9992, 9999, 10000, 9992, 9978, 9957, 9930, 9895, 9853, 9805, 9750, 9689, 9622, 9548, 9469, 9383, 9293, 9196, 9095, 8989, 8878, 8762, 8643, 8519, 8391, 8261, 8127, 7990, 7850, 7708, 7563, 7417, 7269, 7120, 6970, 6818, 6666, 6513, 6361, 6208, 6055, 5903, 5751, 5600, 5449, 5300, 5152, 5006, 4861, 4717, 4576, 4436, 4298, 4162, 4028, 3897, 3768, 3641, 3517, 3395, 3275, 3158, 3044, 2932, 2822, 2715, 2611, 2510, 2411, 2314, 2220, 2129, 2040, 1954, 1870, 1788, 1709, 1632, 1558, 1486, 1416, 1349, 1283, 1220, 1159, 1100, 1043, 988, 935, 883, 834, 786, 741, 696, 654, 613, 574, 537, 501, 466, 433, 402, 372, 343, 315, 289, 264, 241, 218, 197, 177, 159, 141, 124, 109, 94, 81, 69, 58, 47, 38, 30, 23, 17, 11, 7, 4, 1, 0, 0
-};
-
-uint16_t table_pos = 0;
-uint8_t active_led = 0;
-
-static THD_WORKING_AREA(waBreatheThread, 128);
-static THD_FUNCTION(BreatheThread, arg) {
- (void)arg;
- chRegSetThreadName("breatheThread");
-
- while(true) {
- pwmEnableChannel(&PWM_DRIVER, active_led, PWM_PERCENTAGE_TO_WIDTH(&PWM_DRIVER,breathing_table[table_pos]));
- table_pos++;
- if(table_pos == TABLE_SIZE) {
- table_pos = 0;
- active_led = (active_led+1) % 2;
- }
- chThdSleepMilliseconds(BREATHE_STEP);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Turn off the RGB LED.
- */
- palSetLine(LINE_LED_RED); /* red */
- palSetLine(LINE_LED_GREEN); /* green */
- palSetLine(LINE_LED_BLUE); /* blue */
-
- /*
- * Start the PWM driver, route TPM2 output to PTB18, PTB19.
- * Enable channels now to avoid a blink later.
- */
- pwmStart(&PWM_DRIVER, &pwmcfg);
- palSetLineMode(LINE_LED_RED, PAL_MODE_ALTERNATIVE_3);
- palSetLineMode(LINE_LED_GREEN, PAL_MODE_ALTERNATIVE_3);
- pwmEnableChannel(&PWM_DRIVER, 0, 0);
- pwmEnableChannel(&PWM_DRIVER, 1, 0);
-
- /*
- * Create the breathe thread.
- */
- chThdCreateStatic(waBreatheThread, sizeof(waBreatheThread), NORMALPRIO, BreatheThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing except
- * sleeping in a loop.
- */
- while(true) {
- chThdSleepMilliseconds(500);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/mcuconf.h
deleted file mode 100644
index ff704e6..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/mcuconf.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* PEE mode - 48MHz system clock driven by (8 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_USB_USB0_IRQ_PRIORITY 2
-
-/*
- * PWM driver settings.
- */
-#define KINETIS_PWM_USE_TPM2 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/Makefile
deleted file mode 100644
index ed84ee9..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-CC=gcc
-CFLAGS = -Wall -Wextra -O2 -g
-
-SRCS = $(wildcard *.c)
-OBJS = $(SRCS:%.c=%.o)
-EXE = test-usb-hid
-
-all: $(EXE)
-
-$(EXE): $(OBJS)
-
--include $(subst .c,.d,$(SRCS))
-
-%.d: %.c
- $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -MM -MF $@ -MP -MT $(subst .c,.o,$<) $<
-
-clean:
- rm -f $(EXE)
- rm -f $(OBJS)
- rm -f $(subst .c,.d,$(SRCS))
- rm -f *~
-
-.PHONY: clean all
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/test-usb-hid.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/test-usb-hid.c
deleted file mode 100644
index 241b129..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/test-usb-hid.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
-
- Copyright (c) 2014 Guillaume Duc <guillaume@guiduc.org>
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
-*/
-
-#include <linux/types.h>
-#include <linux/input.h>
-#include <linux/hidraw.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <stdint.h>
-#include <assert.h>
-
-#define USB_HID_IN_REPORT_SIZE 1
-#define USB_HID_OUT_REPORT_SIZE 1
-
-struct usb_hid_in_report_s
-{
- uint8_t sequence_number;
-};
-
-struct usb_hid_out_report_s
-{
- uint8_t sequence_number;
-};
-
-static uint8_t usb_hid_in_report_buf[USB_HID_IN_REPORT_SIZE];
-// +1 for the report index
-static uint8_t usb_hid_out_report_buf[USB_HID_OUT_REPORT_SIZE + 1];
-
-static struct usb_hid_in_report_s *usb_hid_in_report =
- (struct usb_hid_in_report_s *) usb_hid_in_report_buf;
-
-static struct usb_hid_out_report_s *usb_hid_out_report =
- (struct usb_hid_out_report_s *) (&usb_hid_out_report_buf[1]);
-
-static int usb_hid_fd;
-static uint8_t wkup_pb_old_value = 0;
-
-static void
-read_in_report ()
-{
- int res, i;
-
- printf ("read()\n");
- res = read (usb_hid_fd, usb_hid_in_report_buf, USB_HID_IN_REPORT_SIZE);
- if (res < 0)
- {
- perror ("read");
- exit (EXIT_FAILURE);
- }
- else
- {
- printf ("read() read %d bytes:\t", res);
- for (i = 0; i < res; i++)
- printf ("%02hhx ", usb_hid_in_report_buf[i]);
- printf ("\n");
- }
-}
-
-static void
-send_out_report ()
-{
- int res;
-
- usb_hid_out_report_buf[0] = 0;
-
- res =
- write (usb_hid_fd, usb_hid_out_report_buf, USB_HID_OUT_REPORT_SIZE + 1);
- if (res < 0)
- {
- perror ("write");
- exit (EXIT_FAILURE);
- }
-
- usb_hid_out_report->sequence_number++;
-}
-
-static void
-usb_hid_init (const char *dev_name)
-{
- int i, res;
- int desc_size = 0;
- char buf[256];
-
- struct hidraw_report_descriptor rpt_desc;
- struct hidraw_devinfo info;
-
- usb_hid_fd = open (dev_name, O_RDWR);
-
- if (usb_hid_fd < 0)
- {
- perror ("Unable to open device");
- exit (EXIT_FAILURE);
- }
-
- memset (&rpt_desc, 0x0, sizeof (rpt_desc));
- memset (&info, 0x0, sizeof (info));
- memset (buf, 0x0, sizeof (buf));
-
- // Get Report Descriptor Size
- res = ioctl (usb_hid_fd, HIDIOCGRDESCSIZE, &desc_size);
- if (res < 0)
- perror ("HIDIOCGRDESCSIZE");
- else
- printf ("Report Descriptor Size: %d\n", desc_size);
-
- // Get Report Descriptor
- rpt_desc.size = desc_size;
- res = ioctl (usb_hid_fd, HIDIOCGRDESC, &rpt_desc);
- if (res < 0)
- {
- perror ("HIDIOCGRDESC");
- }
- else
- {
- printf ("Report Descriptor:\n");
- for (i = 0; i < rpt_desc.size; i++)
- printf ("%02hhx ", rpt_desc.value[i]);
- puts ("\n");
- }
-}
-
-int
-main (int argc, char **argv)
-{
- if (argc < 2)
- {
- fprintf (stderr, "Usage: %s /dev/hidrawX\n", argv[0]);
- return EXIT_FAILURE;
- }
-
- memset (usb_hid_out_report_buf, 0, sizeof (usb_hid_out_report_buf));
-
- usb_hid_init (argv[1]);
- usb_hid_out_report->sequence_number = 4;
- send_out_report ();
-
- while (1)
- {
- read_in_report ();
-
- if (usb_hid_in_report->sequence_number == 40)
- {
- usb_hid_out_report->sequence_number = usb_hid_in_report->sequence_number / 2;
- send_out_report ();
- }
-
- }
-
- close (usb_hid_fd);
-
- return EXIT_SUCCESS;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/udev.rules b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/udev.rules
deleted file mode 100644
index 8c93f15..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/udev.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-SUBSYSTEM=="usb", ATTR{idVendor}=="0179", ATTR{idProduct}=="0002", MODE:="0666"
-KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0179", ATTRS{idProduct}=="0002", MODE:="0666"
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Makefile
deleted file mode 100644
index 39c7ccd..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Makefile
+++ /dev/null
@@ -1,216 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 --specs=nosys.specs -lnosys
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-#include $(CHIBIOS)/test/rt/test.mk
-#include $(CHIBIOS)/os/hal/lib/streams/streams.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL2xZ128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- usbcfg.c \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC)
-
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/chconf.h
deleted file mode 100644
index 6774a44..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/chconf.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked jus * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
-t before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf.h
deleted file mode 100644
index a3466b4..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf.h
+++ /dev/null
@@ -1,368 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file boards/FRDM-KL25Z/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 64
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 8
-#endif
-/** @} */
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf_community.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf_community.h
deleted file mode 100644
index b2f75af..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf_community.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef HALCONF_COMMUNITY_H
-#define HALCONF_COMMUNITY_H
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/**
- * @brief Enables the EEPROM subsystem.
- */
-#if !defined(HAL_USE_EEPROM) || defined(__DOXYGEN__)
-#define HAL_USE_EEPROM FALSE
-#endif
-
-/**
- * @brief Enables the TIMCAP subsystem.
- */
-#if !defined(HAL_USE_TIMCAP) || defined(__DOXYGEN__)
-#define HAL_USE_TIMCAP FALSE
-#endif
-
-/**
- * @brief Enables the USBH subsystem.
- */
-#if !defined(HAL_USE_USBH) || defined(__DOXYGEN__)
-#define HAL_USE_USBH FALSE
-#endif
-
-/**
- * @brief Enables the USB HID subsystem.
- */
-#if !defined(HAL_USE_USB_HID) || defined(__DOXYGEN__)
-#define HAL_USE_USB_HID TRUE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
- /*===========================================================================*/
-/* EEProm driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables 24xx series I2C eeprom device driver.
- * @note Disabling this option saves both code and data space.
- */
-#define EEPROM_USE_EE24XX TRUE
- /**
- * @brief Enables 25xx series SPI eeprom device driver.
- * @note Disabling this option saves both code and data space.
- */
-#define EEPROM_USE_EE25XX TRUE
-
-
-#endif /* HALCONF_COMMUNITY_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/main.c
deleted file mode 100644
index 80aeb5d..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/main.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- Copyright (C) 2016 Jonathan Struebel
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-#include "usbcfg.h"
-
-/*
- * Blue LED blinker thread, times are in milliseconds.
- */
-static THD_WORKING_AREA(waBlinkThread, 128);
-static THD_FUNCTION(BlinkThread, arg) {
-
- (void)arg;
-
- chRegSetThreadName("blinker");
- while (true) {
- systime_t time = USBD1.state == USB_ACTIVE ? 250 : 500;
- palTogglePad(GPIO_LED_BLUE, PIN_LED_BLUE);
- chThdSleepMilliseconds(time);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Turn off the RGB LED.
- */
- palSetPad(GPIO_LED_RED, PIN_LED_RED); /* red */
- palSetPad(GPIO_LED_GREEN, PIN_LED_GREEN); /* green */
- palSetPad(GPIO_LED_BLUE, PIN_LED_BLUE); /* blue */
-
- /*
- * Initializes a USB HID driver.
- */
- hidObjectInit(&UHD1);
- hidStart(&UHD1, &usbhidcfg);
-
- /*
- * Activates the USB driver and then the USB bus pull-up on D+.
- * Note, a delay is inserted in order to not have to disconnect the cable
- * after a reset.
- */
-
- usbDisconnectBus(usbhidcfg.usbp);
- chThdSleepMilliseconds(1000);
- usbStart(usbhidcfg.usbp, &usbcfg);
- usbConnectBus(usbhidcfg.usbp);
-
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waBlinkThread, sizeof(waBlinkThread), NORMALPRIO, BlinkThread, NULL);
-
- while (true) {
- if (usbhidcfg.usbp->state == USB_ACTIVE) {
- uint8_t report;
- size_t n = hidGetReport(0, &report, sizeof(report));
- hidWriteReport(&UHD1, &report, n);
- n = hidReadReportt(&UHD1, &report, sizeof(report), TIME_IMMEDIATE);
- if (n > 0)
- hidSetReport(0, &report, n);
- }
- palTogglePad(GPIO_LED_RED, PIN_LED_RED);
- chThdSleepMilliseconds(1000);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/mcuconf.h
deleted file mode 100644
index 57629ef..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/mcuconf.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 0
-/* PEE mode - 48MHz system clock driven by (8 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-#if 1
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif
-
-/*
- * I2C driver system settings.
- */
-#define KINETIS_I2C_USE_I2C1 TRUE
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_USB_USB0_IRQ_PRIORITY 2
-
-/*
- * Endianess of MCU
- */
-#define ARCH_LITTLE_ENDIAN
-
-#endif /* MCUCONF_H */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.c
deleted file mode 100644
index 30944b5..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.c
+++ /dev/null
@@ -1,418 +0,0 @@
-/*
- Copyright (C) 2016 Jonathan Struebel
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file usbcfg.c
- * @brief USB driver config.
- *
- * @addtogroup USB
- * @{
- */
-#include "hal.h"
-#include "usbcfg.h"
-
-/*
- * Endpoints to be used for USBD1.
- */
-#define USBD1_DATA_REQUEST_EP 1
-#define USBD1_DATA_AVAILABLE_EP 1
-
-/*
- * USB HID Driver structure.
- */
-USBHIDDriver UHD1;
-
-/*
- * Data used for feedback
- */
-uint8_t increment_var = 0;
-
-/*
- * USB Device Descriptor.
- */
-static const uint8_t hid_device_descriptor_data[18] = {
- USB_DESC_DEVICE (0x0110, /* bcdUSB (1.1). */
- 0x00, /* bDeviceClass. */
- 0x00, /* bDeviceSubClass. */
- 0x00, /* bDeviceProtocol. */
- 0x40, /* bMaxPacketSize. */
- 0x0179, /* idVendor. */
- 0x0002, /* idProduct. */
- 0x0200, /* bcdDevice. */
- 1, /* iManufacturer. */
- 2, /* iProduct. */
- 3, /* iSerialNumber. */
- 1) /* bNumConfigurations. */
-};
-
-/*
- * Device Descriptor wrapper.
- */
-static const USBDescriptor hid_device_descriptor = {
- sizeof hid_device_descriptor_data,
- hid_device_descriptor_data
-};
-
-/*
- * Configuration Descriptor tree for a HID device
- *
- * The HID Specifications version 1.11 require the following order:
- * - Configuration Descriptor
- * - Interface Descriptor
- * - HID Descriptor
- * - Endpoints Descriptors
- */
-#define HID_DESCRIPTOR_OFFSET 18
-#define HID_DESCRIPTOR_SIZE USB_DESC_HID_SIZE
-
-static const uint8_t hid_configuration_descriptor_data[41] = {
- /* Configuration Descriptor.*/
- USB_DESC_CONFIGURATION(41, /* wTotalLength. */
- 0x01, /* bNumInterfaces. */
- 0x01, /* bConfigurationValue. */
- 0, /* iConfiguration. */
- 0xC0, /* bmAttributes (self powered). */
- 50), /* bMaxPower (100mA). */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x00, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x02, /* bNumEndpoints. */
- 0x03, /* bInterfaceClass (HID Interface
- Class). */
- 0x00, /* bInterfaceSubClass (None). */
- 0x00, /* bInterfaceProtocol (None). */
- 0), /* iInterface. */
- /* HID Descriptor.*/
- USB_DESC_HID (0x0110, /* bcdHID. */
- 0x00, /* bCountryCode. */
- 0x01, /* bNumDescriptors. */
- 0x22, /* bDescriptorType (Report
- Descriptor). */
- 34), /* wDescriptorLength. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
- 0x03, /* bmAttributes (Interrupt). */
- 0x0040, /* wMaxPacketSize. */
- 0x0A), /* bInterval (10ms). */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
- 0x03, /* bmAttributes (Interrupt). */
- 0x0040, /* wMaxPacketSize. */
- 0x0A) /* bInterval (10ms). */
-};
-
-/*
- * Configuration Descriptor wrapper.
- */
-static const USBDescriptor hid_configuration_descriptor = {
- sizeof hid_configuration_descriptor_data,
- hid_configuration_descriptor_data
-};
-
-/*
- * HID Descriptor wrapper.
- */
-static const USBDescriptor hid_descriptor = {
- HID_DESCRIPTOR_SIZE,
- &hid_configuration_descriptor_data[HID_DESCRIPTOR_OFFSET]
-};
-
-/*
- * HID Report Descriptor
- *
- * This is the description of the format and the content of the
- * different IN or/and OUT reports that your application can
- * receive/send
- *
- * See "Device Class Definition for Human Interface Devices (HID)"
- * (http://www.usb.org/developers/hidpage/HID1_11.pdf) for the
- * detailed description of all the fields
- */
-static const uint8_t hid_report_descriptor_data[] = {
- USB_DESC_BYTE (0x06), /* Usage Page - */
- USB_DESC_WORD (0xFF00), /* Vendor Defined. */
- USB_DESC_BYTE (0x09), /* Usage - */
- USB_DESC_BYTE (0x01), /* Vendor Defined. */
- USB_DESC_BYTE (0xA1), /* Collection - */
- USB_DESC_BYTE (0x01), /* Application. */
-
- USB_DESC_BYTE (0x09), /* Usage - */
- USB_DESC_BYTE (0x01), /* Vendor Defined. */
- USB_DESC_BYTE (0x15), /* Logical Minimum - */
- USB_DESC_BYTE (0x00), /* 0. */
- USB_DESC_BYTE (0x26), /* Logical Maximum - */
- USB_DESC_WORD (0x00FF), /* 255. */
- USB_DESC_BYTE (0x75), /* Report size - */
- USB_DESC_BYTE (0x08), /* 8 bits. */
- USB_DESC_BYTE (0x95), /* Report count - */
- USB_DESC_BYTE (0x01), /* 1. */
- USB_DESC_BYTE (0x81), /* Input - */
- USB_DESC_BYTE (0x02), /* Data, Variable, Absolute. */
-
- USB_DESC_BYTE (0x09), /* Usage - */
- USB_DESC_BYTE (0x01), /* Vendor Defined. */
- USB_DESC_BYTE (0x15), /* Logical Minimum - */
- USB_DESC_BYTE (0x00), /* 0. */
- USB_DESC_BYTE (0x26), /* Logical Maximum - */
- USB_DESC_WORD (0x00FF), /* 255. */
- USB_DESC_BYTE (0x75), /* Report Size - */
- USB_DESC_BYTE (0x08), /* 8 bits. */
- USB_DESC_BYTE (0x95), /* Report Count - */
- USB_DESC_BYTE (0x01), /* 1. */
- USB_DESC_BYTE (0x91), /* Output - */
- USB_DESC_BYTE (0x02), /* Data, Variable, Absolute. */
-
- USB_DESC_BYTE (0xC0) /* End Collection. */
-};
-
-/*
- * HID Report Descriptor wrapper
- */
-static const USBDescriptor hid_report_descriptor = {
- sizeof hid_report_descriptor_data,
- hid_report_descriptor_data
-};
-
-/*
- * U.S. English language identifier.
- */
-static const uint8_t hid_string0[] = {
- USB_DESC_BYTE(2+2*1), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- USB_DESC_WORD(0x0409) /* wLANGID (U.S. English). */
-};
-
-/*
- * Vendor string.
- */
-static const uint8_t hid_string1[] = {
- USB_DESC_BYTE(2+2*7), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'N', 0, 'o', 0, 'p', 0, 'e', 0, 'L', 0, 'a', 0, 'b', 0,
-};
-
-/*
- * Device Description string.
- */
-static const uint8_t hid_string2[] = {
- USB_DESC_BYTE(2+5*2), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'C', 0, 'h', 0, 'T', 0, 's', 0, 'y', 0,
-};
-
-/*
- * Serial Number string.
- */
-static const uint8_t hid_string3[] = {
- USB_DESC_BYTE(2+2*3), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- '0' + CH_KERNEL_MAJOR, 0,
- '0' + CH_KERNEL_MINOR, 0,
- '0' + CH_KERNEL_PATCH, 0
-};
-
-/*
- * Strings wrappers array.
- */
-static const USBDescriptor hid_strings[] = {
- {sizeof hid_string0, hid_string0},
- {sizeof hid_string1, hid_string1},
- {sizeof hid_string2, hid_string2},
- {sizeof hid_string3, hid_string3}
-};
-
-/*
- * Handles the GET_DESCRIPTOR callback. All required descriptors must be
- * handled here.
- */
-static const USBDescriptor *get_descriptor(USBDriver *usbp,
- uint8_t dtype,
- uint8_t dindex,
- uint16_t lang) {
- (void)usbp;
- (void)lang;
- switch (dtype) {
- case USB_DESCRIPTOR_DEVICE:
- return &hid_device_descriptor;
- case USB_DESCRIPTOR_CONFIGURATION:
- return &hid_configuration_descriptor;
- case USB_DESCRIPTOR_STRING:
- if (dindex < 4)
- return &hid_strings[dindex];
- case USB_DESCRIPTOR_INTERFACE:
- break;
- case USB_DESCRIPTOR_ENDPOINT:
- break;
- case USB_DESCRIPTOR_HID:
- return &hid_descriptor;
- case HID_REPORT:
- return &hid_report_descriptor;
- default:
- break;
- }
- return NULL;
-}
-
-/**
- * @brief IN EP1 state.
- */
-static USBInEndpointState ep1instate;
-
-/**
- * @brief OUT EP1 state.
- */
-static USBOutEndpointState ep1outstate;
-
-/**
- * @brief EP1 initialization structure (both IN and OUT).
- */
-static const USBEndpointConfig ep1config = {
- USB_EP_MODE_TYPE_INTR,
- NULL,
- hidDataTransmitted,
- hidDataReceived,
- 0x0040,
- 0x0040,
- &ep1instate,
- &ep1outstate,
- 2,
- NULL
-};
-
-/*
- * Handles the USB driver global events.
- */
-static void usb_event(USBDriver *usbp, usbevent_t event) {
-// (void)usbp;
- switch (event) {
- case USB_EVENT_RESET:
- return;
- case USB_EVENT_ADDRESS:
- return;
- case USB_EVENT_CONFIGURED:
- osalSysLockFromISR();
-
- /* Enables the endpoints specified into the configuration.
- Note, this callback is invoked from an ISR so I-Class functions
- must be used.*/
- usbInitEndpointI(usbp, USBD1_DATA_REQUEST_EP, &ep1config);
-
- /* Resetting the state of the CDC subsystem.*/
- hidConfigureHookI(&UHD1);
-
- osalSysUnlockFromISR();
- return;
- case USB_EVENT_SUSPEND:
- return;
- case USB_EVENT_WAKEUP:
- return;
- case USB_EVENT_STALLED:
- return;
- }
- return;
-}
-
-static bool req_handler(USBDriver *usbp) {
- size_t n;
-
- if ((usbp->setup[0] & USB_RTYPE_TYPE_MASK) == USB_RTYPE_TYPE_CLASS) {
- switch (usbp->setup[1]) {
- case HID_GET_REPORT:
- n = hidGetReport(0, &increment_var, sizeof(increment_var));
- usbSetupTransfer(usbp, &increment_var, n, NULL);
- return true;
- default:
- return hidRequestsHook(usbp);
- }
- }
- return hidRequestsHook(usbp);
-}
-
-#if 0
-/*
- * Handles the USB driver global events.
- */
-static void sof_handler(USBDriver *usbp) {
-
- (void)usbp;
-
- osalSysLockFromISR();
- sduSOFHookI(&SDU1);
- osalSysUnlockFromISR();
-}
-#endif
-
-/**
- * @brief Generate HID Report
- * @details This function generates the data for an HID report so
- * that it can be transferred to the host.
- *
- * @param[in] id report ID
- * @param[out] bp data buffer pointer
- * @param[in] n the maximum number of bytes for data buffer
- * @return number of bytes of report in data buffer
- */
-size_t hidGetReport(uint8_t id, uint8_t *bp, size_t n) {
-
- (void) id;
- (void) n;
-
- increment_var++;
- *bp = increment_var;
- return sizeof(increment_var);
-}
-
-/**
- * @brief Set HID Report
- * @details This function sets the data for an HID report
- * that was transferred from the host.
- *
- * @param[in] id report ID
- * @param[in] bp data buffer pointer
- * @param[in] n the number of bytes in data buffer
- * @return The operation status.
- * @retval MSG_OK if the report was set.
- */
-msg_t hidSetReport(uint8_t id, uint8_t *bp, size_t n) {
-
- (void) id;
- (void) n;
-
- increment_var = *bp;
- return MSG_OK;
-}
-
-/*
- * USB driver configuration.
- */
-const USBConfig usbcfg = {
- usb_event,
- get_descriptor,
- req_handler,
- NULL
- /*sof_handler*/
-};
-
-/*
- * USB HID driver configuration.
- */
-const USBHIDConfig usbhidcfg = {
- &USBD1,
- USBD1_DATA_REQUEST_EP,
- USBD1_DATA_AVAILABLE_EP
-};
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.h
deleted file mode 100644
index 3d69417..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- Copyright (C) 2016 Jonathan Struebel
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file usbcfg.h
- * @brief USB driver config header.
- *
- * @addtogroup USB
- * @{
- */
-
-#ifndef USBCFG_H
-#define USBCFG_H
-
-#include "hal_usb_hid.h"
-
-extern const USBConfig usbcfg;
-extern const USBHIDConfig usbhidcfg;
-extern USBHIDDriver UHD1;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- size_t hidGetReport(uint8_t id, uint8_t *bp, size_t n);
- msg_t hidSetReport(uint8_t id, uint8_t *bp, size_t n);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* USBCFG_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/Makefile
deleted file mode 100644
index 57ab9e8..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/Makefile
+++ /dev/null
@@ -1,220 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-include $(CHIBIOS)/os/hal/lib/streams/streams.mk
-include $(CHIBIOS)/os/various/shell/shell.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL2xZ128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(STREAMSSRC) \
- $(SHELLSRC) \
- usbcfg.c \
- main.c \
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(STREAMSINC) $(SHELLINC)
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chconf.h
deleted file mode 100644
index 7b54de5..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL25Z/USB_SERIAL/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chtsy.inf b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chtsy.inf
deleted file mode 100644
index 4ae7d0b..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chtsy.inf
+++ /dev/null
@@ -1,106 +0,0 @@
-;************************************************************
-; Windows USB CDC ACM Setup File
-; Copyright (c) 2000 Microsoft Corporation
-
-
-[Version]
-Signature="$Windows NT$"
-Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%MFGNAME%
-LayoutFile=layout.inf
-CatalogFile=%MFGFILENAME%.cat
-DriverVer=11/15/2007,5.1.2600.0
-
-[Manufacturer]
-%MFGNAME%=DeviceList, NTamd64
-
-[DestinationDirs]
-DefaultDestDir=12
-
-
-;------------------------------------------------------------------------------
-; Windows 2000/XP/Vista-32bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.nt]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.nt
-AddReg=DriverInstall.nt.AddReg
-
-[DriverCopyFiles.nt]
-usbser.sys,,,0x20
-
-[DriverInstall.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.nt.Services]
-AddService=usbser, 0x00000002, DriverService.nt
-
-[DriverService.nt]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-;------------------------------------------------------------------------------
-; Vista-64bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.NTamd64]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.NTamd64
-AddReg=DriverInstall.NTamd64.AddReg
-
-[DriverCopyFiles.NTamd64]
-%DRIVERFILENAME%.sys,,,0x20
-
-[DriverInstall.NTamd64.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.NTamd64.Services]
-AddService=usbser, 0x00000002, DriverService.NTamd64
-
-[DriverService.NTamd64]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-
-;------------------------------------------------------------------------------
-; Vendor and Product ID Definitions
-;------------------------------------------------------------------------------
-; When developing your USB device, the VID and PID used in the PC side
-; application program and the firmware on the microcontroller must match.
-; Modify the below line to use your VID and PID. Use the format as shown below.
-; Note: One INF file can be used for multiple devices with different VID and PIDs.
-; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
-;------------------------------------------------------------------------------
-[SourceDisksFiles]
-[SourceDisksNames]
-[DeviceList]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-[DeviceList.NTamd64]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-
-;------------------------------------------------------------------------------
-; String Definitions
-;------------------------------------------------------------------------------
-;Modify these strings to customize your device
-;------------------------------------------------------------------------------
-[Strings]
-MFGFILENAME="ChTsy"
-DRIVERFILENAME ="usbser"
-MFGNAME="NopeLab"
-INSTDISK="ChTsy CDC driver"
-DESCRIPTION="ChTsy CDC driver"
-SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/halconf.h
deleted file mode 100644
index 6bb60f7..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/halconf.h
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL25Z/USB_SERIAL/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB TRUE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*
- * @brief Enable debugging messages over SD1.
- *
- * @note Requires HAL_USE_SERIAL.
- */
-#if HAL_USE_SERIAL
-#define DEBUG_USB
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/main.c
deleted file mode 100644
index 77c6063..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/main.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <stdio.h>
-#include <string.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#include "shell.h"
-#include "chprintf.h"
-
-#include "usbcfg.h"
-
-/*===========================================================================*/
-/* Command line related. */
-/*===========================================================================*/
-
-#define SHELL_WA_SIZE THD_WORKING_AREA_SIZE(2048)
-
-/* Can be measured using dd if=/dev/xxxx of=/dev/null bs=512 count=10000.*/
-static void cmd_write(BaseSequentialStream *chp, int argc, char *argv[]) {
- static uint8_t buf[] =
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef";
-
- (void)argv;
- if (argc > 0) {
- chprintf(chp, "Usage: write\r\n");
- return;
- }
-
- while (chnGetTimeout((BaseChannel *)chp, TIME_IMMEDIATE) == Q_TIMEOUT) {
-#if 1
- /* Writing in channel mode.*/
- chnWrite(&SDU1, buf, sizeof buf - 1);
-#else
- /* Writing in buffer mode.*/
- (void) obqGetEmptyBufferTimeout(&SDU1.obqueue, TIME_INFINITE);
- memcpy(SDU1.obqueue.ptr, buf, SERIAL_USB_BUFFERS_SIZE);
- obqPostFullBuffer(&SDU1.obqueue, SERIAL_USB_BUFFERS_SIZE);
-#endif
- }
- chprintf(chp, "\r\n\nstopped\r\n");
-}
-
-static const ShellCommand commands[] = {
- {"write", cmd_write},
- {NULL, NULL}
-};
-
-static const ShellConfig shell_cfg1 = {
- (BaseSequentialStream *)&SDU1,
- commands
-};
-
-/*===========================================================================*/
-/* Generic code. */
-/*===========================================================================*/
-
-/*
- * Red LED blinker thread, times are in milliseconds.
- */
-static THD_WORKING_AREA(waThread1, 128);
-static THD_FUNCTION(Thread1, arg) {
- systime_t time;
-
- (void)arg;
-
- chRegSetThreadName("blinker");
- while (true) {
- time = serusbcfg.usbp->state == USB_ACTIVE ? 250 : 500;
- palClearPad(GPIO_LED_RED, PIN_LED_RED);
- chThdSleepMilliseconds(time);
- palSetPad(GPIO_LED_RED, PIN_LED_RED);
- chThdSleepMilliseconds(time);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Turn off the RGB LED.
- */
- palSetPad(GPIO_LED_RED, PIN_LED_RED); /* red */
- palSetPad(GPIO_LED_GREEN, PIN_LED_GREEN); /* green */
- palSetPad(GPIO_LED_BLUE, PIN_LED_BLUE); /* blue */
-
- /*
- * Initializes a serial-over-USB CDC driver.
- */
- sduObjectInit(&SDU1);
- sduStart(&SDU1, &serusbcfg);
-
- /*
- * Activates the USB driver and then the USB bus pull-up on D+.
- * Note, a delay is inserted in order to not have to disconnect the cable
- * after a reset.
- */
- usbDisconnectBus(serusbcfg.usbp);
- chThdSleepMilliseconds(1500);
- usbStart(serusbcfg.usbp, &usbcfg);
- usbConnectBus(serusbcfg.usbp);
-
- /*
- * Shell manager initialization.
- */
- shellInit();
-
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- /*
- * Normal main() thread activity, spawning shells.
- */
- while (true) {
- if (SDU1.config->usbp->state == USB_ACTIVE) {
- thread_t *shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE,
- "shell", NORMALPRIO + 1,
- shellThread, (void *)&shell_cfg1);
- chThdWait(shelltp); /* Waiting termination. */
- }
- chThdSleepMilliseconds(1000);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/mcuconf.h
deleted file mode 100644
index 42c9361..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/mcuconf.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 0
-/* PEE mode - 48MHz system clock driven by (8 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-#if 1
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_USB_USB0_IRQ_PRIORITY 2
-
-#endif /* _MCUCONF_H_ */ \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.c
deleted file mode 100644
index 3093640..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.c
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "hal.h"
-
-/* Virtual serial port over USB.*/
-SerialUSBDriver SDU1;
-
-/*
- * Endpoints to be used for USBD1.
- */
-#define USBD1_DATA_REQUEST_EP 1
-#define USBD1_DATA_AVAILABLE_EP 1
-#define USBD1_INTERRUPT_REQUEST_EP 2
-
-/*
- * USB Device Descriptor.
- */
-static const uint8_t vcom_device_descriptor_data[18] = {
- USB_DESC_DEVICE (0x0110, /* bcdUSB (1.1). */
- 0x02, /* bDeviceClass (CDC). */
- 0x00, /* bDeviceSubClass. */
- 0x00, /* bDeviceProtocol. */
- 0x40, /* bMaxPacketSize. */
- 0x0179, /* idVendor. */
- 0x0001, /* idProduct. */
- 0x0200, /* bcdDevice. */
- 1, /* iManufacturer. */
- 2, /* iProduct. */
- 3, /* iSerialNumber. */
- 1) /* bNumConfigurations. */
-};
-
-/*
- * Device Descriptor wrapper.
- */
-static const USBDescriptor vcom_device_descriptor = {
- sizeof vcom_device_descriptor_data,
- vcom_device_descriptor_data
-};
-
-/* Configuration Descriptor tree for a CDC.*/
-static const uint8_t vcom_configuration_descriptor_data[67] = {
- /* Configuration Descriptor.*/
- USB_DESC_CONFIGURATION(67, /* wTotalLength. */
- 0x02, /* bNumInterfaces. */
- 0x01, /* bConfigurationValue. */
- 0, /* iConfiguration. */
- 0xC0, /* bmAttributes (self powered). */
- 50), /* bMaxPower (100mA). */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x00, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x01, /* bNumEndpoints. */
- 0x02, /* bInterfaceClass (Communications
- Interface Class, CDC section
- 4.2). */
- 0x02, /* bInterfaceSubClass (Abstract
- Control Model, CDC section 4.3). */
- 0x01, /* bInterfaceProtocol (AT commands,
- CDC section 4.4). */
- 0), /* iInterface. */
- /* Header Functional Descriptor (CDC section 5.2.3).*/
- USB_DESC_BYTE (5), /* bLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x00), /* bDescriptorSubtype (Header
- Functional Descriptor. */
- USB_DESC_BCD (0x0110), /* bcdCDC. */
- /* Call Management Functional Descriptor. */
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x01), /* bDescriptorSubtype (Call Management
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bmCapabilities (D0+D1). */
- USB_DESC_BYTE (0x01), /* bDataInterface. */
- /* ACM Functional Descriptor.*/
- USB_DESC_BYTE (4), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x02), /* bDescriptorSubtype (Abstract
- Control Management Descriptor). */
- USB_DESC_BYTE (0x02), /* bmCapabilities. */
- /* Union Functional Descriptor.*/
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x06), /* bDescriptorSubtype (Union
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bMasterInterface (Communication
- Class Interface). */
- USB_DESC_BYTE (0x01), /* bSlaveInterface0 (Data Class
- Interface). */
- /* Endpoint 2 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_INTERRUPT_REQUEST_EP|0x80,
- 0x03, /* bmAttributes (Interrupt). */
- 0x0008, /* wMaxPacketSize. */
- 0xFF), /* bInterval. */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x01, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x02, /* bNumEndpoints. */
- 0x0A, /* bInterfaceClass (Data Class
- Interface, CDC section 4.5). */
- 0x00, /* bInterfaceSubClass (CDC section
- 4.6). */
- 0x00, /* bInterfaceProtocol (CDC section
- 4.7). */
- 0x00), /* iInterface. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00), /* bInterval. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00) /* bInterval. */
-};
-
-/*
- * Configuration Descriptor wrapper.
- */
-static const USBDescriptor vcom_configuration_descriptor = {
- sizeof vcom_configuration_descriptor_data,
- vcom_configuration_descriptor_data
-};
-
-/*
- * U.S. English language identifier.
- */
-static const uint8_t vcom_string0[] = {
- USB_DESC_BYTE(4), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- USB_DESC_WORD(0x0409) /* wLANGID (U.S. English). */
-};
-
-/*
- * Vendor string.
- */
-static const uint8_t vcom_string1[] = {
- USB_DESC_BYTE(2+2*7), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'N', 0, 'o', 0, 'p', 0, 'e', 0, 'L', 0, 'a', 0, 'b', 0,
-};
-
-/*
- * Device Description string.
- */
-static const uint8_t vcom_string2[] = {
- USB_DESC_BYTE(2+5*2), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'C', 0, 'h', 0, 'T', 0, 's', 0, 'y', 0,
-};
-
-/*
- * Serial Number string.
- */
-static const uint8_t vcom_string3[] = {
- USB_DESC_BYTE(8), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- '0' + CH_KERNEL_MAJOR, 0,
- '0' + CH_KERNEL_MINOR, 0,
- '0' + CH_KERNEL_PATCH, 0
-};
-
-/*
- * Strings wrappers array.
- */
-static const USBDescriptor vcom_strings[] = {
- {sizeof vcom_string0, vcom_string0},
- {sizeof vcom_string1, vcom_string1},
- {sizeof vcom_string2, vcom_string2},
- {sizeof vcom_string3, vcom_string3}
-};
-
-/*
- * Handles the GET_DESCRIPTOR callback. All required descriptors must be
- * handled here.
- */
-static const USBDescriptor *get_descriptor(USBDriver *usbp,
- uint8_t dtype,
- uint8_t dindex,
- uint16_t lang) {
- (void)usbp;
- (void)lang;
- switch (dtype) {
- case USB_DESCRIPTOR_DEVICE:
- return &vcom_device_descriptor;
- case USB_DESCRIPTOR_CONFIGURATION:
- return &vcom_configuration_descriptor;
- case USB_DESCRIPTOR_STRING:
- if (dindex < 4)
- return &vcom_strings[dindex];
- }
- return NULL;
-}
-
-/**
- * @brief IN EP1 state.
- */
-static USBInEndpointState ep1instate;
-
-/**
- * @brief OUT EP1 state.
- */
-static USBOutEndpointState ep1outstate;
-
-/**
- * @brief EP1 initialization structure (both IN and OUT).
- */
-static const USBEndpointConfig ep1config = {
- USB_EP_MODE_TYPE_BULK,
- NULL,
- sduDataTransmitted,
- sduDataReceived,
- 0x0040,
- 0x0040,
- &ep1instate,
- &ep1outstate,
- 2,
- NULL
-};
-
-/**
- * @brief IN EP2 state.
- */
-static USBInEndpointState ep2instate;
-
-/**
- * @brief EP2 initialization structure (IN only).
- */
-static const USBEndpointConfig ep2config = {
- USB_EP_MODE_TYPE_INTR,
- NULL,
- sduInterruptTransmitted,
- NULL,
- 0x0010,
- 0x0000,
- &ep2instate,
- NULL,
- 1,
- NULL
-};
-
-/*
- * Handles the USB driver global events.
- */
-static void usb_event(USBDriver *usbp, usbevent_t event) {
- extern SerialUSBDriver SDU1;
-
- switch (event) {
- case USB_EVENT_RESET:
- return;
- case USB_EVENT_ADDRESS:
- return;
- case USB_EVENT_CONFIGURED:
- chSysLockFromISR();
-
- /* Enables the endpoints specified into the configuration.
- Note, this callback is invoked from an ISR so I-Class functions
- must be used.*/
- usbInitEndpointI(usbp, USBD1_DATA_REQUEST_EP, &ep1config);
- usbInitEndpointI(usbp, USBD1_INTERRUPT_REQUEST_EP, &ep2config);
-
- /* Resetting the state of the CDC subsystem.*/
- sduConfigureHookI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_SUSPEND:
- chSysLockFromISR();
-
- /* Disconnection event on suspend.*/
- sduDisconnectI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_WAKEUP:
- return;
- case USB_EVENT_STALLED:
- return;
- }
- return;
-}
-
-/*
- * Handles the USB driver global events.
- */
-static void sof_handler(USBDriver *usbp) {
-
- (void)usbp;
-
- osalSysLockFromISR();
- sduSOFHookI(&SDU1);
- osalSysUnlockFromISR();
-}
-
-/*
- * USB driver configuration.
- */
-const USBConfig usbcfg = {
- usb_event,
- get_descriptor,
- sduRequestsHook,
- sof_handler
-};
-
-/*
- * Serial over USB driver configuration.
- */
-const SerialUSBConfig serusbcfg = {
- &USBD1,
- USBD1_DATA_REQUEST_EP,
- USBD1_DATA_AVAILABLE_EP,
- USBD1_INTERRUPT_REQUEST_EP
-};
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.h
deleted file mode 100644
index 5aa501e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _USBCFG_H_
-#define _USBCFG_H_
-
-extern const USBConfig usbcfg;
-extern SerialUSBConfig serusbcfg;
-extern SerialUSBDriver SDU1;
-
-#endif /* _USBCFG_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/Makefile
deleted file mode 100644
index 597f431..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/Makefile
+++ /dev/null
@@ -1,212 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -DCRT0_INIT_STACKS=0
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_KL26Z/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL2xZ128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC)
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/chconf.h
deleted file mode 100644
index eecc0a6..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/chconf.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/halconf.h
deleted file mode 100644
index 6430fb2..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/halconf.h
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C TRUE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/main.c
deleted file mode 100644
index 51efd71..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/main.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- (c) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on K20 I2C demo (c) 2015 Fabio Utzig, http://fabioutzig.com
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#define FXOS8700CQ_ADDR 0x1D
-
-// FXOS8700CQ internal register addresses
-#define FXOS8700CQ_STATUS 0x00
-#define FXOS8700CQ_WHOAMI 0x0D
-#define FXOS8700CQ_XYZ_DATA_CFG 0x0E
-#define FXOS8700CQ_CTRL_REG1 0x2A
-#define FXOS8700CQ_M_CTRL_REG1 0x5B
-#define FXOS8700CQ_M_CTRL_REG2 0x5C
-#define FXOS8700CQ_WHOAMI_VAL 0xC7
-
-static bool i2cOk = false;
-
-static const I2CConfig i2ccfg = {
- 400000 // clock
-};
-
-static THD_WORKING_AREA(waThread1, 64);
-static THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
- chRegSetThreadName("Blinker");
- while(true) {
- if(i2cOk) {
- palSetPad(GPIO_LED_RED, PIN_LED_RED); /* Off red */
- palTogglePad(GPIO_LED_GREEN, PIN_LED_GREEN); /* Blink green */
- } else {
- palSetPad(GPIO_LED_GREEN, PIN_LED_GREEN); /* Off green */
- palTogglePad(GPIO_LED_RED, PIN_LED_RED); /* Blink red */
- }
- chThdSleepMilliseconds(500);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- uint8_t tx[1], rx[1];
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Turn off the RGB LED.
- */
- palSetPad(GPIO_LED_RED, PIN_LED_RED); /* red */
- palSetPad(GPIO_LED_GREEN, PIN_LED_GREEN); /* green */
- palSetPad(GPIO_LED_BLUE, PIN_LED_BLUE); /* blue */
-
- i2cStart(&I2CD1, &i2ccfg);
-
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- while (1) {
- tx[0] = FXOS8700CQ_WHOAMI;
- i2cMasterTransmitTimeout(&I2CD1, FXOS8700CQ_ADDR, tx, 1, rx, 1, TIME_INFINITE);
- i2cOk = (rx[0] == FXOS8700CQ_WHOAMI_VAL) ? true : false;
- chThdSleepMilliseconds(2000);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/mcuconf.h
deleted file mode 100644
index 70c8e80..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/mcuconf.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 1
-/* PEE mode - 48MHz system clock driven by (8 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-#if 0
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * I2C driver settings.
- */
-#define KINETIS_I2C_USE_I2C0 TRUE
-#define KINETIS_I2C_USE_I2C1 FALSE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_I2C_I2C0_PRIORITY 2
-
-#endif /* _MCUCONF_H_ */ \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/readme.txt b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/readme.txt
deleted file mode 100644
index 40474c1..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/readme.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-*********************************************************************
-** ChibiOS/RT I2C test demo for Freedom Board KL26Z. **
-*********************************************************************
-
-** TARGET **
-
-The test runs on an Freescale Freedom KL26Z board.
-
-** The Demo **
-
-This test tries to access the onboard FXOS8700CQ chip using the I2C bus.
-It sends the command WHO_AM_I which has a standard answer that can be
-verified. If the correct answer is received the GREEN led will blink.
-If no answer or invalid answer is received the RED led will blink.
-
-** Build Procedure **
-
-This test was built using the ARM GCC toolchain available at:
-
-https://launchpad.net/gcc-arm-embedded
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/Makefile
deleted file mode 100644
index bca626d..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/Makefile
+++ /dev/null
@@ -1,213 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_KL26Z/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL2xZ128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC)
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/chconf.h
deleted file mode 100644
index 8c37f87..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL26Z/PWM/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/halconf.h
deleted file mode 100644
index c65617e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/halconf.h
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL26Z/PWM/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/main.c
deleted file mode 100644
index 740471a..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/main.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * (c) 2015 flabbergast <s3+flabbergast@sdfeu.org>
- * Based on ChibiOS 3.0.1 demo code, license below.
- * Licensed under the Apache License, Version 2.0.
- */
-
-/*
- * ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ch.h"
-#include "hal.h"
-
-/*
- * on FRDM-KL26Z:
- * red LED on PTE29/TPM0_CH2 (AF3)
- * green LED on PTE31/TPM0_CH4 (AF3)
- * blue LED on PTD5/TPM0_CH5 (AF4)
- */
-
-#define PWM_DRIVER PWMD1
-
-/* PWM config structure */
-/* Note: the PWM clock frequency must be so that
- * SYSCLK / FREQ is a power of 2 between 1 and 128.
- */
-static const PWMConfig pwmcfg = {
- 750000, /* 750kHz PWM clock frequency. */
- 1000, /* PWM period is 1000 cycles. */
- /* meaning PWM resolution is 750 */
- NULL, /* no callback */
- {
- {PWM_OUTPUT_DISABLED, NULL}, /* ch0: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL}, /* ch1: mode, no callback */
- {PWM_OUTPUT_ACTIVE_LOW, NULL}, /* ch2: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL}, /* ch3: mode, no callback */
- {PWM_OUTPUT_ACTIVE_LOW, NULL}, /* ch4: mode, no callback */
- {PWM_OUTPUT_ACTIVE_LOW, NULL} /* ch5: mode, no callback */
- },
-};
-
-#define BREATHE_STEP 16 /* ms; = 4000ms/TABLE_SIZE */
-
-/* Breathing Sleep LED brighness(PWM On period) table
- *
- * http://www.wolframalpha.com/input/?i=%28sin%28+x%2F64*pi%29**8+*+255%2C+x%3D0+to+63
- * (0..63).each {|x| p ((sin(x/64.0*PI)**8)*255).to_i }
- */
-/* ruby -e "a = ((0..255).map{|x| Math.exp(Math.cos(Math::PI+(2*x*(Math::PI)/255)))-Math.exp(-1) }); m = a.max; a.map\!{|x| (10000*x/m).to_i}; p a" */
-#define TABLE_SIZE 256
-static const uint16_t breathing_table[TABLE_SIZE] = {
- 0, 0, 1, 4, 7, 11, 17, 23, 30, 38, 47, 58, 69, 81, 94, 109, 124, 141, 159, 177, 197, 218, 241, 264, 289, 315, 343, 372, 402, 433, 466, 501, 537, 574, 613, 654, 696, 741, 786, 834, 883, 935, 988, 1043, 1100, 1159, 1220, 1283, 1349, 1416, 1486, 1558, 1632, 1709, 1788, 1870, 1954, 2040, 2129, 2220, 2314, 2411, 2510, 2611, 2715, 2822, 2932, 3044, 3158, 3275, 3395, 3517, 3641, 3768, 3897, 4028, 4162, 4298, 4436, 4576, 4717, 4861, 5006, 5152, 5300, 5449, 5600, 5751, 5903, 6055, 6208, 6361, 6513, 6666, 6818, 6970, 7120, 7269, 7417, 7563, 7708, 7850, 7990, 8127, 8261, 8391, 8519, 8643, 8762, 8878, 8989, 9095, 9196, 9293, 9383, 9469, 9548, 9622, 9689, 9750, 9805, 9853, 9895, 9930, 9957, 9978, 9992, 9999, 10000, 9992, 9978, 9957, 9930, 9895, 9853, 9805, 9750, 9689, 9622, 9548, 9469, 9383, 9293, 9196, 9095, 8989, 8878, 8762, 8643, 8519, 8391, 8261, 8127, 7990, 7850, 7708, 7563, 7417, 7269, 7120, 6970, 6818, 6666, 6513, 6361, 6208, 6055, 5903, 5751, 5600, 5449, 5300, 5152, 5006, 4861, 4717, 4576, 4436, 4298, 4162, 4028, 3897, 3768, 3641, 3517, 3395, 3275, 3158, 3044, 2932, 2822, 2715, 2611, 2510, 2411, 2314, 2220, 2129, 2040, 1954, 1870, 1788, 1709, 1632, 1558, 1486, 1416, 1349, 1283, 1220, 1159, 1100, 1043, 988, 935, 883, 834, 786, 741, 696, 654, 613, 574, 537, 501, 466, 433, 402, 372, 343, 315, 289, 264, 241, 218, 197, 177, 159, 141, 124, 109, 94, 81, 69, 58, 47, 38, 30, 23, 17, 11, 7, 4, 1, 0, 0
-};
-
-uint16_t table_pos = 0;
-uint8_t active_led = 0;
-
-static THD_WORKING_AREA(waBreatheThread, 128);
-static THD_FUNCTION(BreatheThread, arg) {
- (void)arg;
- chRegSetThreadName("breatheThread");
-
- while(true) {
- switch(active_led) {
- case 0: /* red LED */
- pwmEnableChannel(&PWM_DRIVER, 2, PWM_PERCENTAGE_TO_WIDTH(&PWM_DRIVER,breathing_table[table_pos]));
- break;
- case 1: /* green LED */
- pwmEnableChannel(&PWM_DRIVER, 4, PWM_PERCENTAGE_TO_WIDTH(&PWM_DRIVER,breathing_table[table_pos]));
- break;
- case 2: /* blue LED */
- pwmEnableChannel(&PWM_DRIVER, 5, PWM_PERCENTAGE_TO_WIDTH(&PWM_DRIVER,breathing_table[table_pos]));
- break;
- }
- table_pos++;
- if(table_pos == TABLE_SIZE) {
- table_pos = 0;
- active_led = (active_led+1) % 3;
- }
- chThdSleepMilliseconds(BREATHE_STEP);
- }
-}
-
-/*
- * Check button thread
- */
-static THD_WORKING_AREA(waButtonThread, 128);
-static THD_FUNCTION(ButtonThread, arg) {
- (void)arg;
- chRegSetThreadName("buttonThread");
-
- uint8_t newstate, state = PAL_HIGH;
-
- while(true) {
- if(palReadLine(LINE_BUTTON) != state) {
- chThdSleepMilliseconds(20); /* debounce */
- newstate = palReadLine(LINE_BUTTON);
- if(newstate != state) {
- state = newstate;
- if(newstate == PAL_LOW) {
- table_pos = (table_pos + 120)%TABLE_SIZE;
- }
- }
- }
- chThdSleepMilliseconds(20);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Turn off the RGB LED.
- */
- palSetLine(LINE_LED_RED); /* red */
- palSetLine(LINE_LED_GREEN); /* green */
- palSetLine(LINE_LED_BLUE); /* blue */
-
- /*
- * Create the button check thread.
- */
- chThdCreateStatic(waButtonThread, sizeof(waButtonThread), NORMALPRIO, ButtonThread, NULL);
-
- /*
- * Start the PWM driver, route TPM0 output to PTE29, PTE31, PTD5.
- * Enable channels now to avoid a blink later.
- */
- pwmStart(&PWM_DRIVER, &pwmcfg);
- palSetLineMode(LINE_LED_RED, PAL_MODE_ALTERNATIVE_3);
- palSetLineMode(LINE_LED_GREEN, PAL_MODE_ALTERNATIVE_3);
- palSetLineMode(LINE_LED_BLUE, PAL_MODE_ALTERNATIVE_4);
- pwmEnableChannel(&PWM_DRIVER, 2, 0);
- pwmEnableChannel(&PWM_DRIVER, 4, 0);
- pwmEnableChannel(&PWM_DRIVER, 5, 0);
-
- /*
- * Create the breathe thread.
- */
- chThdCreateStatic(waBreatheThread, sizeof(waBreatheThread), NORMALPRIO, BreatheThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing except
- * sleeping in a loop and check the button state, when the button is
- * pressed ... nothing happens.
- */
- while(true) {
- chThdSleepMilliseconds(500);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/mcuconf.h
deleted file mode 100644
index 3622a23..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/mcuconf.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 1
-/* PEE mode - 48MHz system clock driven by (8 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-#if 0
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_USB_USB0_IRQ_PRIORITY 2
-
-/*
- * PWM driver settings.
- */
-#define KINETIS_PWM_USE_TPM0 TRUE
-
-#endif /* _MCUCONF_H_ */ \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/Makefile
deleted file mode 100644
index 3cf61b4..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/Makefile
+++ /dev/null
@@ -1,220 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/FREESCALE_FREEDOM_KL26Z/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-include $(CHIBIOS)/os/hal/lib/streams/streams.mk
-include $(CHIBIOS)/os/various/shell/shell.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL2xZ128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(STREAMSSRC) \
- $(SHELLSRC) \
- main.c \
- usbcfg.c \
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(STREAMSINC) $(SHELLINC)
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chconf.h
deleted file mode 100644
index c7ed185..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL26Z/USB_SERIAL/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chtsy.inf b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chtsy.inf
deleted file mode 100644
index 4ae7d0b..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chtsy.inf
+++ /dev/null
@@ -1,106 +0,0 @@
-;************************************************************
-; Windows USB CDC ACM Setup File
-; Copyright (c) 2000 Microsoft Corporation
-
-
-[Version]
-Signature="$Windows NT$"
-Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%MFGNAME%
-LayoutFile=layout.inf
-CatalogFile=%MFGFILENAME%.cat
-DriverVer=11/15/2007,5.1.2600.0
-
-[Manufacturer]
-%MFGNAME%=DeviceList, NTamd64
-
-[DestinationDirs]
-DefaultDestDir=12
-
-
-;------------------------------------------------------------------------------
-; Windows 2000/XP/Vista-32bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.nt]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.nt
-AddReg=DriverInstall.nt.AddReg
-
-[DriverCopyFiles.nt]
-usbser.sys,,,0x20
-
-[DriverInstall.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.nt.Services]
-AddService=usbser, 0x00000002, DriverService.nt
-
-[DriverService.nt]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-;------------------------------------------------------------------------------
-; Vista-64bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.NTamd64]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.NTamd64
-AddReg=DriverInstall.NTamd64.AddReg
-
-[DriverCopyFiles.NTamd64]
-%DRIVERFILENAME%.sys,,,0x20
-
-[DriverInstall.NTamd64.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.NTamd64.Services]
-AddService=usbser, 0x00000002, DriverService.NTamd64
-
-[DriverService.NTamd64]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-
-;------------------------------------------------------------------------------
-; Vendor and Product ID Definitions
-;------------------------------------------------------------------------------
-; When developing your USB device, the VID and PID used in the PC side
-; application program and the firmware on the microcontroller must match.
-; Modify the below line to use your VID and PID. Use the format as shown below.
-; Note: One INF file can be used for multiple devices with different VID and PIDs.
-; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
-;------------------------------------------------------------------------------
-[SourceDisksFiles]
-[SourceDisksNames]
-[DeviceList]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-[DeviceList.NTamd64]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-
-;------------------------------------------------------------------------------
-; String Definitions
-;------------------------------------------------------------------------------
-;Modify these strings to customize your device
-;------------------------------------------------------------------------------
-[Strings]
-MFGFILENAME="ChTsy"
-DRIVERFILENAME ="usbser"
-MFGNAME="NopeLab"
-INSTDISK="ChTsy CDC driver"
-DESCRIPTION="ChTsy CDC driver"
-SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/halconf.h
deleted file mode 100644
index a299d39..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file FRDM-KL26Z/USB_SERIAL/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB TRUE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/main.c
deleted file mode 100644
index 897dc58..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/main.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <stdio.h>
-#include <string.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#include "shell.h"
-#include "chprintf.h"
-
-#include "usbcfg.h"
-
-/*===========================================================================*/
-/* Command line related. */
-/*===========================================================================*/
-
-#define SHELL_WA_SIZE THD_WORKING_AREA_SIZE(2048)
-
-/* Can be measured using dd if=/dev/xxxx of=/dev/null bs=512 count=10000.*/
-static void cmd_write(BaseSequentialStream *chp, int argc, char *argv[]) {
- static uint8_t buf[] =
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef";
-
- (void)argv;
- if (argc > 0) {
- chprintf(chp, "Usage: write\r\n");
- return;
- }
-
- while (chnGetTimeout((BaseChannel *)chp, TIME_IMMEDIATE) == Q_TIMEOUT) {
-#if 1
- /* Writing in channel mode.*/
- chnWrite(&SDU1, buf, sizeof buf - 1);
-#else
- /* Writing in buffer mode.*/
- (void) obqGetEmptyBufferTimeout(&SDU1.obqueue, TIME_INFINITE);
- memcpy(SDU1.obqueue.ptr, buf, SERIAL_USB_BUFFERS_SIZE);
- obqPostFullBuffer(&SDU1.obqueue, SERIAL_USB_BUFFERS_SIZE);
-#endif
- }
- chprintf(chp, "\r\n\nstopped\r\n");
-}
-
-static const ShellCommand commands[] = {
- {"write", cmd_write},
- {NULL, NULL}
-};
-
-static const ShellConfig shell_cfg1 = {
- (BaseSequentialStream *)&SDU1,
- commands
-};
-
-/*===========================================================================*/
-/* Generic code. */
-/*===========================================================================*/
-
-/*
- * Red LED blinker thread, times are in milliseconds.
- */
-static THD_WORKING_AREA(waThread1, 128);
-static THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
- chRegSetThreadName("blinker");
- while (true) {
- systime_t time;
-
- time = serusbcfg.usbp->state == USB_ACTIVE ? 250 : 500;
- palClearPad(GPIO_LED_RED, PIN_LED_RED);
- chThdSleepMilliseconds(time);
- palSetPad(GPIO_LED_RED, PIN_LED_RED);
- chThdSleepMilliseconds(time);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Turn off the RGB LED.
- */
- palSetPad(GPIO_LED_RED, PIN_LED_RED); /* red */
- palSetPad(GPIO_LED_GREEN, PIN_LED_GREEN); /* green */
- palSetPad(GPIO_LED_BLUE, PIN_LED_BLUE); /* blue */
-
- /*
- * Initializes a serial-over-USB CDC driver.
- */
- sduObjectInit(&SDU1);
- sduStart(&SDU1, &serusbcfg);
-
- /*
- * Activates the USB driver and then the USB bus pull-up on D+.
- * Note, a delay is inserted in order to not have to disconnect the cable
- * after a reset.
- */
- usbDisconnectBus(serusbcfg.usbp);
- chThdSleepMilliseconds(1500);
- usbStart(serusbcfg.usbp, &usbcfg);
- usbConnectBus(serusbcfg.usbp);
-
- /*
- * Shell manager initialization.
- */
- shellInit();
-
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- /*
- * Normal main() thread activity, spawning shells.
- */
- while (true) {
- if (SDU1.config->usbp->state == USB_ACTIVE) {
- thread_t *shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE,
- "shell", NORMALPRIO + 1,
- shellThread, (void *)&shell_cfg1);
- chThdWait(shelltp); /* Waiting termination. */
- }
- chThdSleepMilliseconds(1000);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/mcuconf.h
deleted file mode 100644
index 42c9361..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/mcuconf.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 0
-/* PEE mode - 48MHz system clock driven by (8 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-#if 1
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_USB_USB0_IRQ_PRIORITY 2
-
-#endif /* _MCUCONF_H_ */ \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.c b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.c
deleted file mode 100644
index 3093640..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.c
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "hal.h"
-
-/* Virtual serial port over USB.*/
-SerialUSBDriver SDU1;
-
-/*
- * Endpoints to be used for USBD1.
- */
-#define USBD1_DATA_REQUEST_EP 1
-#define USBD1_DATA_AVAILABLE_EP 1
-#define USBD1_INTERRUPT_REQUEST_EP 2
-
-/*
- * USB Device Descriptor.
- */
-static const uint8_t vcom_device_descriptor_data[18] = {
- USB_DESC_DEVICE (0x0110, /* bcdUSB (1.1). */
- 0x02, /* bDeviceClass (CDC). */
- 0x00, /* bDeviceSubClass. */
- 0x00, /* bDeviceProtocol. */
- 0x40, /* bMaxPacketSize. */
- 0x0179, /* idVendor. */
- 0x0001, /* idProduct. */
- 0x0200, /* bcdDevice. */
- 1, /* iManufacturer. */
- 2, /* iProduct. */
- 3, /* iSerialNumber. */
- 1) /* bNumConfigurations. */
-};
-
-/*
- * Device Descriptor wrapper.
- */
-static const USBDescriptor vcom_device_descriptor = {
- sizeof vcom_device_descriptor_data,
- vcom_device_descriptor_data
-};
-
-/* Configuration Descriptor tree for a CDC.*/
-static const uint8_t vcom_configuration_descriptor_data[67] = {
- /* Configuration Descriptor.*/
- USB_DESC_CONFIGURATION(67, /* wTotalLength. */
- 0x02, /* bNumInterfaces. */
- 0x01, /* bConfigurationValue. */
- 0, /* iConfiguration. */
- 0xC0, /* bmAttributes (self powered). */
- 50), /* bMaxPower (100mA). */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x00, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x01, /* bNumEndpoints. */
- 0x02, /* bInterfaceClass (Communications
- Interface Class, CDC section
- 4.2). */
- 0x02, /* bInterfaceSubClass (Abstract
- Control Model, CDC section 4.3). */
- 0x01, /* bInterfaceProtocol (AT commands,
- CDC section 4.4). */
- 0), /* iInterface. */
- /* Header Functional Descriptor (CDC section 5.2.3).*/
- USB_DESC_BYTE (5), /* bLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x00), /* bDescriptorSubtype (Header
- Functional Descriptor. */
- USB_DESC_BCD (0x0110), /* bcdCDC. */
- /* Call Management Functional Descriptor. */
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x01), /* bDescriptorSubtype (Call Management
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bmCapabilities (D0+D1). */
- USB_DESC_BYTE (0x01), /* bDataInterface. */
- /* ACM Functional Descriptor.*/
- USB_DESC_BYTE (4), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x02), /* bDescriptorSubtype (Abstract
- Control Management Descriptor). */
- USB_DESC_BYTE (0x02), /* bmCapabilities. */
- /* Union Functional Descriptor.*/
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x06), /* bDescriptorSubtype (Union
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bMasterInterface (Communication
- Class Interface). */
- USB_DESC_BYTE (0x01), /* bSlaveInterface0 (Data Class
- Interface). */
- /* Endpoint 2 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_INTERRUPT_REQUEST_EP|0x80,
- 0x03, /* bmAttributes (Interrupt). */
- 0x0008, /* wMaxPacketSize. */
- 0xFF), /* bInterval. */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x01, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x02, /* bNumEndpoints. */
- 0x0A, /* bInterfaceClass (Data Class
- Interface, CDC section 4.5). */
- 0x00, /* bInterfaceSubClass (CDC section
- 4.6). */
- 0x00, /* bInterfaceProtocol (CDC section
- 4.7). */
- 0x00), /* iInterface. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00), /* bInterval. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00) /* bInterval. */
-};
-
-/*
- * Configuration Descriptor wrapper.
- */
-static const USBDescriptor vcom_configuration_descriptor = {
- sizeof vcom_configuration_descriptor_data,
- vcom_configuration_descriptor_data
-};
-
-/*
- * U.S. English language identifier.
- */
-static const uint8_t vcom_string0[] = {
- USB_DESC_BYTE(4), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- USB_DESC_WORD(0x0409) /* wLANGID (U.S. English). */
-};
-
-/*
- * Vendor string.
- */
-static const uint8_t vcom_string1[] = {
- USB_DESC_BYTE(2+2*7), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'N', 0, 'o', 0, 'p', 0, 'e', 0, 'L', 0, 'a', 0, 'b', 0,
-};
-
-/*
- * Device Description string.
- */
-static const uint8_t vcom_string2[] = {
- USB_DESC_BYTE(2+5*2), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'C', 0, 'h', 0, 'T', 0, 's', 0, 'y', 0,
-};
-
-/*
- * Serial Number string.
- */
-static const uint8_t vcom_string3[] = {
- USB_DESC_BYTE(8), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- '0' + CH_KERNEL_MAJOR, 0,
- '0' + CH_KERNEL_MINOR, 0,
- '0' + CH_KERNEL_PATCH, 0
-};
-
-/*
- * Strings wrappers array.
- */
-static const USBDescriptor vcom_strings[] = {
- {sizeof vcom_string0, vcom_string0},
- {sizeof vcom_string1, vcom_string1},
- {sizeof vcom_string2, vcom_string2},
- {sizeof vcom_string3, vcom_string3}
-};
-
-/*
- * Handles the GET_DESCRIPTOR callback. All required descriptors must be
- * handled here.
- */
-static const USBDescriptor *get_descriptor(USBDriver *usbp,
- uint8_t dtype,
- uint8_t dindex,
- uint16_t lang) {
- (void)usbp;
- (void)lang;
- switch (dtype) {
- case USB_DESCRIPTOR_DEVICE:
- return &vcom_device_descriptor;
- case USB_DESCRIPTOR_CONFIGURATION:
- return &vcom_configuration_descriptor;
- case USB_DESCRIPTOR_STRING:
- if (dindex < 4)
- return &vcom_strings[dindex];
- }
- return NULL;
-}
-
-/**
- * @brief IN EP1 state.
- */
-static USBInEndpointState ep1instate;
-
-/**
- * @brief OUT EP1 state.
- */
-static USBOutEndpointState ep1outstate;
-
-/**
- * @brief EP1 initialization structure (both IN and OUT).
- */
-static const USBEndpointConfig ep1config = {
- USB_EP_MODE_TYPE_BULK,
- NULL,
- sduDataTransmitted,
- sduDataReceived,
- 0x0040,
- 0x0040,
- &ep1instate,
- &ep1outstate,
- 2,
- NULL
-};
-
-/**
- * @brief IN EP2 state.
- */
-static USBInEndpointState ep2instate;
-
-/**
- * @brief EP2 initialization structure (IN only).
- */
-static const USBEndpointConfig ep2config = {
- USB_EP_MODE_TYPE_INTR,
- NULL,
- sduInterruptTransmitted,
- NULL,
- 0x0010,
- 0x0000,
- &ep2instate,
- NULL,
- 1,
- NULL
-};
-
-/*
- * Handles the USB driver global events.
- */
-static void usb_event(USBDriver *usbp, usbevent_t event) {
- extern SerialUSBDriver SDU1;
-
- switch (event) {
- case USB_EVENT_RESET:
- return;
- case USB_EVENT_ADDRESS:
- return;
- case USB_EVENT_CONFIGURED:
- chSysLockFromISR();
-
- /* Enables the endpoints specified into the configuration.
- Note, this callback is invoked from an ISR so I-Class functions
- must be used.*/
- usbInitEndpointI(usbp, USBD1_DATA_REQUEST_EP, &ep1config);
- usbInitEndpointI(usbp, USBD1_INTERRUPT_REQUEST_EP, &ep2config);
-
- /* Resetting the state of the CDC subsystem.*/
- sduConfigureHookI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_SUSPEND:
- chSysLockFromISR();
-
- /* Disconnection event on suspend.*/
- sduDisconnectI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_WAKEUP:
- return;
- case USB_EVENT_STALLED:
- return;
- }
- return;
-}
-
-/*
- * Handles the USB driver global events.
- */
-static void sof_handler(USBDriver *usbp) {
-
- (void)usbp;
-
- osalSysLockFromISR();
- sduSOFHookI(&SDU1);
- osalSysUnlockFromISR();
-}
-
-/*
- * USB driver configuration.
- */
-const USBConfig usbcfg = {
- usb_event,
- get_descriptor,
- sduRequestsHook,
- sof_handler
-};
-
-/*
- * Serial over USB driver configuration.
- */
-const SerialUSBConfig serusbcfg = {
- &USBD1,
- USBD1_DATA_REQUEST_EP,
- USBD1_DATA_AVAILABLE_EP,
- USBD1_INTERRUPT_REQUEST_EP
-};
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.h b/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.h
deleted file mode 100644
index 5aa501e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _USBCFG_H_
-#define _USBCFG_H_
-
-extern const USBConfig usbcfg;
-extern SerialUSBConfig serusbcfg;
-extern SerialUSBDriver SDU1;
-
-#endif /* _USBCFG_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/Makefile
deleted file mode 100644
index 16025f3..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/Makefile
+++ /dev/null
@@ -1,213 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include ./board/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL27Z256.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.c b/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.c
deleted file mode 100644
index 0f34452..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#if HAL_USE_PAL || defined(__DOXYGEN__)
-/**
- * @brief PAL setup.
- * @details Digital I/O ports static configuration as defined in @p board.h.
- * This variable is used by the HAL when initializing the PAL driver.
- */
-const PALConfig pal_default_config =
-{
- .ports = {
- {
- /*
- * PORTA setup.
- *
- * on pads: PTA1, PTA2, PTA5, PTA18, PTA19
- *
- * PTA0/3 SWD (default SWD, ALT_7: SWD, ALT_1: PTA0/3)
- * PTA4 NMI button (default NMI_b, ALT_1: PTA4)
- * PTA20 RESET button (default RESET, ALT_7: RESET, ALT_1: PTA20)
- */
- .port = IOPORT1,
- .pads = {
- PAL_MODE_ALTERNATIVE_7, PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP,
- PAL_MODE_ALTERNATIVE_7, PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_INPUT_ANALOG, PAL_MODE_INPUT_ANALOG, PAL_MODE_ALTERNATIVE_7,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- },
- },
- {
- /*
- * PORTB setup.
- *
- * on pads: PTB0, PTB1
- * LED: PTB18
- */
- .port = IOPORT2,
- .pads = {
- PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_OUTPUT_PUSHPULL, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- },
- },
- {
- /*
- * PORTC setup.
- *
- * on pads: PTC1, PTC2, PTC3, PTC6, PTC7, PTC8, PTC9
- */
- .port = IOPORT3,
- .pads = {
- PAL_MODE_UNCONNECTED, PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP,
- PAL_MODE_INPUT_PULLUP, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP,
- PAL_MODE_INPUT_PULLUP, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- },
- },
- {
- /*
- * PORTD setup.
- *
- * on pads: PTD0 - PTD7
- */
- .port = IOPORT4,
- .pads = {
- PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP,
- PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP,
- PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- },
- },
- {
- /*
- * PORTE setup.
- *
- * on pads: PTE0, PTE1, PTE24, PTE25, PTE29, PTE30
- */
- .port = IOPORT5,
- .pads = {
- PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_OUTPUT_PUSHPULL,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED,
- PAL_MODE_INPUT_PULLUP, PAL_MODE_INPUT_PULLUP, PAL_MODE_UNCONNECTED,
- PAL_MODE_UNCONNECTED, PAL_MODE_UNCONNECTED, PAL_MODE_INPUT_PULLUP,
- PAL_MODE_INPUT_PULLUP, PAL_MODE_UNCONNECTED,
- },
- },
- },
-};
-#endif
-
-/**
- * @brief Early initialization code.
- * @details This initialization must be performed just after stack setup
- * and before any other initialization.
- */
-void __early_init(void) {
-
- kl2x_clock_init();
-}
-
-/**
- * @brief Board-specific initialization code.
- * @todo Add your board-specific code, if any.
- */
-void boardInit(void) {
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.h b/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.h
deleted file mode 100644
index 1c61915..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for a custom KL27Z breakout board.
- */
-
-/*
- * Board identifier.
- */
-#define BOARD_KL27Z_BREAKOUT
-#define BOARD_NAME "Custom KL27Z breakout"
-
-/*
- * MCU type
- */
-#define KL27Zxxx
-
-/*
- * Onboard features.
- */
-#define GPIO_LED IOPORT2
-#define PIN_LED 18
-#define GPIO_BUTTON IOPORT1
-#define PIN_BUTTON 4
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
- void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.mk b/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.mk
deleted file mode 100644
index 14102c4..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# List of all the board related files.
-BOARDSRC = ./board/board.c
-
-# Required include directories
-BOARDINC = ./board
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/chconf.h
deleted file mode 100644
index 41259a0..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/chconf.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file KL27Z/BLINK/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY TRUE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/flash_via_bldr.sh b/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/flash_via_bldr.sh
deleted file mode 100644
index 8b0f26f..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/flash_via_bldr.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-if [ -z `which blhost` ]; then
- echo "You'll need to get the 'blhost' utility from Freescale."
- echo 'http://www.freescale.com/products/arm-processors/kinetis-cortex-m/kinetis-symbols-footprints-and-models/kinetis-bootloader:KBOOT'
- exit 1
-fi
-
-if [ ! -f build/ch.bin ]; then
- echo "Perhaps you should compile the firmware first."
- exit 2
-fi
-
-if [[ `blhost -u -- get-property 1` == *"cannot open USB HID device"* ]]; then
- echo "Perhaps you should put the device in the bootloader mode first."
- exit 3
-fi
-
-echo "-> Erasing flash..."
-blhost -u -- flash-erase-all
-
-echo "-> Flashing firmware..."
-blhost -u -- write-memory 0 build/ch.bin
-
-echo "-> Resetting MCU (allow 5 seconds for the firmware to start)..."
-blhost -u -- reset
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/halconf.h
deleted file mode 100644
index 2e0b28c..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/halconf.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file KL27Z/BLINK/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/main.c
deleted file mode 100644
index 7af54b6..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/main.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- ChibiOS/RT KL27 example - Copyright (C) 2015 flabbergast
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-/*
- * Blink thread
- */
-static THD_WORKING_AREA(waBlinkThread, 128);
-static THD_FUNCTION(BlinkThread, arg) {
- (void)arg;
-
- while(TRUE) {
- palTogglePad(GPIO_LED, PIN_LED);
- chThdSleepMilliseconds(700);
- }
-}
-
-/*
- * Check button thread
- */
-static THD_WORKING_AREA(waButtonThread, 128);
-static THD_FUNCTION(ButtonThread, arg) {
- (void)arg;
- chRegSetThreadName("buttonThread");
-
- uint8_t newstate, state = PAL_HIGH;
-
- while(true) {
- if(palReadPad(GPIO_BUTTON, PIN_BUTTON) != state) {
- chThdSleepMilliseconds(20); /* debounce */
- newstate = palReadPad(GPIO_BUTTON, PIN_BUTTON);
- if(newstate != state) {
- state = newstate;
- if(newstate == PAL_LOW) {
- // palTogglePad(GPIO_LED, PIN_LED);
- /* jump to bootloader */
- /* force boot from ROM */
- RCM->FM = RCM_FM_FORCEROM(2);
- /* request RESET */
- #define SCB_AIRCR_VECTKEY_WRITEMAGIC 0x05FA0000
- SCB->AIRCR = SCB_AIRCR_VECTKEY_WRITEMAGIC | SCB_AIRCR_SYSRESETREQ_Msk;
- }
- }
- }
- chThdSleepMilliseconds(20);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Create the blink thread.
- */
- chThdCreateStatic(waBlinkThread, sizeof(waBlinkThread), NORMALPRIO, BlinkThread, NULL);
-
- /*
- * Create the button check thread.
- */
- chThdCreateStatic(waButtonThread, sizeof(waButtonThread), NORMALPRIO, ButtonThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while(TRUE) {
- chThdSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/mcuconf.h
deleted file mode 100644
index 7048564..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/mcuconf.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 1
-/* High-frequency internal RC, 48MHz, possible USB clock recovery */
-#define KINETIS_MCGLITE_MODE KINETIS_MCGLITE_MODE_HIRC
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#define KINETIS_CLKDIV1_OUTDIV1 1
-#endif
-
-#if 0
-/* Low-frequency internal RC, 8 MHz mode */
-#define KINETIS_MCGLITE_MODE KINETIS_MCGLITE_MODE_LIRC8M
-#define KINETIS_SYSCLK_FREQUENCY 8000000UL
-#define KINETIS_CLKDIV1_OUTDIV1 1
-#endif
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_USB_USB0_IRQ_PRIORITY 2
-
-/*
- * Kinetis FOPT configuration byte
- */
-/* for KL27: */
-// #define KINETIS_NV_FOPT_BYTE 0x3D
-/* NV_FOPT: bit7-6/BOOTSRC_SEL=0b00 (11=from ROM; 00=from FLASH)
- bit5/FAST_INIT=1, bit4/LPBOOT1=1,
- bit3/RESET_PIN_CFG=1, bit2/NMI_DIS=1,
- bit1/BOOTPIN_OPT=0, bit0/LPBOOT0=1 */
-/* BOOTPIN_OPT: 1=boot depends on BOOTSRC_SEL
- 0=boot samples BOOTCFG0=NMI pin */
-/* Boot sequence, page 88 of manual:
- * - If the NMI/BOOTCFG0 input is high or the NMI function is disabled in FTFA_FOPT, the CPU begins execution at the PC location.
- * - If the NMI/BOOTCFG0 input is low, the NMI function is enabled in FTFA_FOPT, and FTFA_FOPT[BOOTPIN_OPT] = 1, this results in an NMI interrupt. The processor executes an Exception Entry and reads the NMI interrupt handler address from vector-table offset 8. The CPU begins execution at the NMI interrupt handler.
- * - When FTFA_FOPT[BOOTPIN_OPT] = 0, it forces boot from ROM if NMI/BOOTCFG0 pin set to 0.
- *
- * Observed behaviour:
- * - when BOOTPIN_OPT=0, BOOTSRC_SEL still matters:
- * - if 0b11 (from ROM), it still boots from ROM, even if BOOTCFG0 pin
- * is high/floating, but leaves ROM and runs user app after
- * 5 seconds delay.
- * - if 0b00 (from FLASH), reset/powerup jumps to user app unless
- * BOOTCFG0 pin is asserted.
- * - in any case, reset when in bootloader induces the 5 second delay
- * before starting the user app.
- *
- */
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/Makefile
deleted file mode 100644
index 884d20e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/Makefile
+++ /dev/null
@@ -1,222 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x5.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/MCHCK_K20/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-# Use BLDR4 for a 4k bootloader, BLDR3 for a 3k bootloader
-LDSCRIPT= $(STARTUPLD)/MK20DX128BLDR4.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-# VTOR moved to after the bootloader; use 0x1000 for a 4k bootloader,
-# 0xc00 for a 3k bootloader
-UDEFS = -DCORTEX_VTOR_INIT=0x00001000
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/chconf.h
deleted file mode 100644
index b2448a9..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file MCHCK/BOOTLOADER/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY TRUE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/halconf.h
deleted file mode 100644
index ef54a5d..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/halconf.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file MCHCK/BOOTLOADER/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/main.c
deleted file mode 100644
index a3729b7..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/main.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-#define BTN_GPIO TEENSY_PIN2_IOPORT
-#define BTN_PIN TEENSY_PIN2
-
-/*
- * Jump to bootloader on MCHCK.
- */
-#define SCB_AIRCR_VECTKEY_WRITEMAGIC 0x05FA0000
-const uint8_t sys_reset_to_loader_magic[] = "\xff\x00\x7fRESET TO LOADER\x7f\x00\xff";
-
-void jump_to_bootloader(void) {
- __builtin_memcpy((void *)VBAT, (const void *)sys_reset_to_loader_magic, sizeof(sys_reset_to_loader_magic));
- // request reset
- SCB->AIRCR = SCB_AIRCR_VECTKEY_WRITEMAGIC | SCB_AIRCR_SYSRESETREQ_Msk;
-}
-
-/*
- * Blink thread.
- */
-
-static THD_WORKING_AREA(waBlinkThread, 128);
-static THD_FUNCTION(BlinkThread, arg) {
- (void)arg;
- uint8_t i;
-
- // while(TRUE) {
- for(i=0; i<10; i++) {
- palTogglePad(GPIOB, GPIOB_LED);
- chThdSleepMilliseconds(700);
- }
- jump_to_bootloader();
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Create the blink thread.
- */
- chThdCreateStatic(waBlinkThread, sizeof(waBlinkThread), NORMALPRIO, BlinkThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while(TRUE) {
- chThdSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/mcuconf.h
deleted file mode 100644
index 6b69edb..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/mcuconf.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1
-#define KINETIS_CLKDIV1_OUTDIV2 1
-#define KINETIS_CLKDIV1_OUTDIV4 2
-#define KINETIS_BUSCLK_FREQUENCY KINETIS_SYSCLK_FREQUENCY
-#define KINETIS_FLASHCLK_FREQUENCY KINETIS_SYSCLK_FREQUENCY/2
-
-/*
- * PWM driver system settings.
- */
-#define KINETIS_PWM_USE_FTM0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/Makefile
deleted file mode 100644
index 884d20e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/Makefile
+++ /dev/null
@@ -1,222 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x5.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/MCHCK_K20/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-# Use BLDR4 for a 4k bootloader, BLDR3 for a 3k bootloader
-LDSCRIPT= $(STARTUPLD)/MK20DX128BLDR4.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-# VTOR moved to after the bootloader; use 0x1000 for a 4k bootloader,
-# 0xc00 for a 3k bootloader
-UDEFS = -DCORTEX_VTOR_INIT=0x00001000
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/README.md b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/README.md
deleted file mode 100644
index 6367722..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# "Soft" PWM demo
-
-The PWM in this demo is "soft", meaning that it does use a hardware timer to run, but the output is not directly routed to a pin; a callback functions which turn a LED on and off are used instead.
-
-## Notes
-
-The brightness percentages it goes only up to 9900 (99%) instead of 10000 (100%); otherwise there is a noticeable blink in the top of the cycle. The reason is that the on/off callback functions take too long to execute for this kind of (relatively fast) timer. Likewise, '0' (0%) in the cycle actually means that the LED doesn't get turned off, because the channel notification function that turns the LED off doesn't get called. So in a setup like this one, '1' should be the minimum; although it does mean that the LED is never fully off.
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/chconf.h
deleted file mode 100644
index 034c6cc..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file MCHCK/PWM/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/halconf.h
deleted file mode 100644
index f691656..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file MCHCK/PWM/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/main.c
deleted file mode 100644
index f92512e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/main.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-#define PWM_DRIVER PWMD1
-
-static void pwmpcb(PWMDriver *pwmp) {
- (void)pwmp;
- palSetLine(LINE_LED);
-}
-
-static void pwmc0cb(PWMDriver *pwmp) {
- (void)pwmp;
- palClearLine(LINE_LED);
-}
-
-static PWMConfig pwmcfg = {
- 24000000, /* 24MHz PWM clock frequency. */
- 12000, /* Initial PWM period 1ms */
- pwmpcb,
- {
- {PWM_OUTPUT_DISABLED, pwmc0cb},
- {PWM_OUTPUT_DISABLED, NULL},
- },
-};
-
-/* Breathing Sleep LED brighness(PWM On period) table
- *
- * http://www.wolframalpha.com/input/?i=%28sin%28+x%2F64*pi%29**8+*+255%2C+x%3D0+to+63
- * (0..63).each {|x| p ((sin(x/64.0*PI)**8)*255).to_i }
- */
-/* ruby -e "a = ((0..255).map{|x| Math.exp(Math.cos(Math::PI+(2*x*(Math::PI)/255)))-Math.exp(-1) }); m = a.max; a.map\!{|x| (9900*x/m).to_i+1}; p a" */
-#define BREATHE_STEP 16 /* ms; = 4000ms/TABLE_SIZE */
-#define TABLE_SIZE 256
-static const uint16_t breathing_table[TABLE_SIZE] = {
- 1, 1, 2, 5, 8, 12, 17, 24, 31, 39, 48, 58, 69, 81, 95, 109, 124, 140, 158, 177, 196, 217, 239, 263, 287, 313, 340, 369, 399, 430, 463, 497, 532, 570, 608, 649, 691, 734, 779, 827, 875, 926, 979, 1033, 1090, 1148, 1209, 1271, 1336, 1403, 1472, 1543, 1617, 1693, 1771, 1852, 1935, 2021, 2109, 2199, 2292, 2387, 2486, 2586, 2689, 2795, 2903, 3014, 3127, 3243, 3362, 3482, 3606, 3731, 3859, 3989, 4122, 4256, 4392, 4531, 4671, 4813, 4957, 5102, 5248, 5396, 5545, 5694, 5845, 5995, 6147, 6298, 6449, 6600, 6751, 6901, 7050, 7198, 7344, 7489, 7632, 7772, 7911, 8046, 8179, 8309, 8435, 8557, 8676, 8790, 8900, 9005, 9105, 9201, 9291, 9375, 9454, 9527, 9593, 9654, 9708, 9756, 9797, 9831, 9859, 9880, 9894, 9900, 9901, 9894, 9880, 9859, 9831, 9797, 9756, 9708, 9654, 9593, 9527, 9454, 9375, 9291, 9201, 9105, 9005, 8900, 8790, 8676, 8557, 8435, 8309, 8179, 8046, 7911, 7772, 7632, 7489, 7344, 7198, 7050, 6901, 6751, 6600, 6449, 6298, 6147, 5995, 5845, 5694, 5545, 5396, 5248, 5102, 4957, 4813, 4671, 4531, 4392, 4256, 4122, 3989, 3859, 3731, 3606, 3482, 3362, 3243, 3127, 3014, 2903, 2795, 2689, 2586, 2486, 2387, 2292, 2199, 2109, 2021, 1935, 1852, 1771, 1693, 1617, 1543, 1472, 1403, 1336, 1271, 1209, 1148, 1090, 1033, 979, 926, 875, 827, 779, 734, 691, 649, 608, 570, 532, 497, 463, 430, 399, 369, 340, 313, 287, 263, 239, 217, 196, 177, 158, 140, 124, 109, 95, 81, 69, 58, 48, 39, 31, 24, 17, 12, 8, 5, 2, 1, 1
-};
-
-uint16_t table_pos = 0;
-
-static THD_WORKING_AREA(waBreatheThread, 128);
-static THD_FUNCTION(BreatheThread, arg) {
- (void)arg;
- chRegSetThreadName("breatheThread");
-
- while(!chThdShouldTerminateX()) {
- pwmEnableChannel(&PWM_DRIVER, 0, PWM_PERCENTAGE_TO_WIDTH(&PWM_DRIVER,breathing_table[table_pos]));
- table_pos = (table_pos+1) % TABLE_SIZE;
- chThdSleepMilliseconds(BREATHE_STEP);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Initialize the PWM driver.
- */
- pwmStart(&PWM_DRIVER, &pwmcfg);
- pwmEnablePeriodicNotification(&PWM_DRIVER);
-
- /*
- * Starts the PWM channel 0; turn the LED off.
- */
- pwmEnableChannel(&PWM_DRIVER, 0, PWM_PERCENTAGE_TO_WIDTH(&PWM_DRIVER, 0));
- pwmEnableChannelNotification(&PWM_DRIVER, 0); // MUST be before EnableChannel...
-
- /*
- * Create the breathe thread.
- */
- thread_t *breathe_thread_p;
- breathe_thread_p = chThdCreateStatic(waBreatheThread, sizeof(waBreatheThread), NORMALPRIO, BreatheThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (!chThdShouldTerminateX()) {
- chThdSleepMilliseconds(500);
- }
-
- chThdTerminate(breathe_thread_p);
- chThdSleepMilliseconds(2*BREATHE_STEP);
-
- /*
- * Disables channel 0 and stops the drivers.
- */
- pwmDisableChannel(&PWM_DRIVER, 0);
- pwmStop(&PWM_DRIVER);
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/mcuconf.h
deleted file mode 100644
index 6b69edb..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/mcuconf.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1
-#define KINETIS_CLKDIV1_OUTDIV2 1
-#define KINETIS_CLKDIV1_OUTDIV4 2
-#define KINETIS_BUSCLK_FREQUENCY KINETIS_SYSCLK_FREQUENCY
-#define KINETIS_FLASHCLK_FREQUENCY KINETIS_SYSCLK_FREQUENCY/2
-
-/*
- * PWM driver system settings.
- */
-#define KINETIS_PWM_USE_FTM0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/Makefile
deleted file mode 100644
index b4d1ef8..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/Makefile
+++ /dev/null
@@ -1,228 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x5.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/MCHCK_K20/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-include $(CHIBIOS)/os/hal/lib/streams/streams.mk
-include $(CHIBIOS)/os/various/shell/shell.mk
-
-# Define linker script file here
-# Use BLDR4 for a 4k bootloader, BLDR3 for a 3k bootloader
-LDSCRIPT= $(STARTUPLD)/MK20DX128BLDR4.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(STREAMSSRC) \
- $(SHELLSRC) \
- usbcfg.c \
- main.c \
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(STREAMSINC) $(SHELLINC)
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-# VTOR moved to after the bootloader; use 0x1000 for a 4k bootloader,
-# 0xc00 for a 3k bootloader
-UDEFS = -DCORTEX_VTOR_INIT=0x00001000
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chconf.h
deleted file mode 100644
index 7371b49..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chconf.h
+++ /dev/null
@@ -1,513 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file MCHCK/USB_SERIAL/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop. */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chtsy.inf b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chtsy.inf
deleted file mode 100644
index 4ae7d0b..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chtsy.inf
+++ /dev/null
@@ -1,106 +0,0 @@
-;************************************************************
-; Windows USB CDC ACM Setup File
-; Copyright (c) 2000 Microsoft Corporation
-
-
-[Version]
-Signature="$Windows NT$"
-Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%MFGNAME%
-LayoutFile=layout.inf
-CatalogFile=%MFGFILENAME%.cat
-DriverVer=11/15/2007,5.1.2600.0
-
-[Manufacturer]
-%MFGNAME%=DeviceList, NTamd64
-
-[DestinationDirs]
-DefaultDestDir=12
-
-
-;------------------------------------------------------------------------------
-; Windows 2000/XP/Vista-32bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.nt]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.nt
-AddReg=DriverInstall.nt.AddReg
-
-[DriverCopyFiles.nt]
-usbser.sys,,,0x20
-
-[DriverInstall.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.nt.Services]
-AddService=usbser, 0x00000002, DriverService.nt
-
-[DriverService.nt]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-;------------------------------------------------------------------------------
-; Vista-64bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.NTamd64]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.NTamd64
-AddReg=DriverInstall.NTamd64.AddReg
-
-[DriverCopyFiles.NTamd64]
-%DRIVERFILENAME%.sys,,,0x20
-
-[DriverInstall.NTamd64.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.NTamd64.Services]
-AddService=usbser, 0x00000002, DriverService.NTamd64
-
-[DriverService.NTamd64]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-
-;------------------------------------------------------------------------------
-; Vendor and Product ID Definitions
-;------------------------------------------------------------------------------
-; When developing your USB device, the VID and PID used in the PC side
-; application program and the firmware on the microcontroller must match.
-; Modify the below line to use your VID and PID. Use the format as shown below.
-; Note: One INF file can be used for multiple devices with different VID and PIDs.
-; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
-;------------------------------------------------------------------------------
-[SourceDisksFiles]
-[SourceDisksNames]
-[DeviceList]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-[DeviceList.NTamd64]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-
-;------------------------------------------------------------------------------
-; String Definitions
-;------------------------------------------------------------------------------
-;Modify these strings to customize your device
-;------------------------------------------------------------------------------
-[Strings]
-MFGFILENAME="ChTsy"
-DRIVERFILENAME ="usbser"
-MFGNAME="NopeLab"
-INSTDISK="ChTsy CDC driver"
-DESCRIPTION="ChTsy CDC driver"
-SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/halconf.h
deleted file mode 100644
index 466af01..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/halconf.h
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file MCHCK/USB_SERIAL/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB TRUE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*
- * @brief Enable debugging messages over SD1.
- *
- * @note Requires HAL_USE_SERIAL.
- */
-#if HAL_USE_SERIAL
-#define DEBUG_USB
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/main.c
deleted file mode 100644
index 56e02af..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/main.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <stdio.h>
-#include <string.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#include "shell.h"
-#include "chprintf.h"
-
-#include "usbcfg.h"
-
-/*===========================================================================*/
-/* Command line related. */
-/*===========================================================================*/
-
-#define SHELL_WA_SIZE THD_WORKING_AREA_SIZE(2048)
-
-/* Can be measured using dd if=/dev/xxxx of=/dev/null bs=512 count=10000.*/
-static void cmd_write(BaseSequentialStream *chp, int argc, char *argv[]) {
- static uint8_t buf[] =
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef";
-
- (void)argv;
- if (argc > 0) {
- chprintf(chp, "Usage: write\r\n");
- return;
- }
-
- while (chnGetTimeout((BaseChannel *)chp, TIME_IMMEDIATE) == Q_TIMEOUT) {
-#if 1
- /* Writing in channel mode.*/
- chnWrite(&SDU1, buf, sizeof buf - 1);
-#else
- /* Writing in buffer mode.*/
- (void) obqGetEmptyBufferTimeout(&SDU1.obqueue, TIME_INFINITE);
- memcpy(SDU1.obqueue.ptr, buf, SERIAL_USB_BUFFERS_SIZE);
- obqPostFullBuffer(&SDU1.obqueue, SERIAL_USB_BUFFERS_SIZE);
-#endif
- }
- chprintf(chp, "\r\n\nstopped\r\n");
-}
-
-static const ShellCommand commands[] = {
- {"write", cmd_write},
- {NULL, NULL}
-};
-
-static const ShellConfig shell_cfg1 = {
- (BaseSequentialStream *)&SDU1,
- commands
-};
-
-/*===========================================================================*/
-/* Generic code. */
-/*===========================================================================*/
-
-/*
- * Red LED blinker thread, times are in milliseconds.
- */
-static THD_WORKING_AREA(waThread1, 128);
-static THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
- chRegSetThreadName("blinker");
- while (true) {
- systime_t time;
-
- time = serusbcfg.usbp->state == USB_ACTIVE ? 250 : 500;
- palClearPad(GPIOB, GPIOB_LED);
- chThdSleepMilliseconds(time);
- palSetPad(GPIOB, GPIOB_LED);
- chThdSleepMilliseconds(time);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Initializes a serial-over-USB CDC driver.
- */
- sduObjectInit(&SDU1);
- sduStart(&SDU1, &serusbcfg);
-
- /*
- * Activates the USB driver and then the USB bus pull-up on D+.
- * Note, a delay is inserted in order to not have to disconnect the cable
- * after a reset.
- */
- usbDisconnectBus(serusbcfg.usbp);
- chThdSleepMilliseconds(1500);
- usbStart(serusbcfg.usbp, &usbcfg);
- usbConnectBus(serusbcfg.usbp);
-
- /*
- * Shell manager initialization.
- */
- shellInit();
-
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- /*
- * Normal main() thread activity, spawning shells.
- */
- while (true) {
- if (SDU1.config->usbp->state == USB_ACTIVE) {
- thread_t *shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE,
- "shell", NORMALPRIO + 1,
- shellThread, (void *)&shell_cfg1);
- chThdWait(shelltp); /* Waiting termination. */
- }
- chThdSleepMilliseconds(1000);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/mcuconf.h
deleted file mode 100644
index caf4228..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/mcuconf.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-
-#define KINETIS_NO_INIT FALSE
-
-/* FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1
-#define KINETIS_CLKDIV1_OUTDIV2 1
-#define KINETIS_CLKDIV1_OUTDIV4 2
-#define KINETIS_BUSCLK_FREQUENCY KINETIS_SYSCLK_FREQUENCY
-#define KINETIS_FLASHCLK_FREQUENCY KINETIS_SYSCLK_FREQUENCY/2
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-
-#endif /* _MCUCONF_H_ */ \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.c b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.c
deleted file mode 100644
index 3093640..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.c
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "hal.h"
-
-/* Virtual serial port over USB.*/
-SerialUSBDriver SDU1;
-
-/*
- * Endpoints to be used for USBD1.
- */
-#define USBD1_DATA_REQUEST_EP 1
-#define USBD1_DATA_AVAILABLE_EP 1
-#define USBD1_INTERRUPT_REQUEST_EP 2
-
-/*
- * USB Device Descriptor.
- */
-static const uint8_t vcom_device_descriptor_data[18] = {
- USB_DESC_DEVICE (0x0110, /* bcdUSB (1.1). */
- 0x02, /* bDeviceClass (CDC). */
- 0x00, /* bDeviceSubClass. */
- 0x00, /* bDeviceProtocol. */
- 0x40, /* bMaxPacketSize. */
- 0x0179, /* idVendor. */
- 0x0001, /* idProduct. */
- 0x0200, /* bcdDevice. */
- 1, /* iManufacturer. */
- 2, /* iProduct. */
- 3, /* iSerialNumber. */
- 1) /* bNumConfigurations. */
-};
-
-/*
- * Device Descriptor wrapper.
- */
-static const USBDescriptor vcom_device_descriptor = {
- sizeof vcom_device_descriptor_data,
- vcom_device_descriptor_data
-};
-
-/* Configuration Descriptor tree for a CDC.*/
-static const uint8_t vcom_configuration_descriptor_data[67] = {
- /* Configuration Descriptor.*/
- USB_DESC_CONFIGURATION(67, /* wTotalLength. */
- 0x02, /* bNumInterfaces. */
- 0x01, /* bConfigurationValue. */
- 0, /* iConfiguration. */
- 0xC0, /* bmAttributes (self powered). */
- 50), /* bMaxPower (100mA). */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x00, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x01, /* bNumEndpoints. */
- 0x02, /* bInterfaceClass (Communications
- Interface Class, CDC section
- 4.2). */
- 0x02, /* bInterfaceSubClass (Abstract
- Control Model, CDC section 4.3). */
- 0x01, /* bInterfaceProtocol (AT commands,
- CDC section 4.4). */
- 0), /* iInterface. */
- /* Header Functional Descriptor (CDC section 5.2.3).*/
- USB_DESC_BYTE (5), /* bLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x00), /* bDescriptorSubtype (Header
- Functional Descriptor. */
- USB_DESC_BCD (0x0110), /* bcdCDC. */
- /* Call Management Functional Descriptor. */
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x01), /* bDescriptorSubtype (Call Management
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bmCapabilities (D0+D1). */
- USB_DESC_BYTE (0x01), /* bDataInterface. */
- /* ACM Functional Descriptor.*/
- USB_DESC_BYTE (4), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x02), /* bDescriptorSubtype (Abstract
- Control Management Descriptor). */
- USB_DESC_BYTE (0x02), /* bmCapabilities. */
- /* Union Functional Descriptor.*/
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x06), /* bDescriptorSubtype (Union
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bMasterInterface (Communication
- Class Interface). */
- USB_DESC_BYTE (0x01), /* bSlaveInterface0 (Data Class
- Interface). */
- /* Endpoint 2 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_INTERRUPT_REQUEST_EP|0x80,
- 0x03, /* bmAttributes (Interrupt). */
- 0x0008, /* wMaxPacketSize. */
- 0xFF), /* bInterval. */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x01, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x02, /* bNumEndpoints. */
- 0x0A, /* bInterfaceClass (Data Class
- Interface, CDC section 4.5). */
- 0x00, /* bInterfaceSubClass (CDC section
- 4.6). */
- 0x00, /* bInterfaceProtocol (CDC section
- 4.7). */
- 0x00), /* iInterface. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00), /* bInterval. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00) /* bInterval. */
-};
-
-/*
- * Configuration Descriptor wrapper.
- */
-static const USBDescriptor vcom_configuration_descriptor = {
- sizeof vcom_configuration_descriptor_data,
- vcom_configuration_descriptor_data
-};
-
-/*
- * U.S. English language identifier.
- */
-static const uint8_t vcom_string0[] = {
- USB_DESC_BYTE(4), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- USB_DESC_WORD(0x0409) /* wLANGID (U.S. English). */
-};
-
-/*
- * Vendor string.
- */
-static const uint8_t vcom_string1[] = {
- USB_DESC_BYTE(2+2*7), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'N', 0, 'o', 0, 'p', 0, 'e', 0, 'L', 0, 'a', 0, 'b', 0,
-};
-
-/*
- * Device Description string.
- */
-static const uint8_t vcom_string2[] = {
- USB_DESC_BYTE(2+5*2), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'C', 0, 'h', 0, 'T', 0, 's', 0, 'y', 0,
-};
-
-/*
- * Serial Number string.
- */
-static const uint8_t vcom_string3[] = {
- USB_DESC_BYTE(8), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- '0' + CH_KERNEL_MAJOR, 0,
- '0' + CH_KERNEL_MINOR, 0,
- '0' + CH_KERNEL_PATCH, 0
-};
-
-/*
- * Strings wrappers array.
- */
-static const USBDescriptor vcom_strings[] = {
- {sizeof vcom_string0, vcom_string0},
- {sizeof vcom_string1, vcom_string1},
- {sizeof vcom_string2, vcom_string2},
- {sizeof vcom_string3, vcom_string3}
-};
-
-/*
- * Handles the GET_DESCRIPTOR callback. All required descriptors must be
- * handled here.
- */
-static const USBDescriptor *get_descriptor(USBDriver *usbp,
- uint8_t dtype,
- uint8_t dindex,
- uint16_t lang) {
- (void)usbp;
- (void)lang;
- switch (dtype) {
- case USB_DESCRIPTOR_DEVICE:
- return &vcom_device_descriptor;
- case USB_DESCRIPTOR_CONFIGURATION:
- return &vcom_configuration_descriptor;
- case USB_DESCRIPTOR_STRING:
- if (dindex < 4)
- return &vcom_strings[dindex];
- }
- return NULL;
-}
-
-/**
- * @brief IN EP1 state.
- */
-static USBInEndpointState ep1instate;
-
-/**
- * @brief OUT EP1 state.
- */
-static USBOutEndpointState ep1outstate;
-
-/**
- * @brief EP1 initialization structure (both IN and OUT).
- */
-static const USBEndpointConfig ep1config = {
- USB_EP_MODE_TYPE_BULK,
- NULL,
- sduDataTransmitted,
- sduDataReceived,
- 0x0040,
- 0x0040,
- &ep1instate,
- &ep1outstate,
- 2,
- NULL
-};
-
-/**
- * @brief IN EP2 state.
- */
-static USBInEndpointState ep2instate;
-
-/**
- * @brief EP2 initialization structure (IN only).
- */
-static const USBEndpointConfig ep2config = {
- USB_EP_MODE_TYPE_INTR,
- NULL,
- sduInterruptTransmitted,
- NULL,
- 0x0010,
- 0x0000,
- &ep2instate,
- NULL,
- 1,
- NULL
-};
-
-/*
- * Handles the USB driver global events.
- */
-static void usb_event(USBDriver *usbp, usbevent_t event) {
- extern SerialUSBDriver SDU1;
-
- switch (event) {
- case USB_EVENT_RESET:
- return;
- case USB_EVENT_ADDRESS:
- return;
- case USB_EVENT_CONFIGURED:
- chSysLockFromISR();
-
- /* Enables the endpoints specified into the configuration.
- Note, this callback is invoked from an ISR so I-Class functions
- must be used.*/
- usbInitEndpointI(usbp, USBD1_DATA_REQUEST_EP, &ep1config);
- usbInitEndpointI(usbp, USBD1_INTERRUPT_REQUEST_EP, &ep2config);
-
- /* Resetting the state of the CDC subsystem.*/
- sduConfigureHookI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_SUSPEND:
- chSysLockFromISR();
-
- /* Disconnection event on suspend.*/
- sduDisconnectI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_WAKEUP:
- return;
- case USB_EVENT_STALLED:
- return;
- }
- return;
-}
-
-/*
- * Handles the USB driver global events.
- */
-static void sof_handler(USBDriver *usbp) {
-
- (void)usbp;
-
- osalSysLockFromISR();
- sduSOFHookI(&SDU1);
- osalSysUnlockFromISR();
-}
-
-/*
- * USB driver configuration.
- */
-const USBConfig usbcfg = {
- usb_event,
- get_descriptor,
- sduRequestsHook,
- sof_handler
-};
-
-/*
- * Serial over USB driver configuration.
- */
-const SerialUSBConfig serusbcfg = {
- &USBD1,
- USBD1_DATA_REQUEST_EP,
- USBD1_DATA_AVAILABLE_EP,
- USBD1_INTERRUPT_REQUEST_EP
-};
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.h b/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.h
deleted file mode 100644
index 5aa501e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _USBCFG_H_
-#define _USBCFG_H_
-
-extern const USBConfig usbcfg;
-extern SerialUSBConfig serusbcfg;
-extern SerialUSBDriver SDU1;
-
-#endif /* _USBCFG_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/Makefile
deleted file mode 100644
index 6510052..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/Makefile
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x7.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_1/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX256.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/chconf.h
deleted file mode 100644
index caae0c2..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/ADC/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/halconf.h
deleted file mode 100644
index ebc0331..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/ADC/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC TRUE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/main.c
deleted file mode 100644
index 7a2dc3a..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/main.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-#define ADC_GRP1_NUM_CHANNELS 2
-#define ADC_GRP1_BUF_DEPTH 1
-
-static adcsample_t samples1[ADC_GRP1_NUM_CHANNELS * ADC_GRP1_BUF_DEPTH];
-static virtual_timer_t vt;
-
-static void ledoff(void *p) {
-
- (void)p;
- palClearPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
-}
-
-static void adc_end_cb(ADCDriver *adcp, adcsample_t *buffer, size_t n) {
-
- (void)adcp;
- (void)n;
-
- /*
- * The bandgap value represents the ADC reading for 1.0V
- */
- uint16_t sensor = buffer[0];
- uint16_t bandgap = buffer[1];
-
- /*
- * The v25 value is the voltage reading at 25C, it comes from the ADC
- * electricals table in the processor manual. V25 is in millivolts.
- */
- int32_t v25 = 716;
-
- /*
- * The m value is slope of the temperature sensor values, again from
- * the ADC electricals table in the processor manual.
- * M in microvolts per degree.
- */
- int32_t m = 1620;
-
- /*
- * Divide the temperature sensor reading by the bandgap to get
- * the voltage for the ambient temperature in millivolts.
- */
- int32_t vamb = (sensor * 1000) / bandgap;
-
- /*
- * This formula comes from the reference manual.
- * Temperature is in millidegrees C.
- */
- int32_t delta = (((vamb - v25) * 1000000) / m);
- int32_t temp = 25000 - delta;
-
- palSetPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
- chSysLockFromISR();
- chVTResetI(&vt);
- if (temp < 19000) {
- chVTSetI(&vt, MS2ST(10), ledoff, NULL);
- } else if (temp > 28000) {
- chVTSetI(&vt, MS2ST(20), ledoff, NULL);
- } else {
- chVTSetI(&vt, MS2ST(40), ledoff, NULL);
- }
- chSysUnlockFromISR();
-}
-
-
-/*
- * ADC conversion group.
- * Mode: Linear buffer, 8 samples of 1 channel, SW triggered.
- */
-static const ADCConversionGroup adcgrpcfg1 = {
- false,
- ADC_GRP1_NUM_CHANNELS,
- adc_end_cb,
- NULL,
- ADC_TEMP_SENSOR | ADC_BANDGAP,
- /* CFG1 Regiser - ADCCLK = SYSCLK / 16, 16 bits per sample */
- ADCx_CFG1_ADIV(ADCx_CFG1_ADIV_DIV_8) |
- ADCx_CFG1_ADICLK(ADCx_CFG1_ADIVCLK_BUS_CLOCK_DIV_2) |
- ADCx_CFG1_MODE(ADCx_CFG1_MODE_16_BITS),
- /* SC3 Register - Average 32 readings per sample */
- ADCx_SC3_AVGE |
- ADCx_SC3_AVGS(ADCx_SC3_AVGS_AVERAGE_32_SAMPLES)
-};
-
-static const ADCConfig adccfg1 = {
- /* Perform initial calibration */
- true
-};
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Activates the ADC1 driver.
- */
- adcStart(&ADCD1, &adccfg1);
-
- while (!chThdShouldTerminateX()) {
- /*
- * ADC linear conversion.
- */
- adcConvert(&ADCD1, &adcgrpcfg1, samples1, ADC_GRP1_BUF_DEPTH);
-
- chThdSleepMilliseconds(1000);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/mcuconf.h
deleted file mode 100644
index eefa840..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/mcuconf.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* PEE mode - 48MHz system clock driven by external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-
-/*
- * ADC driver system settings.
- */
-#define KINETIS_ADC_USE_ADC0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile
deleted file mode 100644
index fa5084c..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x7.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_1/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX256.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- eeprom.c \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile.3_0 b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile.3_0
deleted file mode 100644
index 78fe392..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile.3_0
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x5.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- eeprom.c \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/README.md b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/README.md
deleted file mode 100644
index 7f01bac..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Teensy 3.0 EEPROM via FlexRAM example
-
-FlexRAM, which is present on K20x MCUs, is configured to EEPROM mode, so it behaves like EEPROM. The maximum available size is 2K, but explicitly using a smaller chunk enables wear-levelling and increases write endurance.
-
-
-## Credits
-
-Most of the actual EEPROM code is from [PJRC/Teensyduino](https://www.pjrc.com/teensy/teensyduino.html). \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/chconf.h
deleted file mode 100644
index ea87df8..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/chconf.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/EEPROM_EMU/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY TRUE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.c
deleted file mode 100644
index c78b39f..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.c
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Eeprom emulation for K20x chips.
- * (c) 2015 flabbergast
- * Most of the code is from PJRC/Teensyduino (license below)
- */
-
-/* Teensyduino Core Library
- * http://www.pjrc.com/teensy/
- * Copyright (c) 2013 PJRC.COM, LLC.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * 1. The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * 2. If the Software is incorporated into a build system that allows
- * selection among a list of target devices, then similar target
- * devices manufactured by PJRC.COM must be included in the list of
- * target devices and selectable in the same manner.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "ch.h"
-#include "hal.h"
-
-// The EEPROM is really RAM with a hardware-based backup system to
-// flash memory. Selecting a smaller size EEPROM allows more wear
-// leveling, for higher write endurance. If you edit this file,
-// set this to the smallest size your application can use. Also,
-// due to Freescale's implementation, writing 16 or 32 bit words
-// (aligned to 2 or 4 byte boundaries) has twice the endurance
-// compared to writing 8 bit bytes.
-//
-#define EEPROM_SIZE 32
-
-// Writing unaligned 16 or 32 bit data is handled automatically when
-// this is defined, but at a cost of extra code size. Without this,
-// any unaligned write will cause a hard fault exception! If you're
-// absolutely sure all 16 and 32 bit writes will be aligned, you can
-// remove the extra unnecessary code.
-//
-#define HANDLE_UNALIGNED_WRITES
-
-// Minimum EEPROM Endurance
-// ------------------------
-#if (EEPROM_SIZE == 2048) // 35000 writes/byte or 70000 writes/word
- #define EEESIZE 0x33
-#elif (EEPROM_SIZE == 1024) // 75000 writes/byte or 150000 writes/word
- #define EEESIZE 0x34
-#elif (EEPROM_SIZE == 512) // 155000 writes/byte or 310000 writes/word
- #define EEESIZE 0x35
-#elif (EEPROM_SIZE == 256) // 315000 writes/byte or 630000 writes/word
- #define EEESIZE 0x36
-#elif (EEPROM_SIZE == 128) // 635000 writes/byte or 1270000 writes/word
- #define EEESIZE 0x37
-#elif (EEPROM_SIZE == 64) // 1275000 writes/byte or 2550000 writes/word
- #define EEESIZE 0x38
-#elif (EEPROM_SIZE == 32) // 2555000 writes/byte or 5110000 writes/word
- #define EEESIZE 0x39
-#endif
-
-void eeprom_initialize(void)
-{
- uint32_t count=0;
- uint16_t do_flash_cmd[] = {
- 0xf06f, 0x037f, 0x7003, 0x7803,
- 0xf013, 0x0f80, 0xd0fb, 0x4770};
- uint8_t status;
-
- if (FTFL->FCNFG & FTFL_FCNFG_RAMRDY) {
- // FlexRAM is configured as traditional RAM
- // We need to reconfigure for EEPROM usage
- FTFL->FCCOB0 = 0x80; // PGMPART = Program Partition Command
- FTFL->FCCOB4 = EEESIZE; // EEPROM Size
- FTFL->FCCOB5 = 0x03; // 0K for Dataflash, 32K for EEPROM backup
- __disable_irq();
- // do_flash_cmd() must execute from RAM. Luckily the C syntax is simple...
- (*((void (*)(volatile uint8_t *))((uint32_t)do_flash_cmd | 1)))(&(FTFL->FSTAT));
- __enable_irq();
- status = FTFL->FSTAT;
- if (status & (FTFL_FSTAT_RDCOLERR|FTFL_FSTAT_ACCERR|FTFL_FSTAT_FPVIOL)) {
- FTFL->FSTAT = (status & (FTFL_FSTAT_RDCOLERR|FTFL_FSTAT_ACCERR|FTFL_FSTAT_FPVIOL));
- return; // error
- }
- }
- // wait for eeprom to become ready (is this really necessary?)
- while (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) {
- if (++count > 20000) break;
- }
-}
-
-#define FlexRAM ((uint8_t *)0x14000000)
-
-uint8_t eeprom_read_byte(const uint8_t *addr)
-{
- uint32_t offset = (uint32_t)addr;
- if (offset >= EEPROM_SIZE) return 0;
- if (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) eeprom_initialize();
- return FlexRAM[offset];
-}
-
-uint16_t eeprom_read_word(const uint16_t *addr)
-{
- uint32_t offset = (uint32_t)addr;
- if (offset >= EEPROM_SIZE-1) return 0;
- if (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) eeprom_initialize();
- return *(uint16_t *)(&FlexRAM[offset]);
-}
-
-uint32_t eeprom_read_dword(const uint32_t *addr)
-{
- uint32_t offset = (uint32_t)addr;
- if (offset >= EEPROM_SIZE-3) return 0;
- if (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) eeprom_initialize();
- return *(uint32_t *)(&FlexRAM[offset]);
-}
-
-void eeprom_read_block(void *buf, const void *addr, uint32_t len)
-{
- uint32_t offset = (uint32_t)addr;
- uint8_t *dest = (uint8_t *)buf;
- uint32_t end = offset + len;
-
- if (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) eeprom_initialize();
- if (end > EEPROM_SIZE) end = EEPROM_SIZE;
- while (offset < end) {
- *dest++ = FlexRAM[offset++];
- }
-}
-
-int eeprom_is_ready(void)
-{
- return (FTFL->FCNFG & FTFL_FCNFG_EEERDY) ? 1 : 0;
-}
-
-static void flexram_wait(void)
-{
- while (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) {
- // TODO: timeout
- }
-}
-
-void eeprom_write_byte(uint8_t *addr, uint8_t value)
-{
- uint32_t offset = (uint32_t)addr;
-
- if (offset >= EEPROM_SIZE) return;
- if (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) eeprom_initialize();
- if (FlexRAM[offset] != value) {
- FlexRAM[offset] = value;
- flexram_wait();
- }
-}
-
-void eeprom_write_word(uint16_t *addr, uint16_t value)
-{
- uint32_t offset = (uint32_t)addr;
-
- if (offset >= EEPROM_SIZE-1) return;
- if (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) eeprom_initialize();
-#ifdef HANDLE_UNALIGNED_WRITES
- if ((offset & 1) == 0) {
-#endif
- if (*(uint16_t *)(&FlexRAM[offset]) != value) {
- *(uint16_t *)(&FlexRAM[offset]) = value;
- flexram_wait();
- }
-#ifdef HANDLE_UNALIGNED_WRITES
- } else {
- if (FlexRAM[offset] != value) {
- FlexRAM[offset] = value;
- flexram_wait();
- }
- if (FlexRAM[offset + 1] != (value >> 8)) {
- FlexRAM[offset + 1] = value >> 8;
- flexram_wait();
- }
- }
-#endif
-}
-
-void eeprom_write_dword(uint32_t *addr, uint32_t value)
-{
- uint32_t offset = (uint32_t)addr;
-
- if (offset >= EEPROM_SIZE-3) return;
- if (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) eeprom_initialize();
-#ifdef HANDLE_UNALIGNED_WRITES
- switch (offset & 3) {
- case 0:
-#endif
- if (*(uint32_t *)(&FlexRAM[offset]) != value) {
- *(uint32_t *)(&FlexRAM[offset]) = value;
- flexram_wait();
- }
- return;
-#ifdef HANDLE_UNALIGNED_WRITES
- case 2:
- if (*(uint16_t *)(&FlexRAM[offset]) != value) {
- *(uint16_t *)(&FlexRAM[offset]) = value;
- flexram_wait();
- }
- if (*(uint16_t *)(&FlexRAM[offset + 2]) != (value >> 16)) {
- *(uint16_t *)(&FlexRAM[offset + 2]) = value >> 16;
- flexram_wait();
- }
- return;
- default:
- if (FlexRAM[offset] != value) {
- FlexRAM[offset] = value;
- flexram_wait();
- }
- if (*(uint16_t *)(&FlexRAM[offset + 1]) != (value >> 8)) {
- *(uint16_t *)(&FlexRAM[offset + 1]) = value >> 8;
- flexram_wait();
- }
- if (FlexRAM[offset + 3] != (value >> 24)) {
- FlexRAM[offset + 3] = value >> 24;
- flexram_wait();
- }
- }
-#endif
-}
-
-void eeprom_write_block(const void *buf, void *addr, uint32_t len)
-{
- uint32_t offset = (uint32_t)addr;
- const uint8_t *src = (const uint8_t *)buf;
-
- if (offset >= EEPROM_SIZE) return;
- if (!(FTFL->FCNFG & FTFL_FCNFG_EEERDY)) eeprom_initialize();
- if (len >= EEPROM_SIZE) len = EEPROM_SIZE;
- if (offset + len >= EEPROM_SIZE) len = EEPROM_SIZE - offset;
- while (len > 0) {
- uint32_t lsb = offset & 3;
- if (lsb == 0 && len >= 4) {
- // write aligned 32 bits
- uint32_t val32;
- val32 = *src++;
- val32 |= (*src++ << 8);
- val32 |= (*src++ << 16);
- val32 |= (*src++ << 24);
- if (*(uint32_t *)(&FlexRAM[offset]) != val32) {
- *(uint32_t *)(&FlexRAM[offset]) = val32;
- flexram_wait();
- }
- offset += 4;
- len -= 4;
- } else if ((lsb == 0 || lsb == 2) && len >= 2) {
- // write aligned 16 bits
- uint16_t val16;
- val16 = *src++;
- val16 |= (*src++ << 8);
- if (*(uint16_t *)(&FlexRAM[offset]) != val16) {
- *(uint16_t *)(&FlexRAM[offset]) = val16;
- flexram_wait();
- }
- offset += 2;
- len -= 2;
- } else {
- // write 8 bits
- uint8_t val8 = *src++;
- if (FlexRAM[offset] != val8) {
- FlexRAM[offset] = val8;
- flexram_wait();
- }
- offset++;
- len--;
- }
- }
-}
-
-/*
-void do_flash_cmd(volatile uint8_t *fstat)
-{
- *fstat = 0x80;
- while ((*fstat & 0x80) == 0) ; // wait
-}
-00000000 <do_flash_cmd>:
- 0: f06f 037f mvn.w r3, #127 ; 0x7f
- 4: 7003 strb r3, [r0, #0]
- 6: 7803 ldrb r3, [r0, #0]
- 8: f013 0f80 tst.w r3, #128 ; 0x80
- c: d0fb beq.n 6 <do_flash_cmd+0x6>
- e: 4770 bx lr
-*/
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.h
deleted file mode 100644
index 1bd714e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Eeprom emulation for K20x chips.
- * (c) 2015 flabbergast
- * Most of the code is from PJRC/Teensyduino (license in eeprom.c)
- */
-
-#ifndef _EEPROM_H_
-#define _EEPROM_H_
-
-void eeprom_initialize(void);
-int eeprom_is_ready(void);
-uint8_t eeprom_read_byte(const uint8_t *addr);
-uint16_t eeprom_read_word(const uint16_t *addr);
-uint32_t eeprom_read_dword(const uint32_t *addr);
-void eeprom_read_block(void *buf, const void *addr, uint32_t len);
-void eeprom_write_byte(uint8_t *addr, uint8_t data);
-void eeprom_write_word(uint16_t *addr, uint16_t value);
-void eeprom_write_dword(uint32_t *addr, uint32_t value);
-void eeprom_write_block(const void *buf, void *addr, uint32_t len);
-
-#endif /* _EEPROM_H_ */ \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/halconf.h
deleted file mode 100644
index 5cc1b57..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/halconf.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/EEPROM_EMU/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/main.c
deleted file mode 100644
index e1ef889..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/main.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-#include "eeprom.h"
-
-#define LED_GPIO TEENSY_PIN13_IOPORT
-#define LED_PIN TEENSY_PIN13
-
-uint8_t n_of_blinks;
-
-static THD_WORKING_AREA(waBlinkThread, 128);
-static THD_FUNCTION(BlinkThread, arg) {
- (void)arg;
- uint8_t i;
-
- for(i=0; i<n_of_blinks; i++) {
- palSetPad(LED_GPIO, LED_PIN);
- chThdSleepMilliseconds(400);
- palClearPad(LED_GPIO, LED_PIN);
- chThdSleepMilliseconds(400);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- n_of_blinks = 0;
-
- uint8_t *ee_addr = (uint8_t *)3;
-
- eeprom_write_byte(ee_addr,5);
- chThdSleepMilliseconds(500);
-
- eeprom_write_byte(ee_addr,10);
- chThdSleepMilliseconds(500);
-
- n_of_blinks = eeprom_read_byte(ee_addr);
-
- /*
- * Create the blink thread.
- */
- chThdCreateStatic(waBlinkThread, sizeof(waBlinkThread), NORMALPRIO, BlinkThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while(TRUE) {
- chThdSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/mcuconf.h
deleted file mode 100644
index d614644..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/mcuconf.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 1
-/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-#if 0
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/Makefile
deleted file mode 100644
index 6510052..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/Makefile
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x7.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_1/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX256.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/chconf.h
deleted file mode 100644
index 0389bed..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/EXT/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/halconf.h
deleted file mode 100644
index eba8b32..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/EXT/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT TRUE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/main.c
deleted file mode 100644
index 3903897..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/main.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-static void ledoff(void *p) {
-
- (void)p;
- palClearPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
-}
-
-static virtual_timer_t vt;
-
-/* Triggered when the Teensy's pin 12 (PC7) changes; The LED is set to ON.*/
-static void extcb1(EXTDriver *extp, expchannel_t channel) {
- (void)extp;
- (void)channel;
- palSetPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
- chSysLockFromISR();
- chVTResetI(&vt);
- /* LED set to OFF after 500mS.*/
- chVTSetI(&vt, MS2ST(500), ledoff, NULL);
- chSysUnlockFromISR();
-}
-
-static const EXTConfig extcfg = {
- {
- {EXT_CH_MODE_BOTH_EDGES|EXT_CH_MODE_AUTOSTART, extcb1, PORTC, 7}
- }
-};
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Activates the EXT driver 1.
- */
- extStart(&EXTD1, &extcfg);
- /*
- * Normal main() thread activity, in this demo it enables and disables the
- * button EXT channel using 10 seconds intervals.
- */
- while (!chThdShouldTerminateX()) {
- extChannelDisable(&EXTD1, 0);
- chThdSleepMilliseconds(10000);
- extChannelEnable(&EXTD1, 0);
- chThdSleepMilliseconds(10000);
- }
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/mcuconf.h
deleted file mode 100644
index 147622e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/mcuconf.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* PEE mode - 48MHz system clock driven by external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-
-/*
- * EXT driver system settings.
- */
-#define KINETIS_EXTI_NUM_CHANNELS 1
-#define KINETIS_EXT_PORTA_IRQ_PRIORITY 12
-#define KINETIS_EXT_PORTB_IRQ_PRIORITY 12
-#define KINETIS_EXT_PORTC_IRQ_PRIORITY 12
-#define KINETIS_EXT_PORTD_IRQ_PRIORITY 12
-#define KINETIS_EXT_PORTE_IRQ_PRIORITY 12
-
-/* K20 64pin */
-#define KINETIS_EXT_PORTA_WIDTH 20
-#define KINETIS_EXT_PORTB_WIDTH 20
-#define KINETIS_EXT_PORTC_WIDTH 12
-#define KINETIS_EXT_PORTD_WIDTH 8
-#define KINETIS_EXT_PORTE_WIDTH 2
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/Makefile
deleted file mode 100644
index 6510052..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/Makefile
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x7.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_1/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX256.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/chconf.h
deleted file mode 100644
index b2ed194..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/GPT/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/halconf.h
deleted file mode 100644
index 80de20c..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/GPT/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT TRUE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/main.c
deleted file mode 100644
index 4609f37..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/main.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-/*
- * GPT1 callback.
- */
-static void gpt1cb(GPTDriver *gptp) {
-
- (void)gptp;
- palTogglePad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
-}
-
-static const GPTConfig gpt1cfg = {
- 10000, /* 10kHz timer clock.*/
- gpt1cb /* Timer callback.*/
-};
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Activates the GPT driver 1.
- */
- gptStart(&GPTD1, &gpt1cfg);
- gptStartContinuous(&GPTD1, 5000); /* 500ms */
- //~ gptPolledDelay(&GPTD1, 10); /* Small delay.*/
-
- /*
- * Normal main() thread activity, it changes the GPT1 period every
- * five seconds.
- */
- while (!chThdShouldTerminateX()) {
- chThdSleepMilliseconds(5000);
- gptChangeInterval(&GPTD1,gptGetIntervalX(&GPTD1)/2); /* 25ms */
- chThdSleepMilliseconds(5000);
- gptChangeInterval(&GPTD1,gptGetIntervalX(&GPTD1)*2); /* 50ms */
- }
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/mcuconf.h
deleted file mode 100644
index bb2f8bf..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/mcuconf.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* PEE mode - 48MHz system clock driven by external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-
-/*
- * GPT driver system settings.
- */
-#define KINETIS_GPT_USE_PIT0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/Makefile
deleted file mode 100644
index 6510052..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/Makefile
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x7.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_1/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX256.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/chconf.h
deleted file mode 100644
index dda26e1..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/chconf.h
+++ /dev/null
@@ -1,516 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/PWM/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/halconf.h
deleted file mode 100644
index 9cb0ac9..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/PWM/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/main.c
deleted file mode 100644
index bef46a2..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/main.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-#define PWM_DRIVER PWMD1
-
-static void pwmpcb(PWMDriver *pwmp) {
- (void)pwmp;
- palSetPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
-}
-
-static void pwmc0cb(PWMDriver *pwmp) {
- (void)pwmp;
- palClearPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
-}
-
-static PWMConfig pwmcfg = {
- 24000000, /* 24MHz PWM clock frequency. */
- 12000, /* Initial PWM period 1ms */
- pwmpcb,
- {
- {PWM_OUTPUT_DISABLED, pwmc0cb},
- {PWM_OUTPUT_DISABLED, NULL},
- },
-};
-
-/* Breathing Sleep LED brighness(PWM On period) table
- *
- * http://www.wolframalpha.com/input/?i=%28sin%28+x%2F64*pi%29**8+*+255%2C+x%3D0+to+63
- * (0..63).each {|x| p ((sin(x/64.0*PI)**8)*255).to_i }
- */
-/* ruby -e "a = ((0..255).map{|x| Math.exp(Math.cos(Math::PI+(2*x*(Math::PI)/255)))-Math.exp(-1) }); m = a.max; a.map\!{|x| (9900*x/m).to_i+1}; p a" */
-#define BREATHE_STEP 16 /* ms; = 4000ms/TABLE_SIZE */
-#define TABLE_SIZE 256
-static const uint16_t breathing_table[TABLE_SIZE] = {
- 1, 1, 2, 5, 8, 12, 17, 24, 31, 39, 48, 58, 69, 81, 95, 109, 124, 140, 158, 177, 196, 217, 239, 263, 287, 313, 340, 369, 399, 430, 463, 497, 532, 570, 608, 649, 691, 734, 779, 827, 875, 926, 979, 1033, 1090, 1148, 1209, 1271, 1336, 1403, 1472, 1543, 1617, 1693, 1771, 1852, 1935, 2021, 2109, 2199, 2292, 2387, 2486, 2586, 2689, 2795, 2903, 3014, 3127, 3243, 3362, 3482, 3606, 3731, 3859, 3989, 4122, 4256, 4392, 4531, 4671, 4813, 4957, 5102, 5248, 5396, 5545, 5694, 5845, 5995, 6147, 6298, 6449, 6600, 6751, 6901, 7050, 7198, 7344, 7489, 7632, 7772, 7911, 8046, 8179, 8309, 8435, 8557, 8676, 8790, 8900, 9005, 9105, 9201, 9291, 9375, 9454, 9527, 9593, 9654, 9708, 9756, 9797, 9831, 9859, 9880, 9894, 9900, 9901, 9894, 9880, 9859, 9831, 9797, 9756, 9708, 9654, 9593, 9527, 9454, 9375, 9291, 9201, 9105, 9005, 8900, 8790, 8676, 8557, 8435, 8309, 8179, 8046, 7911, 7772, 7632, 7489, 7344, 7198, 7050, 6901, 6751, 6600, 6449, 6298, 6147, 5995, 5845, 5694, 5545, 5396, 5248, 5102, 4957, 4813, 4671, 4531, 4392, 4256, 4122, 3989, 3859, 3731, 3606, 3482, 3362, 3243, 3127, 3014, 2903, 2795, 2689, 2586, 2486, 2387, 2292, 2199, 2109, 2021, 1935, 1852, 1771, 1693, 1617, 1543, 1472, 1403, 1336, 1271, 1209, 1148, 1090, 1033, 979, 926, 875, 827, 779, 734, 691, 649, 608, 570, 532, 497, 463, 430, 399, 369, 340, 313, 287, 263, 239, 217, 196, 177, 158, 140, 124, 109, 95, 81, 69, 58, 48, 39, 31, 24, 17, 12, 8, 5, 2, 1, 1
-};
-
-uint16_t table_pos = 0;
-
-static THD_WORKING_AREA(waBreatheThread, 128);
-static THD_FUNCTION(BreatheThread, arg) {
- (void)arg;
- chRegSetThreadName("breatheThread");
-
- while(!chThdShouldTerminateX()) {
- pwmEnableChannel(&PWM_DRIVER, 0, PWM_PERCENTAGE_TO_WIDTH(&PWM_DRIVER,breathing_table[table_pos]));
- table_pos = (table_pos+1) % TABLE_SIZE;
- chThdSleepMilliseconds(BREATHE_STEP);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Initialize the PWM driver.
- */
- pwmStart(&PWM_DRIVER, &pwmcfg);
- pwmEnablePeriodicNotification(&PWM_DRIVER);
-
- /*
- * Starts the PWM channel 0; turn the LED off.
- */
- pwmEnableChannel(&PWM_DRIVER, 0, PWM_PERCENTAGE_TO_WIDTH(&PWM_DRIVER, 0));
- pwmEnableChannelNotification(&PWM_DRIVER, 0); // MUST be before EnableChannel...
-
- /*
- * Create the breathe thread.
- */
- thread_t *breathe_thread_p;
- breathe_thread_p = chThdCreateStatic(waBreatheThread, sizeof(waBreatheThread), NORMALPRIO, BreatheThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (!chThdShouldTerminateX()) {
- chThdSleepMilliseconds(500);
- }
-
- chThdTerminate(breathe_thread_p);
- chThdSleepMilliseconds(2*BREATHE_STEP);
-
- /*
- * Disables channel 0 and stops the drivers.
- */
- pwmDisableChannel(&PWM_DRIVER, 0);
- pwmStop(&PWM_DRIVER);
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/mcuconf.h
deleted file mode 100644
index 9f087dd..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/mcuconf.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* PEE mode - 48MHz system clock driven by external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-
-/*
- * PWM driver system settings.
- */
-#define KINETIS_PWM_USE_FTM0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile
deleted file mode 100644
index 6510052..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x7.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_1/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX256.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile.3_0 b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile.3_0
deleted file mode 100644
index 5e0f4a6..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile.3_0
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x5.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/chconf.h
deleted file mode 100644
index 95b505a..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/SERIAL/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/halconf.h
deleted file mode 100644
index 6c7a97d..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/SERIAL/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/main.c
deleted file mode 100644
index 722a398..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/main.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-static THD_WORKING_AREA(waSerEcho, 128);
-static THD_FUNCTION(thSerEcho, arg)
-{
- (void)arg;
- chRegSetThreadName("SerEcho");
- event_listener_t elSerData;
- eventflags_t flags;
- chEvtRegisterMask((event_source_t *)chnGetEventSource(&SD1), &elSerData, EVENT_MASK(1));
-
- while (!chThdShouldTerminateX())
- {
- chEvtWaitOneTimeout(EVENT_MASK(1), MS2ST(10));
- flags = chEvtGetAndClearFlags(&elSerData);
- if (flags & CHN_INPUT_AVAILABLE)
- {
- msg_t charbuf;
- do
- {
- charbuf = chnGetTimeout(&SD1, TIME_IMMEDIATE);
- if ( charbuf != Q_TIMEOUT )
- {
- streamPut(&SD1, charbuf);
- }
- }
- while (charbuf != Q_TIMEOUT);
- }
- }
-}
-
-SerialConfig s0cfg =
-{
- 19200
-};
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Activates serial 1 (UART0) using the driver default configuration.
- */
- sdStart(&SD1, &s0cfg);
-
- chThdCreateStatic(waSerEcho, sizeof(waSerEcho), NORMALPRIO, thSerEcho, NULL);
-
- while (!chThdShouldTerminateX()) {
- chThdSleepMilliseconds(1000);
- palTogglePad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
- sdPut(&SD1,'B');
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/mcuconf.h
deleted file mode 100644
index 919719b..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/mcuconf.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- ChibiOS - (C) 2015 RedoX https://github.com/RedoXyde
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* PEE mode - 48MHz system clock driven by external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile
deleted file mode 100644
index 055c3dc..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile
+++ /dev/null
@@ -1,225 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x7.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3_1/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-include $(CHIBIOS)/os/hal/lib/streams/streams.mk
-include $(CHIBIOS)/os/various/shell/shell.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX256.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(STREAMSSRC) \
- $(SHELLSRC) \
- usbcfg.c \
- main.c \
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(STREAMSINC) $(SHELLINC)
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile.3_0 b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile.3_0
deleted file mode 100644
index 3135d7c..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile.3_0
+++ /dev/null
@@ -1,225 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_k20x5.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/K20x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_3/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-include $(CHIBIOS)/os/hal/lib/streams/streams.mk
-include $(CHIBIOS)/os/various/shell/shell.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MK20DX128.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(STREAMSSRC) \
- $(SHELLSRC) \
- usbcfg.c \
- main.c \
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(STREAMSINC) $(SHELLINC)
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chconf.h
deleted file mode 100644
index 7d9ace3..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chconf.h
+++ /dev/null
@@ -1,513 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/USB_SERIAL/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop. */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chtsy.inf b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chtsy.inf
deleted file mode 100644
index 4ae7d0b..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chtsy.inf
+++ /dev/null
@@ -1,106 +0,0 @@
-;************************************************************
-; Windows USB CDC ACM Setup File
-; Copyright (c) 2000 Microsoft Corporation
-
-
-[Version]
-Signature="$Windows NT$"
-Class=Ports
-ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
-Provider=%MFGNAME%
-LayoutFile=layout.inf
-CatalogFile=%MFGFILENAME%.cat
-DriverVer=11/15/2007,5.1.2600.0
-
-[Manufacturer]
-%MFGNAME%=DeviceList, NTamd64
-
-[DestinationDirs]
-DefaultDestDir=12
-
-
-;------------------------------------------------------------------------------
-; Windows 2000/XP/Vista-32bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.nt]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.nt
-AddReg=DriverInstall.nt.AddReg
-
-[DriverCopyFiles.nt]
-usbser.sys,,,0x20
-
-[DriverInstall.nt.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.nt.Services]
-AddService=usbser, 0x00000002, DriverService.nt
-
-[DriverService.nt]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-;------------------------------------------------------------------------------
-; Vista-64bit Sections
-;------------------------------------------------------------------------------
-
-[DriverInstall.NTamd64]
-include=mdmcpq.inf
-CopyFiles=DriverCopyFiles.NTamd64
-AddReg=DriverInstall.NTamd64.AddReg
-
-[DriverCopyFiles.NTamd64]
-%DRIVERFILENAME%.sys,,,0x20
-
-[DriverInstall.NTamd64.AddReg]
-HKR,,DevLoader,,*ntkern
-HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
-HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
-
-[DriverInstall.NTamd64.Services]
-AddService=usbser, 0x00000002, DriverService.NTamd64
-
-[DriverService.NTamd64]
-DisplayName=%SERVICE%
-ServiceType=1
-StartType=3
-ErrorControl=1
-ServiceBinary=%12%\%DRIVERFILENAME%.sys
-
-
-;------------------------------------------------------------------------------
-; Vendor and Product ID Definitions
-;------------------------------------------------------------------------------
-; When developing your USB device, the VID and PID used in the PC side
-; application program and the firmware on the microcontroller must match.
-; Modify the below line to use your VID and PID. Use the format as shown below.
-; Note: One INF file can be used for multiple devices with different VID and PIDs.
-; For each supported device, append ",USB\VID_xxxx&PID_yyyy" to the end of the line.
-;------------------------------------------------------------------------------
-[SourceDisksFiles]
-[SourceDisksNames]
-[DeviceList]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-[DeviceList.NTamd64]
-%DESCRIPTION%=DriverInstall, USB\VID_0179&PID_0001
-
-
-;------------------------------------------------------------------------------
-; String Definitions
-;------------------------------------------------------------------------------
-;Modify these strings to customize your device
-;------------------------------------------------------------------------------
-[Strings]
-MFGFILENAME="ChTsy"
-DRIVERFILENAME ="usbser"
-MFGNAME="NopeLab"
-INSTDISK="ChTsy CDC driver"
-DESCRIPTION="ChTsy CDC driver"
-SERVICE="USB RS-232 Emulation Driver" \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/halconf.h
deleted file mode 100644
index 329f831..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/halconf.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY3_x/USB_SERIAL/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB TRUE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB TRUE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/main.c
deleted file mode 100644
index 3ede0a2..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/main.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <stdio.h>
-#include <string.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#include "shell.h"
-#include "chprintf.h"
-
-#include "usbcfg.h"
-
-/*===========================================================================*/
-/* Command line related. */
-/*===========================================================================*/
-
-#define SHELL_WA_SIZE THD_WORKING_AREA_SIZE(2048)
-
-/* Can be measured using dd if=/dev/xxxx of=/dev/null bs=512 count=10000.*/
-static void cmd_write(BaseSequentialStream *chp, int argc, char *argv[]) {
- static uint8_t buf[] =
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef";
-
- (void)argv;
- if (argc > 0) {
- chprintf(chp, "Usage: write\r\n");
- return;
- }
-
- while (chnGetTimeout((BaseChannel *)chp, TIME_IMMEDIATE) == Q_TIMEOUT) {
-#if 1
- /* Writing in channel mode.*/
- chnWrite(&SDU1, buf, sizeof buf - 1);
-#else
- /* Writing in buffer mode.*/
- (void) obqGetEmptyBufferTimeout(&SDU1.obqueue, TIME_INFINITE);
- memcpy(SDU1.obqueue.ptr, buf, SERIAL_USB_BUFFERS_SIZE);
- obqPostFullBuffer(&SDU1.obqueue, SERIAL_USB_BUFFERS_SIZE);
-#endif
- }
- chprintf(chp, "\r\n\nstopped\r\n");
-}
-
-static const ShellCommand commands[] = {
- {"write", cmd_write},
- {NULL, NULL}
-};
-
-static const ShellConfig shell_cfg1 = {
- (BaseSequentialStream *)&SDU1,
- commands
-};
-
-/*===========================================================================*/
-/* Generic code. */
-/*===========================================================================*/
-
-/*
- * Red LED blinker thread, times are in milliseconds.
- */
-static THD_WORKING_AREA(waThread1, 128);
-static THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
- chRegSetThreadName("blinker");
- while (true) {
- systime_t time;
-
- time = serusbcfg.usbp->state == USB_ACTIVE ? 250 : 500;
- palClearPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
- chThdSleepMilliseconds(time);
- palSetPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
- chThdSleepMilliseconds(time);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Initializes a serial-over-USB CDC driver.
- */
- sduObjectInit(&SDU1);
- sduStart(&SDU1, &serusbcfg);
-
- /*
- * Activates the USB driver and then the USB bus pull-up on D+.
- * Note, a delay is inserted in order to not have to disconnect the cable
- * after a reset.
- */
- usbDisconnectBus(serusbcfg.usbp);
- chThdSleepMilliseconds(1500);
- usbStart(serusbcfg.usbp, &usbcfg);
- usbConnectBus(serusbcfg.usbp);
-
- /*
- * Shell manager initialization.
- */
- shellInit();
-
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- /*
- * Normal main() thread activity, spawning shells.
- */
- while (true) {
- if (SDU1.config->usbp->state == USB_ACTIVE) {
- thread_t *shelltp = chThdCreateFromHeap(NULL, SHELL_WA_SIZE,
- "shell", NORMALPRIO + 1,
- shellThread, (void *)&shell_cfg1);
- chThdWait(shelltp); /* Waiting termination. */
- }
- chThdSleepMilliseconds(1000);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/mcuconf.h
deleted file mode 100644
index 59e1e82..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/mcuconf.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define K20x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-/* PEE mode - 48MHz system clock driven by external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-
-#endif /* _MCUCONF_H_ */ \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.c
deleted file mode 100644
index 3093640..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.c
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "hal.h"
-
-/* Virtual serial port over USB.*/
-SerialUSBDriver SDU1;
-
-/*
- * Endpoints to be used for USBD1.
- */
-#define USBD1_DATA_REQUEST_EP 1
-#define USBD1_DATA_AVAILABLE_EP 1
-#define USBD1_INTERRUPT_REQUEST_EP 2
-
-/*
- * USB Device Descriptor.
- */
-static const uint8_t vcom_device_descriptor_data[18] = {
- USB_DESC_DEVICE (0x0110, /* bcdUSB (1.1). */
- 0x02, /* bDeviceClass (CDC). */
- 0x00, /* bDeviceSubClass. */
- 0x00, /* bDeviceProtocol. */
- 0x40, /* bMaxPacketSize. */
- 0x0179, /* idVendor. */
- 0x0001, /* idProduct. */
- 0x0200, /* bcdDevice. */
- 1, /* iManufacturer. */
- 2, /* iProduct. */
- 3, /* iSerialNumber. */
- 1) /* bNumConfigurations. */
-};
-
-/*
- * Device Descriptor wrapper.
- */
-static const USBDescriptor vcom_device_descriptor = {
- sizeof vcom_device_descriptor_data,
- vcom_device_descriptor_data
-};
-
-/* Configuration Descriptor tree for a CDC.*/
-static const uint8_t vcom_configuration_descriptor_data[67] = {
- /* Configuration Descriptor.*/
- USB_DESC_CONFIGURATION(67, /* wTotalLength. */
- 0x02, /* bNumInterfaces. */
- 0x01, /* bConfigurationValue. */
- 0, /* iConfiguration. */
- 0xC0, /* bmAttributes (self powered). */
- 50), /* bMaxPower (100mA). */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x00, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x01, /* bNumEndpoints. */
- 0x02, /* bInterfaceClass (Communications
- Interface Class, CDC section
- 4.2). */
- 0x02, /* bInterfaceSubClass (Abstract
- Control Model, CDC section 4.3). */
- 0x01, /* bInterfaceProtocol (AT commands,
- CDC section 4.4). */
- 0), /* iInterface. */
- /* Header Functional Descriptor (CDC section 5.2.3).*/
- USB_DESC_BYTE (5), /* bLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x00), /* bDescriptorSubtype (Header
- Functional Descriptor. */
- USB_DESC_BCD (0x0110), /* bcdCDC. */
- /* Call Management Functional Descriptor. */
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x01), /* bDescriptorSubtype (Call Management
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bmCapabilities (D0+D1). */
- USB_DESC_BYTE (0x01), /* bDataInterface. */
- /* ACM Functional Descriptor.*/
- USB_DESC_BYTE (4), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x02), /* bDescriptorSubtype (Abstract
- Control Management Descriptor). */
- USB_DESC_BYTE (0x02), /* bmCapabilities. */
- /* Union Functional Descriptor.*/
- USB_DESC_BYTE (5), /* bFunctionLength. */
- USB_DESC_BYTE (0x24), /* bDescriptorType (CS_INTERFACE). */
- USB_DESC_BYTE (0x06), /* bDescriptorSubtype (Union
- Functional Descriptor). */
- USB_DESC_BYTE (0x00), /* bMasterInterface (Communication
- Class Interface). */
- USB_DESC_BYTE (0x01), /* bSlaveInterface0 (Data Class
- Interface). */
- /* Endpoint 2 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_INTERRUPT_REQUEST_EP|0x80,
- 0x03, /* bmAttributes (Interrupt). */
- 0x0008, /* wMaxPacketSize. */
- 0xFF), /* bInterval. */
- /* Interface Descriptor.*/
- USB_DESC_INTERFACE (0x01, /* bInterfaceNumber. */
- 0x00, /* bAlternateSetting. */
- 0x02, /* bNumEndpoints. */
- 0x0A, /* bInterfaceClass (Data Class
- Interface, CDC section 4.5). */
- 0x00, /* bInterfaceSubClass (CDC section
- 4.6). */
- 0x00, /* bInterfaceProtocol (CDC section
- 4.7). */
- 0x00), /* iInterface. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00), /* bInterval. */
- /* Endpoint 1 Descriptor.*/
- USB_DESC_ENDPOINT (USBD1_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
- 0x02, /* bmAttributes (Bulk). */
- 0x0040, /* wMaxPacketSize. */
- 0x00) /* bInterval. */
-};
-
-/*
- * Configuration Descriptor wrapper.
- */
-static const USBDescriptor vcom_configuration_descriptor = {
- sizeof vcom_configuration_descriptor_data,
- vcom_configuration_descriptor_data
-};
-
-/*
- * U.S. English language identifier.
- */
-static const uint8_t vcom_string0[] = {
- USB_DESC_BYTE(4), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- USB_DESC_WORD(0x0409) /* wLANGID (U.S. English). */
-};
-
-/*
- * Vendor string.
- */
-static const uint8_t vcom_string1[] = {
- USB_DESC_BYTE(2+2*7), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'N', 0, 'o', 0, 'p', 0, 'e', 0, 'L', 0, 'a', 0, 'b', 0,
-};
-
-/*
- * Device Description string.
- */
-static const uint8_t vcom_string2[] = {
- USB_DESC_BYTE(2+5*2), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- 'C', 0, 'h', 0, 'T', 0, 's', 0, 'y', 0,
-};
-
-/*
- * Serial Number string.
- */
-static const uint8_t vcom_string3[] = {
- USB_DESC_BYTE(8), /* bLength. */
- USB_DESC_BYTE(USB_DESCRIPTOR_STRING), /* bDescriptorType. */
- '0' + CH_KERNEL_MAJOR, 0,
- '0' + CH_KERNEL_MINOR, 0,
- '0' + CH_KERNEL_PATCH, 0
-};
-
-/*
- * Strings wrappers array.
- */
-static const USBDescriptor vcom_strings[] = {
- {sizeof vcom_string0, vcom_string0},
- {sizeof vcom_string1, vcom_string1},
- {sizeof vcom_string2, vcom_string2},
- {sizeof vcom_string3, vcom_string3}
-};
-
-/*
- * Handles the GET_DESCRIPTOR callback. All required descriptors must be
- * handled here.
- */
-static const USBDescriptor *get_descriptor(USBDriver *usbp,
- uint8_t dtype,
- uint8_t dindex,
- uint16_t lang) {
- (void)usbp;
- (void)lang;
- switch (dtype) {
- case USB_DESCRIPTOR_DEVICE:
- return &vcom_device_descriptor;
- case USB_DESCRIPTOR_CONFIGURATION:
- return &vcom_configuration_descriptor;
- case USB_DESCRIPTOR_STRING:
- if (dindex < 4)
- return &vcom_strings[dindex];
- }
- return NULL;
-}
-
-/**
- * @brief IN EP1 state.
- */
-static USBInEndpointState ep1instate;
-
-/**
- * @brief OUT EP1 state.
- */
-static USBOutEndpointState ep1outstate;
-
-/**
- * @brief EP1 initialization structure (both IN and OUT).
- */
-static const USBEndpointConfig ep1config = {
- USB_EP_MODE_TYPE_BULK,
- NULL,
- sduDataTransmitted,
- sduDataReceived,
- 0x0040,
- 0x0040,
- &ep1instate,
- &ep1outstate,
- 2,
- NULL
-};
-
-/**
- * @brief IN EP2 state.
- */
-static USBInEndpointState ep2instate;
-
-/**
- * @brief EP2 initialization structure (IN only).
- */
-static const USBEndpointConfig ep2config = {
- USB_EP_MODE_TYPE_INTR,
- NULL,
- sduInterruptTransmitted,
- NULL,
- 0x0010,
- 0x0000,
- &ep2instate,
- NULL,
- 1,
- NULL
-};
-
-/*
- * Handles the USB driver global events.
- */
-static void usb_event(USBDriver *usbp, usbevent_t event) {
- extern SerialUSBDriver SDU1;
-
- switch (event) {
- case USB_EVENT_RESET:
- return;
- case USB_EVENT_ADDRESS:
- return;
- case USB_EVENT_CONFIGURED:
- chSysLockFromISR();
-
- /* Enables the endpoints specified into the configuration.
- Note, this callback is invoked from an ISR so I-Class functions
- must be used.*/
- usbInitEndpointI(usbp, USBD1_DATA_REQUEST_EP, &ep1config);
- usbInitEndpointI(usbp, USBD1_INTERRUPT_REQUEST_EP, &ep2config);
-
- /* Resetting the state of the CDC subsystem.*/
- sduConfigureHookI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_SUSPEND:
- chSysLockFromISR();
-
- /* Disconnection event on suspend.*/
- sduDisconnectI(&SDU1);
-
- chSysUnlockFromISR();
- return;
- case USB_EVENT_WAKEUP:
- return;
- case USB_EVENT_STALLED:
- return;
- }
- return;
-}
-
-/*
- * Handles the USB driver global events.
- */
-static void sof_handler(USBDriver *usbp) {
-
- (void)usbp;
-
- osalSysLockFromISR();
- sduSOFHookI(&SDU1);
- osalSysUnlockFromISR();
-}
-
-/*
- * USB driver configuration.
- */
-const USBConfig usbcfg = {
- usb_event,
- get_descriptor,
- sduRequestsHook,
- sof_handler
-};
-
-/*
- * Serial over USB driver configuration.
- */
-const SerialUSBConfig serusbcfg = {
- &USBD1,
- USBD1_DATA_REQUEST_EP,
- USBD1_DATA_AVAILABLE_EP,
- USBD1_INTERRUPT_REQUEST_EP
-};
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.h
deleted file mode 100644
index 5aa501e..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
- Based on ChibiOS USB_CDC demo - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _USBCFG_H_
-#define _USBCFG_H_
-
-extern const USBConfig usbcfg;
-extern SerialUSBConfig serusbcfg;
-extern SerialUSBDriver SDU1;
-
-#endif /* _USBCFG_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/Makefile
deleted file mode 100644
index f868337..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/Makefile
+++ /dev/null
@@ -1,213 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_LC/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL26Z64.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/chconf.h
deleted file mode 100644
index d6a7bf8..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY_LC/BOOTLOADER/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY TRUE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/halconf.h
deleted file mode 100644
index bd1d2a3..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/halconf.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY_LC/BOOTLOADER/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/main.c
deleted file mode 100644
index d2c50e6..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/main.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-#define BTN_GPIO TEENSY_PIN2_IOPORT
-#define BTN_PIN TEENSY_PIN2
-
-/*
- * Jump to bootloader on ARM Teensies.
- */
-
-static void jump_to_bootloader(void) {
- /* __asm__ volatile("bkpt"); */
- /* Same as above, CMSIS notation: */
- __BKPT(0);
-}
-
-/*
- * Blink thread.
- */
-
-static THD_WORKING_AREA(waBlinkThread, 128);
-static THD_FUNCTION(BlinkThread, arg) {
- (void)arg;
- uint8_t i;
-
- // while(TRUE) {
- for(i=0; i<5; i++) {
- palSetPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
- chThdSleepMilliseconds(700);
- palClearPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
- chThdSleepMilliseconds(700);
- }
- jump_to_bootloader();
-}
-
-/*
- * Button thread.
- */
-
-static THD_WORKING_AREA(waButtonThread, 128);
-static THD_FUNCTION(ButtonThread, arg) {
- (void)arg;
-
- while(TRUE) {
- if(palReadPad(BTN_GPIO, BTN_PIN) == PAL_LOW) {
- jump_to_bootloader();
- }
- chThdSleepMilliseconds(50);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Button init.
- */
- palSetPadMode(BTN_GPIO, BTN_PIN, PAL_MODE_INPUT_PULLUP);
-
- /*
- * Create the blink thread.
- */
- chThdCreateStatic(waBlinkThread, sizeof(waBlinkThread), NORMALPRIO, BlinkThread, NULL);
-
- /*
- * Create the button thread.
- */
- chThdCreateStatic(waButtonThread, sizeof(waButtonThread), NORMALPRIO, ButtonThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while(TRUE) {
- chThdSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/mcuconf.h
deleted file mode 100644
index 58a15b3..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/mcuconf.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 1
-/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-#if 0
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_USB_USB0_IRQ_PRIORITY 2
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/MKL26Z64.ld b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/MKL26Z64.ld
deleted file mode 100644
index fb141f8..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/MKL26Z64.ld
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
- * (C) 2016 flabbergast <s3+flabbergast@sdfeu.org>
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/*
- * KL26Z64 memory setup.
- */
-MEMORY
-{
- flash0 : org = 0x00000000, len = 0x100
- flash1 : org = 0x00000400, len = 0x10
- flash2 : org = 0x00000410, len = 62k - 0x410
- flash3 : org = 0x0000F800, len = 2k
- flash4 : org = 0x00000000, len = 0
- flash5 : org = 0x00000000, len = 0
- flash6 : org = 0x00000000, len = 0
- flash7 : org = 0x00000000, len = 0
- ram0 : org = 0x1FFFF800, len = 8k
- ram1 : org = 0x00000000, len = 0
- ram2 : org = 0x00000000, len = 0
- ram3 : org = 0x00000000, len = 0
- ram4 : org = 0x00000000, len = 0
- ram5 : org = 0x00000000, len = 0
- ram6 : org = 0x00000000, len = 0
- ram7 : org = 0x00000000, len = 0
-}
-
-/* Flash region for the configuration bytes.*/
-SECTIONS
-{
- .cfmprotect : ALIGN(4) SUBALIGN(4)
- {
- KEEP(*(.cfmconfig))
- } > flash1
-}
-
-/* For each data/text section two region are defined, a virtual region
- and a load region (_LMA suffix).*/
-
-/* Flash region to be used for exception vectors.*/
-REGION_ALIAS("VECTORS_FLASH", flash0);
-REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
-
-/* Flash region to be used for constructors and destructors.*/
-REGION_ALIAS("XTORS_FLASH", flash2);
-REGION_ALIAS("XTORS_FLASH_LMA", flash2);
-
-/* Flash region to be used for code text.*/
-REGION_ALIAS("TEXT_FLASH", flash2);
-REGION_ALIAS("TEXT_FLASH_LMA", flash2);
-
-/* Flash region to be used for read only data.*/
-REGION_ALIAS("RODATA_FLASH", flash2);
-REGION_ALIAS("RODATA_FLASH_LMA", flash2);
-
-/* Flash region to be used for various.*/
-REGION_ALIAS("VARIOUS_FLASH", flash2);
-REGION_ALIAS("VARIOUS_FLASH_LMA", flash2);
-
-/* Flash region to be used for RAM(n) initialization data.*/
-REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2);
-
-/* RAM region to be used for Main stack. This stack accommodates the processing
- of all exceptions and interrupts.*/
-REGION_ALIAS("MAIN_STACK_RAM", ram0);
-
-/* RAM region to be used for the process stack. This is the stack used by
- the main() function.*/
-REGION_ALIAS("PROCESS_STACK_RAM", ram0);
-
-/* RAM region to be used for data segment.*/
-REGION_ALIAS("DATA_RAM", ram0);
-REGION_ALIAS("DATA_RAM_LMA", flash2);
-
-/* RAM region to be used for BSS segment.*/
-REGION_ALIAS("BSS_RAM", ram0);
-
-/* RAM region to be used for the default heap.*/
-REGION_ALIAS("HEAP_RAM", ram0);
-
-__eeprom_workarea_start__ = ORIGIN(flash3);
-__eeprom_workarea_size__ = LENGTH(flash3);
-__eeprom_workarea_end__ = __eeprom_workarea_start__ + __eeprom_workarea_size__;
-
-/* Generic rules inclusion.*/
-INCLUDE rules.ld
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/Makefile
deleted file mode 100644
index a9534fc..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/Makefile
+++ /dev/null
@@ -1,214 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_LC/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT = MKL26Z64.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- eeprom.c \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/README.md b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/README.md
deleted file mode 100644
index 5e11bd1..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Teensy LC EEPROM emulation example
-
-This example emulates 128 bytes of EEPROM, using 2K of flash. Some wear-levelling is done (see comments in `eeprom.c`).
-
-## Credits
-
-Most of the actual EEPROM code is from [PJRC/Teensyduino](https://www.pjrc.com/teensy/teensyduino.html).
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/chconf.h
deleted file mode 100644
index 919e2b0..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY_LC/EEPROM_EMU/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY TRUE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.c
deleted file mode 100644
index 05ee313..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * Eeprom emulation for KL2x chips.
- * (c) 2015 flabbergast
- * Most of the code is from PJRC/Teensyduino (license below)
- *
- * Notes: Some wear-levelling is done:
- * - emulating 128 bytes of eeprom; i.e. 7 bit "eeprom addresses"
- * - using 2048 bytes of flash
- * - new values are written consecutively into flash
- * as 16bit ("eeprom address",value) pairs
- * - if all 2048 bytes of flash is used, it is erased and writes
- * start from the beginning again
- * - the 2048 bytes of flash used are at the end of the flash
- * - BEWARE: there is no protection! Use a custom .ld script
- * to make sure this area is never used for code!
- */
-
-/* Teensyduino Core Library
- * http://www.pjrc.com/teensy/
- * Copyright (c) 2013 PJRC.COM, LLC.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * 1. The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * 2. If the Software is incorporated into a build system that allows
- * selection among a list of target devices, then similar target
- * devices manufactured by PJRC.COM must be included in the list of
- * target devices and selectable in the same manner.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#include "ch.h"
-#include "hal.h"
-
-#define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0))
-
-extern uint32_t __eeprom_workarea_start__;
-extern uint32_t __eeprom_workarea_end__;
-
-#define EEPROM_SIZE 128
-
-static uint32_t flashend = 0;
-
-void eeprom_initialize(void)
-{
- const uint16_t *p = (uint16_t *)SYMVAL(__eeprom_workarea_start__);
-
- do {
- if (*p++ == 0xFFFF) {
- flashend = (uint32_t)(p - 2);
- return;
- }
- } while (p < (uint16_t *)SYMVAL(__eeprom_workarea_end__));
- flashend = (uint32_t)((uint16_t *)SYMVAL(__eeprom_workarea_end__) - 1);
-}
-
-uint8_t eeprom_read_byte(const uint8_t *addr)
-{
- uint32_t offset = (uint32_t)addr;
- const uint16_t *p = (uint16_t *)SYMVAL(__eeprom_workarea_start__);
- const uint16_t *end = (const uint16_t *)((uint32_t)flashend);
- uint16_t val;
- uint8_t data=0xFF;
-
- if (!end) {
- eeprom_initialize();
- end = (const uint16_t *)((uint32_t)flashend);
- }
- if (offset < EEPROM_SIZE) {
- while (p <= end) {
- val = *p++;
- if ((val & 255) == offset) data = val >> 8;
- }
- }
- return data;
-}
-
-static void flash_write(const uint16_t *code, uint32_t addr, uint32_t data)
-{
- // with great power comes great responsibility....
- uint32_t stat;
- *(uint32_t *)&(FTFA->FCCOB3) = 0x06000000 | (addr & 0x00FFFFFC);
- *(uint32_t *)&(FTFA->FCCOB7) = data;
- __disable_irq();
- (*((void (*)(volatile uint8_t *))((uint32_t)code | 1)))(&(FTFA->FSTAT));
- __enable_irq();
- stat = FTFA->FSTAT & (FTFA_FSTAT_RDCOLERR|FTFA_FSTAT_ACCERR|FTFA_FSTAT_FPVIOL);
- if (stat) {
- FTFA->FSTAT = stat;
- }
- MCM->PLACR |= MCM_PLACR_CFCC;
-}
-
-void eeprom_write_byte(uint8_t *addr, uint8_t data)
-{
- uint32_t offset = (uint32_t)addr;
- const uint16_t *p, *end = (const uint16_t *)((uint32_t)flashend);
- uint32_t i, val, flashaddr;
- uint16_t do_flash_cmd[] = {
- 0x2380, 0x7003, 0x7803, 0xb25b, 0x2b00, 0xdafb, 0x4770};
- uint8_t buf[EEPROM_SIZE];
-
- if (offset >= EEPROM_SIZE) return;
- if (!end) {
- eeprom_initialize();
- end = (const uint16_t *)((uint32_t)flashend);
- }
- if (++end < (uint16_t *)SYMVAL(__eeprom_workarea_end__)) {
- val = (data << 8) | offset;
- flashaddr = (uint32_t)end;
- flashend = flashaddr;
- if ((flashaddr & 2) == 0) {
- val |= 0xFFFF0000;
- } else {
- val <<= 16;
- val |= 0x0000FFFF;
- }
- flash_write(do_flash_cmd, flashaddr, val);
- } else {
- for (i=0; i < EEPROM_SIZE; i++) {
- buf[i] = 0xFF;
- }
- for (p = (uint16_t *)SYMVAL(__eeprom_workarea_start__); p < (uint16_t *)SYMVAL(__eeprom_workarea_end__); p++) {
- val = *p;
- if ((val & 255) < EEPROM_SIZE) {
- buf[val & 255] = val >> 8;
- }
- }
- buf[offset] = data;
- for (flashaddr=(uint32_t)(uint16_t *)SYMVAL(__eeprom_workarea_start__); flashaddr < (uint32_t)(uint16_t *)SYMVAL(__eeprom_workarea_end__); flashaddr += 1024) {
- *(uint32_t *)&(FTFA->FCCOB3) = 0x09000000 | flashaddr;
- __disable_irq();
- (*((void (*)(volatile uint8_t *))((uint32_t)do_flash_cmd | 1)))(&(FTFA->FSTAT));
- __enable_irq();
- val = FTFA->FSTAT & (FTFA_FSTAT_RDCOLERR|FTFA_FSTAT_ACCERR|FTFA_FSTAT_FPVIOL);;
- if (val) FTFA->FSTAT = val;
- MCM->PLACR |= MCM_PLACR_CFCC;
- }
- flashaddr=(uint32_t)(uint16_t *)SYMVAL(__eeprom_workarea_start__);
- for (i=0; i < EEPROM_SIZE; i++) {
- if (buf[i] == 0xFF) continue;
- if ((flashaddr & 2) == 0) {
- val = (buf[i] << 8) | i;
- } else {
- val = val | (buf[i] << 24) | (i << 16);
- flash_write(do_flash_cmd, flashaddr, val);
- }
- flashaddr += 2;
- }
- flashend = flashaddr;
- if ((flashaddr & 2)) {
- val |= 0xFFFF0000;
- flash_write(do_flash_cmd, flashaddr, val);
- }
- }
-}
-
-/*
-void do_flash_cmd(volatile uint8_t *fstat)
-{
- *fstat = 0x80;
- while ((*fstat & 0x80) == 0) ; // wait
-}
-00000000 <do_flash_cmd>:
- 0: 2380 movs r3, #128 ; 0x80
- 2: 7003 strb r3, [r0, #0]
- 4: 7803 ldrb r3, [r0, #0]
- 6: b25b sxtb r3, r3
- 8: 2b00 cmp r3, #0
- a: dafb bge.n 4 <do_flash_cmd+0x4>
- c: 4770 bx lr
-*/
-
-
-uint16_t eeprom_read_word(const uint16_t *addr)
-{
- const uint8_t *p = (const uint8_t *)addr;
- return eeprom_read_byte(p) | (eeprom_read_byte(p+1) << 8);
-}
-
-uint32_t eeprom_read_dword(const uint32_t *addr)
-{
- const uint8_t *p = (const uint8_t *)addr;
- return eeprom_read_byte(p) | (eeprom_read_byte(p+1) << 8)
- | (eeprom_read_byte(p+2) << 16) | (eeprom_read_byte(p+3) << 24);
-}
-
-void eeprom_read_block(void *buf, const void *addr, uint32_t len)
-{
- const uint8_t *p = (const uint8_t *)addr;
- uint8_t *dest = (uint8_t *)buf;
- while (len--) {
- *dest++ = eeprom_read_byte(p++);
- }
-}
-
-int eeprom_is_ready(void)
-{
- return 1;
-}
-
-void eeprom_write_word(uint16_t *addr, uint16_t value)
-{
- uint8_t *p = (uint8_t *)addr;
- eeprom_write_byte(p++, value);
- eeprom_write_byte(p, value >> 8);
-}
-
-void eeprom_write_dword(uint32_t *addr, uint32_t value)
-{
- uint8_t *p = (uint8_t *)addr;
- eeprom_write_byte(p++, value);
- eeprom_write_byte(p++, value >> 8);
- eeprom_write_byte(p++, value >> 16);
- eeprom_write_byte(p, value >> 24);
-}
-
-void eeprom_write_block(const void *buf, void *addr, uint32_t len)
-{
- uint8_t *p = (uint8_t *)addr;
- const uint8_t *src = (const uint8_t *)buf;
- while (len--) {
- eeprom_write_byte(p++, *src++);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.h
deleted file mode 100644
index 74cf07b..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Eeprom emulation for KL2x chips.
- * (c) 2015 flabbergast
- * Most of the code is from PJRC/Teensyduino (license in eeprom.c)
- */
-
-#ifndef _EEPROM_H_
-#define _EEPROM_H_
-
-void eeprom_initialize(void);
-int eeprom_is_ready(void);
-uint8_t eeprom_read_byte(const uint8_t *addr);
-uint16_t eeprom_read_word(const uint16_t *addr);
-uint32_t eeprom_read_dword(const uint32_t *addr);
-void eeprom_read_block(void *buf, const void *addr, uint32_t len);
-void eeprom_write_byte(uint8_t *addr, uint8_t data);
-void eeprom_write_word(uint16_t *addr, uint16_t value);
-void eeprom_write_dword(uint32_t *addr, uint32_t value);
-void eeprom_write_block(const void *buf, void *addr, uint32_t len);
-
-#endif /* _EEPROM_H_ */ \ No newline at end of file
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/halconf.h
deleted file mode 100644
index 278db95..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/halconf.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY_LC/EEPROM_EMU/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/main.c
deleted file mode 100644
index c827944..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/main.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-#include "eeprom.h"
-
-#define LED_GPIO TEENSY_PIN13_IOPORT
-#define LED_PIN TEENSY_PIN13
-
-uint8_t n_of_blinks;
-
-static THD_WORKING_AREA(waBlinkThread, 128);
-static THD_FUNCTION(BlinkThread, arg) {
- (void)arg;
- uint8_t i;
-
- for(i=0; i<n_of_blinks; i++) {
- palSetPad(LED_GPIO, LED_PIN);
- chThdSleepMilliseconds(300);
- palClearPad(LED_GPIO, LED_PIN);
- chThdSleepMilliseconds(300);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- n_of_blinks = 0;
-
- uint8_t *ee_addr = (uint8_t *)3;
-
- eeprom_write_byte(ee_addr,5);
- chThdSleepMilliseconds(500);
-
- eeprom_write_byte(ee_addr,10);
- chThdSleepMilliseconds(500);
-
- n_of_blinks = eeprom_read_byte(ee_addr);
-
- /*
- * Create the blink thread.
- */
- chThdCreateStatic(waBlinkThread, sizeof(waBlinkThread), NORMALPRIO, BlinkThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while(TRUE) {
- chThdSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/mcuconf.h
deleted file mode 100644
index 58a15b3..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/mcuconf.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 1
-/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-#if 0
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_USB_USB0_IRQ_PRIORITY 2
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/Makefile b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/Makefile
deleted file mode 100644
index f868337..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/Makefile
+++ /dev/null
@@ -1,213 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_kl2x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/KINETIS/KL2x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/PJRC_TEENSY_LC/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/MKL26Z64.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0plus
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/chconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/chconf.h
deleted file mode 100644
index b18de54..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/chconf.h
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY_LC/PWM/chconf.h
- * @brief Configuration file.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/halconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/halconf.h
deleted file mode 100644
index 9cbb6b9..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/halconf.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file TEENSY_LC/PWM/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/main.c b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/main.c
deleted file mode 100644
index f8e6ba2..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/main.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-#include "hal.h"
-
-#define PWM_DRIVER PWMD1
-
-static void pwmpcb(PWMDriver *pwmp) {
- (void)pwmp;
- palSetLine(LINE_LED);
-}
-
-static void pwmc0cb(PWMDriver *pwmp) {
- (void)pwmp;
- palClearLine(LINE_LED);
-}
-
-static PWMConfig pwmcfg = {
- 12000000, /* 12MHz PWM clock frequency. */
- 12000, /* Initial PWM period 1ms */
- pwmpcb, /* Callback on counter overflow */
- {
- {PWM_OUTPUT_DISABLED, pwmc0cb}, /* ch2: mode, callback! */
- {PWM_OUTPUT_DISABLED, NULL}, /* ch2: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL}, /* ch2: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL}, /* ch3: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL}, /* ch4: mode, no callback */
- {PWM_OUTPUT_DISABLED, NULL} /* ch5: mode, no callback */
- },
-};
-
-/* Breathing Sleep LED brighness(PWM On period) table
- *
- * http://www.wolframalpha.com/input/?i=%28sin%28+x%2F64*pi%29**8+*+255%2C+x%3D0+to+63
- * (0..63).each {|x| p ((sin(x/64.0*PI)**8)*255).to_i }
- */
-/* ruby -e "a = ((0..255).map{|x| Math.exp(Math.cos(Math::PI+(2*x*(Math::PI)/255)))-Math.exp(-1) }); m = a.max; a.map\!{|x| (9900*x/m).to_i+1}; p a" */
-#define BREATHE_STEP 16 /* ms; = 4000ms/TABLE_SIZE */
-#define TABLE_SIZE 256
-static const uint16_t breathing_table[TABLE_SIZE] = {
- 1, 1, 2, 5, 8, 12, 17, 24, 31, 39, 48, 58, 69, 81, 95, 109, 124, 140, 158, 177, 196, 217, 239, 263, 287, 313, 340, 369, 399, 430, 463, 497, 532, 570, 608, 649, 691, 734, 779, 827, 875, 926, 979, 1033, 1090, 1148, 1209, 1271, 1336, 1403, 1472, 1543, 1617, 1693, 1771, 1852, 1935, 2021, 2109, 2199, 2292, 2387, 2486, 2586, 2689, 2795, 2903, 3014, 3127, 3243, 3362, 3482, 3606, 3731, 3859, 3989, 4122, 4256, 4392, 4531, 4671, 4813, 4957, 5102, 5248, 5396, 5545, 5694, 5845, 5995, 6147, 6298, 6449, 6600, 6751, 6901, 7050, 7198, 7344, 7489, 7632, 7772, 7911, 8046, 8179, 8309, 8435, 8557, 8676, 8790, 8900, 9005, 9105, 9201, 9291, 9375, 9454, 9527, 9593, 9654, 9708, 9756, 9797, 9831, 9859, 9880, 9894, 9900, 9901, 9894, 9880, 9859, 9831, 9797, 9756, 9708, 9654, 9593, 9527, 9454, 9375, 9291, 9201, 9105, 9005, 8900, 8790, 8676, 8557, 8435, 8309, 8179, 8046, 7911, 7772, 7632, 7489, 7344, 7198, 7050, 6901, 6751, 6600, 6449, 6298, 6147, 5995, 5845, 5694, 5545, 5396, 5248, 5102, 4957, 4813, 4671, 4531, 4392, 4256, 4122, 3989, 3859, 3731, 3606, 3482, 3362, 3243, 3127, 3014, 2903, 2795, 2689, 2586, 2486, 2387, 2292, 2199, 2109, 2021, 1935, 1852, 1771, 1693, 1617, 1543, 1472, 1403, 1336, 1271, 1209, 1148, 1090, 1033, 979, 926, 875, 827, 779, 734, 691, 649, 608, 570, 532, 497, 463, 430, 399, 369, 340, 313, 287, 263, 239, 217, 196, 177, 158, 140, 124, 109, 95, 81, 69, 58, 48, 39, 31, 24, 17, 12, 8, 5, 2, 1, 1
-};
-
-uint16_t table_pos = 0;
-
-static THD_WORKING_AREA(waBreatheThread, 128);
-static THD_FUNCTION(BreatheThread, arg) {
- (void)arg;
- chRegSetThreadName("breatheThread");
-
- while(!chThdShouldTerminateX()) {
- pwmEnableChannel(&PWM_DRIVER, 0, PWM_PERCENTAGE_TO_WIDTH(&PWM_DRIVER,breathing_table[table_pos]));
- table_pos = (table_pos+1) % TABLE_SIZE;
- chThdSleepMilliseconds(BREATHE_STEP);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Initialize the PWM driver.
- */
- pwmStart(&PWM_DRIVER, &pwmcfg);
- pwmEnablePeriodicNotification(&PWM_DRIVER);
-
- /*
- * Starts the PWM channel 0, turn the LED off.
- */
- pwmEnableChannel(&PWM_DRIVER, 0, 0);
- pwmEnableChannelNotification(&PWM_DRIVER, 0); // MUST be before EnableChannel...
-
- /*
- * Create the breathe thread.
- */
- thread_t *breathe_thread_p;
- breathe_thread_p = chThdCreateStatic(waBreatheThread, sizeof(waBreatheThread), NORMALPRIO, BreatheThread, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (!chThdShouldTerminateX()) {
- chThdSleepMilliseconds(500);
- }
-
- chThdTerminate(breathe_thread_p);
- chThdSleepMilliseconds(2*BREATHE_STEP);
-
- /*
- * Disables channel 0 and stops the drivers.
- */
- pwmDisableChannel(&PWM_DRIVER, 0);
- pwmStop(&PWM_DRIVER);
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/mcuconf.h b/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/mcuconf.h
deleted file mode 100644
index 189fcb6..0000000
--- a/ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/mcuconf.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- ChibiOS - (C) 2015-2016 flabbergast <s3+flabbergast@sdfeu.org>
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define KL2x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#if 1
-/* PEE mode - 48MHz system clock driven by (16 MHz) external crystal. */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_PEE
-#define KINETIS_PLLCLK_FREQUENCY 96000000UL
-#define KINETIS_SYSCLK_FREQUENCY 48000000UL
-#endif
-
-#if 0
-/* crystal-less FEI mode - 48 MHz with internal 32.768 kHz crystal */
-#define KINETIS_MCG_MODE KINETIS_MCG_MODE_FEI
-#define KINETIS_MCG_FLL_DMX32 1 /* Fine-tune for 32.768 kHz */
-#define KINETIS_MCG_FLL_DRS 1 /* 1464x FLL factor */
-#define KINETIS_SYSCLK_FREQUENCY 47972352UL /* 32.768 kHz * 1464 (~48 MHz) */
-#define KINETIS_CLKDIV1_OUTDIV1 1 /* do not divide system clock */
-#endif
-
-/*
- * SERIAL driver system settings.
- */
-#define KINETIS_SERIAL_USE_UART0 TRUE
-
-/*
- * USB driver settings
- */
-#define KINETIS_USB_USE_USB0 TRUE
-/* need to redefine this, since the default is for K20x */
-#define KINETIS_USB_USB0_IRQ_PRIORITY 2
-
-/*
- * PWM driver settings.
- */
-#define KINETIS_PWM_USE_TPM0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/Makefile b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/Makefile
deleted file mode 100644
index cf81f18..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/Makefile
+++ /dev/null
@@ -1,206 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Optimization level, can be [0, 1, 2, 3, s].
-# 0 = turn off optimization. s = optimize for size.
-# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
-OPTIMIZE = 0
-
-# Debugging format.
-DEBUG =
-#DEBUG = stabs
-
-# Memory/data model
-MODEL = small
-
-# Object files directory
-# To put object files in current directory, use a dot (.), do NOT make
-# this an empty or blank macro!
-OBJDIR = .
-
-# Compiler flag to set the C Standard level.
-# c89 = "ANSI" C
-# gnu89 = c89 plus GCC extensions
-# c99 = ISO C99 standard (not yet fully implemented)
-# gnu99 = c99 plus GCC extensions
-CSTANDARD = -std=gnu11
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O$(OPTIMIZE) -g$(DEBUG)
- USE_OPT += -funsigned-char -fshort-enums
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# Enable the selected hardware multiplier
-ifeq ($(USE_HWMULT),)
- USE_HWMULT = f5series
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = yes
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the idle thread stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_IDLE_STACKSIZE),)
- USE_IDLE_STACKSIZE = 0xC00
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = nil
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = ../../../..
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/MSP430X/compilers/GCC/mk/startup_msp430fr5xxx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/EXP430FR5969/board.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/MSP430X/platform.mk
-include $(CHIBIOS)/os/hal/osal/nil/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/nil/nil.mk
-include $(CHIBIOS_CONTRIB)/os/common/ports/MSP430X/compilers/GCC/mk/port.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/msp430fr5969.ld
-
-# C sources
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- msp_vectors.c \
- main.c
-
-# C++ sources
-CPPSRC =
-
-# List ASM source files here
-ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = msp430fr5969
-
-TRGT = msp430-elf-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# MSP430-specific options here
-MOPT = -m$(MODEL)
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS_CONTRIB)/os/common/startup/MSP430X/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/chconf.h b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/chconf.h
deleted file mode 100644
index cb45526..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/chconf.h
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2016 Andrew Wygle aka awygle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file nilconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_NIL_CONF_
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Number of user threads in the application.
- * @note This number is not inclusive of the idle thread which is
- * Implicitly handled.
- */
-#define CH_CFG_NUM_THREADS 1
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name System timer settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 16
-
-/**
- * @brief System tick frequency.
- * @note This value together with the @p CH_CFG_ST_RESOLUTION
- * option defines the maximum amount of time allowed for
- * timeouts.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note Feature not currently implemented.
- * @note The default is @p FALSE.
- */
-#define CH_CFG_USE_MUTEXES FALSE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note Feature not currently implemented.
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief System assertions.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Stack check.
- *
- *@note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System initialization hook.
- */
-#if !defined(CH_CFG_SYSTEM_INIT_HOOK) || defined(__DOXYGEN__)
-#define CH_CFG_SYSTEM_INIT_HOOK() { \
-}
-#endif
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXT_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- */
-#define CH_CFG_THREAD_EXT_INIT_HOOK(tr) { \
- /* Add custom threads initialization code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief System halt hook.
- */
-#if !defined(CH_CFG_SYSTEM_HALT_HOOK) || defined(__DOXYGEN__)
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
-}
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in nilcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/halconf.h b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/halconf.h
deleted file mode 100644
index 81a620d..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/halconf.h
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2016 Andrew Wygle aka awygle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the DMA subsystem.
- */
-#if !defined(HAL_USE_DMA) || defined(__DOXYGEN__)
-#define HAL_USE_DMA TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE FALSE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS FALSE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING FALSE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING FALSE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/main.c b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/main.c
deleted file mode 100644
index 1929af1..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/main.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-#include "hal_dma_lld.h"
-#include "string.h"
-
-const char * start_msg = "\r\n\r\nExecuting DMA test suite...\r\n";
-const char * test_1_msg =
- "TEST 1: Word-to-word memcpy with DMA engine, no callbacks\r\n";
-const char * test_2_msg =
- "TEST 2: Byte-to-byte memcpy with DMA engine, no callbacks\r\n";
-const char * test_3_msg =
- "TEST 3: Byte-to-byte memset with DMA engine, no callbacks\r\n";
-const char * test_4_msg =
- "TEST 4: Word-to-word memcpy with DMA engine, with callback\r\n";
-const char * test_5_msg =
- "TEST 5: Claim DMA channel 0, perform a Word-to-word memcpy\r\n";
-const char * test_6_msg = "TEST 6: Attempt to claim already claimed DMA "
- "channel, fail. Release it, try to claim it again, "
- "and succeed.\r\n";
-const char * test_7_msg = "TEST 7: Claim DMA channel 1, perform a Word-to-word "
- "memcpy, and release it\r\n";
-
-const char * succeed_string = "SUCCESS\r\n\r\n";
-const char * fail_string = "FAILURE\r\n\r\n";
-
-char instring[256];
-char outstring[256];
-msp430x_dma_req_t * request;
-uint8_t cb_arg = 1;
-
-void dma_callback_test(void * args) {
-
- *((uint8_t *)args) = 0;
-}
-
-msp430x_dma_req_t test_1_req = {
- instring, /* source address */
- outstring, /* destination address */
- 9, /* number of words */
- MSP430X_DMA_SRCINCR | MSP430X_DMA_DSTINCR, /* address mode - dual increment */
- MSP430X_DMA_SRCWORD | MSP430X_DMA_DSTWORD, /* word transfer */
- MSP430X_DMA_BLOCK, /* block (and blocking) transfer */
- DMA_TRIGGER_MNEM(DMAREQ), /* software-requested trigger */
- {
- NULL, /* no callback */
- NULL /* no arguments */
- }
-};
-
-msp430x_dma_req_t test_2_req = {
- instring, /* source address */
- outstring, /* destination address */
- 18, /* number of bytes */
- MSP430X_DMA_SRCINCR | MSP430X_DMA_DSTINCR, /* address mode - dual increment */
- MSP430X_DMA_SRCBYTE | MSP430X_DMA_DSTBYTE, /* byte transfer */
- MSP430X_DMA_BLOCK, /* block (and blocking) transfer */
- DMA_TRIGGER_MNEM(DMAREQ), /* software-requested trigger */
- {
- NULL, /* no callback */
- NULL /* no arguments */
- }
-};
-
-msp430x_dma_req_t test_3_req = {
- instring, /* source address */
- outstring, /* destination address */
- 16, /* number of words */
- MSP430X_DMA_DSTINCR, /* address mode - dest increment only */
- MSP430X_DMA_SRCBYTE | MSP430X_DMA_DSTBYTE, /* word transfer */
- MSP430X_DMA_BLOCK, /* block (and blocking) transfer */
- DMA_TRIGGER_MNEM(DMAREQ), /* software-requested trigger */
- {
- NULL, /* no callback */
- NULL /* no arguments */
- }
-};
-
-msp430x_dma_req_t test_4_req = {
- instring, /* source address */
- outstring, /* destination address */
- 9, /* number of words */
- MSP430X_DMA_SRCINCR | MSP430X_DMA_DSTINCR, /* address mode - dual increment */
- MSP430X_DMA_SRCWORD | MSP430X_DMA_DSTWORD, /* word transfer */
- MSP430X_DMA_BLOCK, /* block (and blocking) transfer */
- DMA_TRIGGER_MNEM(DMAREQ), /* software-requested trigger */
- {
- &dma_callback_test, /* test callback */
- &cb_arg /* test arguments */
- }
-};
-
-msp430x_dma_req_t test_5_req = {
- instring, /* source address */
- outstring, /* destination address */
- 9, /* number of words */
- MSP430X_DMA_SRCINCR | MSP430X_DMA_DSTINCR, /* address mode - dual increment */
- MSP430X_DMA_SRCWORD | MSP430X_DMA_DSTWORD, /* word transfer */
- MSP430X_DMA_BLOCK, /* block (and blocking) transfer */
- DMA_TRIGGER_MNEM(DMAREQ), /* software-requested trigger */
- {
- NULL, /* no callback */
- NULL /* no arguments */
- }
-};
-
-msp430x_dma_ch_t ch = { NULL, 0, NULL };
-
-/*
- * Thread 2.
- */
-THD_WORKING_AREA(waThread1, 2048);
-THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
-
- /*
- * Activate the serial driver 0 using the driver default configuration.
- */
- sdStart(&SD0, NULL);
-
- while (chnGetTimeout(&SD0, TIME_INFINITE)) {
- chnWrite(&SD0, (const uint8_t *)start_msg, strlen(start_msg));
- chThdSleepMilliseconds(2000);
-
- /* Test 1 - use DMA engine to execute a word-wise memory-to-memory copy. */
- chnWrite(&SD0, (const uint8_t *)test_1_msg, strlen(test_1_msg));
- strcpy(instring, "After DMA test \r\n");
- strcpy(outstring, "Before DMA test \r\n");
- if (strcmp("Before DMA test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- request = &test_1_req;
- dmaRequest(request, TIME_INFINITE);
- if (strcmp("After DMA test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 2 - use DMA engine to execute a byte-wise memory-to-memory copy. */
- chnWrite(&SD0, (const uint8_t *)test_2_msg, strlen(test_2_msg));
- strcpy(instring, "After DMA test \r\n");
- strcpy(outstring, "Before DMA test \r\n");
- if (strcmp("Before DMA test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- request = &test_2_req;
- dmaRequest(request, TIME_INFINITE);
- if (strcmp("After DMA test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 3 - use DMA engine to execute a word-wise memory-to-memory set. */
- chnWrite(&SD0, (const uint8_t *)test_3_msg, strlen(test_3_msg));
- strcpy(instring, "After DMA test \r\n");
- strcpy(outstring, "Before DMA test \r\n");
- if (strcmp("Before DMA test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- request = &test_3_req;
- dmaRequest(request, TIME_INFINITE);
- if (strcmp("AAAAAAAAAAAAAAAA\r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 4 - use DMA engine to execute a word-wise memory-to-memory copy,
- * then call a callback. */
- chnWrite(&SD0, (const uint8_t *)test_4_msg, strlen(test_4_msg));
- strcpy(instring, "After DMA test \r\n");
- strcpy(outstring, "Before DMA test \r\n");
- cb_arg = 1;
- if (strcmp("Before DMA test \r\n", outstring) || (cb_arg != 1)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- request = &test_4_req;
- dmaRequest(request, TIME_INFINITE);
- if (strcmp("After DMA test \r\n", outstring) || cb_arg) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 5 - use exclusive DMA channel 0 to execute a word-wise
- * memory-to-memory copy. */
- chnWrite(&SD0, (const uint8_t *)test_5_msg, strlen(test_5_msg));
- strcpy(instring, "After DMA test \r\n");
- strcpy(outstring, "Before DMA test \r\n");
- if (strcmp("Before DMA test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- request = &test_5_req;
- dmaAcquire(&ch, 0);
- dmaTransfer(&ch, request);
- if (strcmp("After DMA test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 6 - Attempt to claim DMA channel 0, fail, release it, attempt to
- * claim it again */
- chnWrite(&SD0, (const uint8_t *)test_6_msg, strlen(test_6_msg));
- if (!dmaAcquire(&ch, 0)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- dmaRelease(&ch);
- if (dmaAcquire(&ch, 0)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
- dmaRelease(&ch);
-
- /* Test 7 - use exclusive DMA channel 1 to execute a word-wise
- * memory-to-memory copy. */
- chnWrite(&SD0, (const uint8_t *)test_7_msg, strlen(test_7_msg));
- strcpy(instring, "After DMA test \r\n");
- strcpy(outstring, "Before DMA test \r\n");
- if (strcmp("Before DMA test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- request = &test_5_req;
- dmaAcquire(&ch, 1);
- dmaTransfer(&ch, request);
- if (strcmp("After DMA test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
- dmaRelease(&ch);
- }
-}
-
-/*
- * Threads static table, one entry per thread. The number of entries must
- * match NIL_CFG_NUM_THREADS.
- */
-THD_TABLE_BEGIN
- THD_TABLE_ENTRY(waThread1, "dma_test", Thread1, NULL)
-THD_TABLE_END
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- WDTCTL = WDTPW | WDTHOLD;
-
- halInit();
- chSysInit();
- dmaInit();
-
- /* This is now the idle thread loop, you may perform here a low priority
- task but you must never try to sleep or wait in this loop. Note that
- this tasks runs at the lowest priority level so any instruction added
- here will be executed after all other tasks have been started.*/
- while (true) {
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/mcuconf.h b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/mcuconf.h
deleted file mode 100644
index f47ee12..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/mcuconf.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2016 Andrew Wygle aka awygle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * MSP430X drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the driver
- * is enabled in halconf.h.
- *
- */
-
-#define MSP430X_MCUCONF
-
-/* HAL driver system settings */
-#define MSP430X_ACLK_SRC MSP430X_VLOCLK
-#define MSP430X_LFXTCLK_FREQ 0
-#define MSP430X_HFXTCLK_FREQ 0
-#define MSP430X_DCOCLK_FREQ 8000000
-#define MSP430X_MCLK_DIV 1
-#define MSP430X_SMCLK_DIV 32
-
-/*
- * SERIAL driver system settings.
- */
-#define MSP430X_SERIAL_USE_USART0 TRUE
-#define MSP430X_USART0_CLK_SRC MSP430X_SMCLK_SRC
-#define MSP430X_SERIAL_USE_USART1 FALSE
-#define MSP430X_SERIAL_USE_USART2 FALSE
-#define MSP430X_SERIAL_USE_USART3 FALSE
-
-/*
- * ST driver system settings.
- */
-#define MSP430X_ST_CLK_SRC MSP430X_SMCLK_SRC
-#define MSP430X_ST_TIMER_TYPE B
-#define MSP430X_ST_TIMER_INDEX 0
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/msp_vectors.c b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/msp_vectors.c
deleted file mode 100644
index 8968fb9..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/msp_vectors.c
+++ /dev/null
@@ -1,316 +0,0 @@
-#include <msp430.h>
-
-__attribute__((interrupt(1)))
-void Vector1(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(2)))
-void Vector2(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(3)))
-void Vector3(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(4)))
-void Vector4(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(5)))
-void Vector5(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(6)))
-void Vector6(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(7)))
-void Vector7(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(8)))
-void Vector8(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(9)))
-void Vector9(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(10)))
-void Vector10(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(11)))
-void Vector11(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(12)))
-void Vector12(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(13)))
-void Vector13(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(14)))
-void Vector14(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(15)))
-void Vector15(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(16)))
-void Vector16(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(17)))
-void Vector17(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(18)))
-void Vector18(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(19)))
-void Vector19(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(20)))
-void Vector20(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(21)))
-void Vector21(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(22)))
-void Vector22(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(23)))
-void Vector23(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(24)))
-void Vector24(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(25)))
-void Vector25(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(26)))
-void Vector26(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(27)))
-void Vector27(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(28)))
-void Vector28(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(29)))
-void Vector29(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(30)))
-void Vector30(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(31)))
-void Vector31(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(32)))
-void Vector32(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(33)))
-void Vector33(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(34)))
-void Vector34(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(35)))
-void Vector35(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(36)))
-void Vector36(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(37)))
-void Vector37(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(38)))
-void Vector38(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(39)))
-void Vector39(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(40)))
-void Vector40(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(41)))
-void Vector41(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(42)))
-void Vector42(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(44)))
-void Vector44(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(45)))
-void Vector45(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(46)))
-void Vector46(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(47)))
-void Vector47(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(48)))
-void Vector48(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(50)))
-void Vector50(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(51)))
-void Vector51(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(53)))
-void Vector53(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(54)))
-void Vector54(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(55)))
-void Vector55(void) {
-
- while (1) {
- }
-}
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/Makefile b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/Makefile
deleted file mode 100644
index cf81f18..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/Makefile
+++ /dev/null
@@ -1,206 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Optimization level, can be [0, 1, 2, 3, s].
-# 0 = turn off optimization. s = optimize for size.
-# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
-OPTIMIZE = 0
-
-# Debugging format.
-DEBUG =
-#DEBUG = stabs
-
-# Memory/data model
-MODEL = small
-
-# Object files directory
-# To put object files in current directory, use a dot (.), do NOT make
-# this an empty or blank macro!
-OBJDIR = .
-
-# Compiler flag to set the C Standard level.
-# c89 = "ANSI" C
-# gnu89 = c89 plus GCC extensions
-# c99 = ISO C99 standard (not yet fully implemented)
-# gnu99 = c99 plus GCC extensions
-CSTANDARD = -std=gnu11
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O$(OPTIMIZE) -g$(DEBUG)
- USE_OPT += -funsigned-char -fshort-enums
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# Enable the selected hardware multiplier
-ifeq ($(USE_HWMULT),)
- USE_HWMULT = f5series
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = yes
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the idle thread stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_IDLE_STACKSIZE),)
- USE_IDLE_STACKSIZE = 0xC00
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = nil
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = ../../../..
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/MSP430X/compilers/GCC/mk/startup_msp430fr5xxx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/EXP430FR5969/board.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/MSP430X/platform.mk
-include $(CHIBIOS)/os/hal/osal/nil/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/nil/nil.mk
-include $(CHIBIOS_CONTRIB)/os/common/ports/MSP430X/compilers/GCC/mk/port.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/msp430fr5969.ld
-
-# C sources
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- msp_vectors.c \
- main.c
-
-# C++ sources
-CPPSRC =
-
-# List ASM source files here
-ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = msp430fr5969
-
-TRGT = msp430-elf-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# MSP430-specific options here
-MOPT = -m$(MODEL)
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS_CONTRIB)/os/common/startup/MSP430X/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/chconf.h b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/chconf.h
deleted file mode 100644
index cb45526..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/chconf.h
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2016 Andrew Wygle aka awygle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file nilconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_NIL_CONF_
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Number of user threads in the application.
- * @note This number is not inclusive of the idle thread which is
- * Implicitly handled.
- */
-#define CH_CFG_NUM_THREADS 1
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name System timer settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 16
-
-/**
- * @brief System tick frequency.
- * @note This value together with the @p CH_CFG_ST_RESOLUTION
- * option defines the maximum amount of time allowed for
- * timeouts.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note Feature not currently implemented.
- * @note The default is @p FALSE.
- */
-#define CH_CFG_USE_MUTEXES FALSE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note Feature not currently implemented.
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief System assertions.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Stack check.
- *
- *@note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System initialization hook.
- */
-#if !defined(CH_CFG_SYSTEM_INIT_HOOK) || defined(__DOXYGEN__)
-#define CH_CFG_SYSTEM_INIT_HOOK() { \
-}
-#endif
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXT_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- */
-#define CH_CFG_THREAD_EXT_INIT_HOOK(tr) { \
- /* Add custom threads initialization code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief System halt hook.
- */
-#if !defined(CH_CFG_SYSTEM_HALT_HOOK) || defined(__DOXYGEN__)
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
-}
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in nilcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/halconf.h b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/halconf.h
deleted file mode 100644
index 083e124..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/halconf.h
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2016 Andrew Wygle aka awygle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the DMA subsystem.
- */
-#if !defined(HAL_USE_DMA) || defined(__DOXYGEN__)
-#define HAL_USE_DMA TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI TRUE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE FALSE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS FALSE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING FALSE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING FALSE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/main.c b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/main.c
deleted file mode 100644
index 17f5c86..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/main.c
+++ /dev/null
@@ -1,395 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-#include "hal_dma_lld.h"
-#include "string.h"
-
-/* Disable watchdog because of lousy startup code in newlib */
-static void __attribute__((naked, section(".crt_0042disable_watchdog"), used))
-disable_watchdog(void) {
- WDTCTL = WDTPW | WDTHOLD;
-}
-
-const char * start_msg = "\r\n\r\nExecuting SPI test suite...\r\n";
-const char * test_1_msg = "TEST 1: spiStartIgnore, with callback\r\n";
-const char * test_2_msg = "TEST 2: spiStartExchange, with callback\r\n";
-const char * test_3_msg = "TEST 3: spiStartSend, with callback\r\n";
-const char * test_4_msg = "TEST 4: spiStartReceive, with callback\r\n";
-const char * test_5_msg = "TEST 5: spiIgnore\r\n";
-const char * test_6_msg = "TEST 6: spiExchange\r\n";
-const char * test_7_msg = "TEST 7: spiSend\r\n";
-const char * test_8_msg = "TEST 8: spiReceive\r\n";
-const char * test_9_msg = "TEST 9: spiStartExchange with exclusive DMA\r\n";
-const char * test_10_msg =
- "TEST 10: spiStartExchange with exclusive DMA for TX\r\n";
-const char * test_11_msg =
- "TEST 11: spiStartExchange with exclusive DMA for RX\r\n";
-
-const char * succeed_string = "SUCCESS\r\n\r\n";
-const char * fail_string = "FAILURE\r\n\r\n";
-
-char instring[256];
-char outstring[256];
-uint8_t cb_arg = 1;
-
-void spi_callback(SPIDriver * spip) {
- (void)spip;
- cb_arg = 0;
-}
-
-SPIConfig SPIDA1_config = {
- spi_callback, /* callback */
- PAL_NOLINE, /* hardware slave select line */
- 250000, /* data rate */
- MSP430X_SPI_BO_LSB, /* bit order */
- MSP430X_SPI_DS_EIGHT, /* data size */
- 0, /* SPI mode */
- 0xFFU, /* no exclusive TX DMA */
- 0xFFU /* no exclusive RX DMA */
-};
-
-SPIConfig SPIDB0_config = {
- NULL, /* callback */
- LINE_LED_G, /* GPIO slave select line */
- 1000, /* data rate */
- MSP430X_SPI_BO_MSB, /* bit order */
- MSP430X_SPI_DS_SEVEN, /* data size */
- 3, /* SPI mode */
- 0xFF, /* no exclusive TX DMA */
- 0xFF /* no exclusive RX DMA */
-};
-
-/*
- * Thread 2.
- */
-THD_WORKING_AREA(waThread1, 4096);
-THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
-
- /* Set up loopback mode for testing */
- SPIDA1.regs->statw_a |= UCLISTEN;
- SPIDB0.regs->statw_b |= UCLISTEN;
-
- /*
- * Activate the serial driver 0 using the driver default configuration.
- */
- sdStart(&SD0, NULL);
-
- /* Activate the SPI driver A1 using its config */
- spiStart(&SPIDA1, &SPIDA1_config);
- /* Activate the SPI driver B0 using its config */
- spiStart(&SPIDB0, &SPIDB0_config);
-
- while (chnGetTimeout(&SD0, TIME_INFINITE)) {
- chnWrite(&SD0, (const uint8_t *)start_msg, strlen(start_msg));
- chThdSleepMilliseconds(2000);
-
- /* Test 1 - spiStartIgnore with callback */
- chnWrite(&SD0, (const uint8_t *)test_1_msg, strlen(test_1_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- cb_arg = 1;
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 1) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDA1);
- spiStartIgnore(&SPIDA1, strlen(outstring));
- while (SPIDA1.state != SPI_READY)
- ; /* wait for transaction to finish */
- spiUnselect(&SPIDA1);
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 0) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 2 - spiStartExchange with callback */
- chnWrite(&SD0, (const uint8_t *)test_2_msg, strlen(test_2_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- cb_arg = 1;
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 1) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDA1);
- spiStartExchange(&SPIDA1, strlen(instring), outstring, instring);
- while (SPIDA1.state != SPI_READY)
- ; /* wait for transaction to finish */
- spiUnselect(&SPIDA1);
- if (strcmp("After SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 0) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 3 - spiStartSend with callback */
- chnWrite(&SD0, (const uint8_t *)test_3_msg, strlen(test_3_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- cb_arg = 1;
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 1) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDA1);
- spiStartSend(&SPIDA1, strlen(outstring), outstring);
- while (SPIDA1.state != SPI_READY)
- ; /* wait for transaction to finish */
- spiUnselect(&SPIDA1);
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 0) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 4 - spiStartReceive with callback */
- chnWrite(&SD0, (const uint8_t *)test_4_msg, strlen(test_4_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- cb_arg = 1;
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 1) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDA1);
- chThdSleepMilliseconds(2000);
- spiStartReceive(&SPIDA1, strlen(instring), instring);
- while (SPIDA1.state != SPI_READY)
- ; /* wait for transaction to finish */
- spiUnselect(&SPIDA1);
- if (strcmp("After SPI test \r\n", outstring) ||
- strcmp("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
- "\xff\xff\xff",
- instring) ||
- cb_arg != 0) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 5 - spiIgnore */
- chnWrite(&SD0, (const uint8_t *)test_5_msg, strlen(test_5_msg));
- strcpy(instring, "After SPI test \r\n");
- strcpy(outstring, "Before SPI test \r\n");
- if (strcmp("Before SPI test \r\n", outstring) ||
- strcmp("After SPI test \r\n", instring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDB0);
- chThdSleepMilliseconds(2000);
- spiIgnore(&SPIDB0, strlen(outstring));
- spiUnselect(&SPIDB0);
- if (strcmp("After SPI test \r\n", instring) ||
- strcmp("Before SPI test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 6 - spiExchange */
- chnWrite(&SD0, (const uint8_t *)test_6_msg, strlen(test_6_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDB0);
- spiExchange(&SPIDB0, strlen(outstring), outstring, instring);
- spiUnselect(&SPIDB0);
- if (strcmp("After SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 7 - spiSend */
- chnWrite(&SD0, (const uint8_t *)test_7_msg, strlen(test_7_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDB0);
- spiSend(&SPIDB0, strlen(outstring), outstring);
- spiUnselect(&SPIDB0);
- if (strcmp("After SPI test \r\n", outstring) ||
- strcmp("Before SPI test \r\n", instring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Test 8 - spiReceive */
- chnWrite(&SD0, (const uint8_t *)test_8_msg, strlen(test_8_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDB0);
- spiReceive(&SPIDB0, strlen(instring), instring);
- spiUnselect(&SPIDB0);
- if (strcmp("After SPI test \r\n", outstring) ||
- strcmp("\x7f\x7f\x7f\x7f\x7f\x7f\x7f\x7f\x7f\x7f\x7f\x7f\x7f\x7f\x7f"
- "\x7f\x7f\x7f",
- instring)) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Reconfigure SPIDA1 to use exclusive DMA for both */
- spiStop(&SPIDA1);
- SPIDA1_config.dmatx_index = 0;
- SPIDA1_config.dmarx_index = 1;
- SPIDA1_config.spi_mode = 1; /* because why not get coverage */
- spiStart(&SPIDA1, &SPIDA1_config);
-
- /* Test 9 - spiStartExchange with exclusive DMA */
- chnWrite(&SD0, (const uint8_t *)test_9_msg, strlen(test_9_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- cb_arg = 1;
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 1) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDA1);
- spiStartExchange(&SPIDA1, strlen(outstring), outstring, instring);
- while (SPIDA1.state != SPI_READY)
- ; /* wait for transaction to finish */
- spiUnselect(&SPIDA1);
- if (strcmp("After SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 0) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Reconfigure SPIDA1 to use exclusive DMA for TX only */
- spiStop(&SPIDA1);
- SPIDA1_config.dmatx_index = 0;
- SPIDA1_config.dmarx_index = 0xFFU;
- SPIDA1_config.spi_mode = 2; /* because why not get coverage */
- spiStart(&SPIDA1, &SPIDA1_config);
-
- /* Test 10 - spiStartExchange with exclusive DMA for TX */
- chnWrite(&SD0, (const uint8_t *)test_10_msg, strlen(test_10_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- cb_arg = 1;
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 1) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDA1);
- spiStartExchange(&SPIDA1, strlen(outstring), outstring, instring);
- while (SPIDA1.state != SPI_READY)
- ; /* wait for transaction to finish */
- spiUnselect(&SPIDA1);
- if (strcmp("After SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 0) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
-
- /* Reconfigure SPIDA1 to use exclusive DMA for TX only */
- spiStop(&SPIDA1);
- SPIDA1_config.dmatx_index = 0xFFU;
- SPIDA1_config.dmarx_index = 1;
- SPIDA1_config.spi_mode = 3; /* because why not get coverage */
- spiStart(&SPIDA1, &SPIDA1_config);
-
- /* Test 11 - spiStartExchange with exclusive DMA for RX */
- chnWrite(&SD0, (const uint8_t *)test_11_msg, strlen(test_11_msg));
- strcpy(outstring, "After SPI test \r\n");
- strcpy(instring, "Before SPI test \r\n");
- cb_arg = 1;
- if (strcmp("Before SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 1) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- spiSelect(&SPIDA1);
- spiStartExchange(&SPIDA1, strlen(outstring), outstring, instring);
- while (SPIDA1.state != SPI_READY)
- ; /* wait for transaction to finish */
- spiUnselect(&SPIDA1);
- if (strcmp("After SPI test \r\n", instring) ||
- strcmp("After SPI test \r\n", outstring) || cb_arg != 0) {
- chnWrite(&SD0, (const uint8_t *)fail_string, strlen(fail_string));
- }
- else {
- chnWrite(&SD0, (const uint8_t *)succeed_string, strlen(succeed_string));
- }
- }
-}
-
-/*
- * Threads static table, one entry per thread. The number of entries must
- * match NIL_CFG_NUM_THREADS.
- */
-THD_TABLE_BEGIN
- THD_TABLE_ENTRY(waThread1, "spi_test", Thread1, NULL)
-THD_TABLE_END
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- WDTCTL = WDTPW | WDTHOLD;
-
- halInit();
- chSysInit();
- dmaInit();
-
- /* This is now the idle thread loop, you may perform here a low priority
- task but you must never try to sleep or wait in this loop. Note that
- this tasks runs at the lowest priority level so any instruction added
- here will be executed after all other tasks have been started.*/
- while (true) {
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/mcuconf.h b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/mcuconf.h
deleted file mode 100644
index 5cacf76..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/mcuconf.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2016 Andrew Wygle aka awygle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * MSP430X drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the driver
- * is enabled in halconf.h.
- *
- */
-
-#define MSP430X_MCUCONF
-
-/* HAL driver system settings */
-#define MSP430X_ACLK_SRC MSP430X_VLOCLK
-#define MSP430X_LFXTCLK_FREQ 0
-#define MSP430X_HFXTCLK_FREQ 0
-#define MSP430X_DCOCLK_FREQ 8000000
-#define MSP430X_MCLK_DIV 1
-#define MSP430X_SMCLK_DIV 32
-
-/*
- * SERIAL driver system settings.
- */
-#define MSP430X_SERIAL_USE_USART0 TRUE
-#define MSP430X_USART0_CLK_SRC MSP430X_SMCLK_SRC
-#define MSP430X_SERIAL_USE_USART1 FALSE
-#define MSP430X_SERIAL_USE_USART2 FALSE
-#define MSP430X_SERIAL_USE_USART3 FALSE
-
-/*
- * ST driver system settings.
- */
-#define MSP430X_ST_CLK_SRC MSP430X_SMCLK_SRC
-#define MSP430X_ST_TIMER_TYPE B
-#define MSP430X_ST_TIMER_INDEX 0
-
-/*
- * SPI driver system settings.
- */
-#define MSP430X_SPI_USE_SPIA1 TRUE
-#define MSP430X_SPI_USE_SPIB0 TRUE
-#define MSP430X_SPI_EXCLUSIVE_DMA TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/msp_vectors.c b/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/msp_vectors.c
deleted file mode 100644
index 8968fb9..0000000
--- a/ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/msp_vectors.c
+++ /dev/null
@@ -1,316 +0,0 @@
-#include <msp430.h>
-
-__attribute__((interrupt(1)))
-void Vector1(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(2)))
-void Vector2(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(3)))
-void Vector3(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(4)))
-void Vector4(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(5)))
-void Vector5(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(6)))
-void Vector6(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(7)))
-void Vector7(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(8)))
-void Vector8(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(9)))
-void Vector9(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(10)))
-void Vector10(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(11)))
-void Vector11(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(12)))
-void Vector12(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(13)))
-void Vector13(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(14)))
-void Vector14(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(15)))
-void Vector15(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(16)))
-void Vector16(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(17)))
-void Vector17(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(18)))
-void Vector18(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(19)))
-void Vector19(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(20)))
-void Vector20(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(21)))
-void Vector21(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(22)))
-void Vector22(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(23)))
-void Vector23(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(24)))
-void Vector24(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(25)))
-void Vector25(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(26)))
-void Vector26(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(27)))
-void Vector27(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(28)))
-void Vector28(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(29)))
-void Vector29(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(30)))
-void Vector30(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(31)))
-void Vector31(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(32)))
-void Vector32(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(33)))
-void Vector33(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(34)))
-void Vector34(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(35)))
-void Vector35(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(36)))
-void Vector36(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(37)))
-void Vector37(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(38)))
-void Vector38(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(39)))
-void Vector39(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(40)))
-void Vector40(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(41)))
-void Vector41(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(42)))
-void Vector42(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(44)))
-void Vector44(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(45)))
-void Vector45(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(46)))
-void Vector46(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(47)))
-void Vector47(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(48)))
-void Vector48(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(50)))
-void Vector50(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(51)))
-void Vector51(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(53)))
-void Vector53(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(54)))
-void Vector54(void) {
-
- while (1) {
- }
-}
-__attribute__((interrupt(55)))
-void Vector55(void) {
-
- while (1) {
- }
-}
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/Makefile b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/Makefile
deleted file mode 100644
index 69d6e90..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/Makefile
+++ /dev/null
@@ -1,211 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_nrf51.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/NRF51/NRF51822/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/WVSHARE_BLE400/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/NRF51822.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/chconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/chconf.h
deleted file mode 100644
index 71b3bb4..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/chconf.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/halconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/halconf.h
deleted file mode 100644
index dc055de..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/halconf.h
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC TRUE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/main.c b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/main.c
deleted file mode 100644
index 6371a61..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/main.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#define ADC_GRP1_NUM_CHANNELS 1
-#define ADC_GRP1_BUF_DEPTH 8
-
-#define ADC_GRP2_NUM_CHANNELS 1
-#define ADC_GRP2_BUF_DEPTH 16
-
-static adcsample_t samples1[ADC_GRP1_NUM_CHANNELS * ADC_GRP1_BUF_DEPTH];
-static adcsample_t samples2[ADC_GRP2_NUM_CHANNELS * ADC_GRP2_BUF_DEPTH];
-
-/*
- * ADC streaming callback.
- */
-size_t nx = 0, ny = 0;
-static void adccallback(ADCDriver *adcp, adcsample_t *buffer, size_t n) {
-
- (void)adcp;
- if (samples2 == buffer) {
- nx += n;
- }
- else {
- ny += n;
- }
-}
-
-/*
- * ADC conversion group.
- * Mode: Linear buffer, 8 samples of 1 channel, SW triggered.
- * Channels: AIN3 (prescaled by 1/3).
- */
-static const ADCConversionGroup adcgrpcfg1 = {
- FALSE,
- ADC_GRP1_NUM_CHANNELS,
- NULL,
- (1U << (3)), /* AIN3 */
- (ADC_CONFIG_RES_8bit << ADC_CONFIG_RES_Pos) |
- (ADC_CONFIG_INPSEL_AnalogInputOneThirdPrescaling << ADC_CONFIG_INPSEL_Pos) |
- (ADC_CONFIG_REFSEL_VBG << ADC_CONFIG_REFSEL_Pos) |
- (ADC_CONFIG_EXTREFSEL_None << ADC_CONFIG_EXTREFSEL_Pos)
-};
-
-/*
- * ADC conversion group.
- * Mode: Continuous, 16 samples of 1 channel, SW triggered.
- * Channels: VDD (prescaled by 1/3).
- */
-static const ADCConversionGroup adcgrpcfg2 = {
- TRUE,
- ADC_GRP2_NUM_CHANNELS,
- adccallback,
- 0, /* Use 0 for VDD */
- (ADC_CONFIG_RES_10bit << ADC_CONFIG_RES_Pos) |
- (ADC_CONFIG_INPSEL_SupplyOneThirdPrescaling << ADC_CONFIG_INPSEL_Pos) |
- (ADC_CONFIG_REFSEL_VBG << ADC_CONFIG_REFSEL_Pos) |
- (ADC_CONFIG_EXTREFSEL_None << ADC_CONFIG_EXTREFSEL_Pos)
-};
-
-/*
- * LED blinker thread, times are in milliseconds.
- */
-static THD_WORKING_AREA(waThread1, 128);
-static THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
- chRegSetThreadName("blinker");
- while (true) {
- palTogglePad(IOPORT1, LED0);
- chThdSleepMilliseconds(500);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Setting up analog input used by the demo (P0.02, SMBA).
- */
- palSetPadMode(IOPORT1, 2, PAL_MODE_INPUT_ANALOG);
-
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- /*
- * Activates the ADC1 driver and the temperature sensor.
- */
- adcStart(&ADCD1, NULL);
-
- /*
- * Linear conversion.
- */
- adcConvert(&ADCD1, &adcgrpcfg1, samples1, ADC_GRP1_BUF_DEPTH);
- chThdSleepMilliseconds(1000);
-
- /*
- * Starts an ADC continuous conversion.
- */
- adcStartConversion(&ADCD1, &adcgrpcfg2, samples2, ADC_GRP2_BUF_DEPTH);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (true) {
- if (palReadPad(IOPORT1, KEY1) == 0)
- adcStopConversion(&ADCD1);
- chThdSleepMilliseconds(500);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/mcuconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/mcuconf.h
deleted file mode 100644
index 123261a..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/mcuconf.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * NRF51 driver system settings.
- */
-#define NRF51_ADC_USE_ADC1 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/readme.txt b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/readme.txt
deleted file mode 100644
index 59c1972..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/readme.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-*****************************************************************************
-** ChibiOS/HAL - ADC driver demo for NRF51x22. **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an Waveshare BLE400 board.
-
-** The Demo **
-
-The application demonstrates the use of the NRF51x22 ADC driver.
-
-** Board Setup **
-
-Connect P0.02 (SMBA) to an analog voltage between 0 - VDD.
-
-** Build Procedure **
-
-The demo has been tested using the free Codesourcery GCC-based toolchain
-and YAGARTO.
-Just modify the TRGT line in the makefile in order to use different GCC ports.
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/Makefile b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/Makefile
deleted file mode 100644
index 564444d..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/Makefile
+++ /dev/null
@@ -1,211 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_nrf51.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/NRF51/NRF51822/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/WVSHARE_BLE400/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/NRF51822.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/chconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/chconf.h
deleted file mode 100644
index 50218e4..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/chconf.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/halconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/halconf.h
deleted file mode 100644
index 407dd2f..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/halconf.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT TRUE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/main.c b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/main.c
deleted file mode 100644
index 8d24d02..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/main.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#ifndef DEBOUNCE_TIME
-#define DEBOUNCE_TIME 100
-#endif
-
-static virtual_timer_t vt1;
-static virtual_timer_t vt2;
-static bool debouncing1;
-static bool debouncing2;
-
-/* LED1 toggled after debounce.*/
-static void led1toggle(void *arg) {
-
- (void)arg;
- palTogglePad(IOPORT1, LED1);
- debouncing1 = false;
-}
-
-/* LED2 toggled after debounce.*/
-static void led2toggle(void *arg) {
-
- (void)arg;
- palTogglePad(IOPORT1, LED2);
- debouncing2 = false;
-}
-
-static void extcb1(EXTDriver *extp, expchannel_t channel)
-{
- (void)extp;
- (void)channel;
-
- uint8_t pad1 = palReadPad(IOPORT1, KEY1);
-
- if (!debouncing1 && (pad1 == PAL_LOW)) {
- debouncing1 = true;
- chSysLockFromISR();
- chVTSetI(&vt1, MS2ST(DEBOUNCE_TIME), led1toggle, NULL);
- chSysUnlockFromISR();
- } else if (debouncing1 && (pad1 == PAL_HIGH)) {
- chSysLockFromISR();
- if (chVTIsArmedI(&vt1))
- chVTResetI(&vt1);
- chSysUnlockFromISR();
- debouncing1 = false;
- }
-}
-
-static void extcb2(EXTDriver *extp, expchannel_t channel)
-{
- (void)extp;
- (void)channel;
-
- uint8_t pad2 = palReadPad(IOPORT1, KEY2);
-
- if (!debouncing2 && (pad2 == PAL_LOW)) {
- debouncing2 = true;
- chSysLockFromISR();
- chVTSetI(&vt2, MS2ST(DEBOUNCE_TIME), led2toggle, NULL);
- chSysUnlockFromISR();
- } else if (debouncing2 && (pad2 == PAL_HIGH)) {
- chSysLockFromISR();
- if (chVTIsArmedI(&vt2))
- chVTResetI(&vt2);
- chSysUnlockFromISR();
- debouncing2 = false;
- }
-}
-
-static const EXTConfig extcfg =
-{
- {
- {EXT_CH_MODE_FALLING_EDGE | EXT_CH_MODE_AUTOSTART | (KEY1 << EXT_MODE_GPIO_OFFSET), extcb1},
- {EXT_CH_MODE_RISING_EDGE | EXT_CH_MODE_AUTOSTART | (KEY2 << EXT_MODE_GPIO_OFFSET), extcb2},
- }
-};
-
-/*
- * Application entry point.
- */
-int main(void)
-{
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- extStart(&EXTD1, &extcfg);
-
- /*
- * Normal main() thread activity, in this demo it enables and disables the
- * button EXT channel using 5 seconds intervals.
- */
- while (TRUE) {
- palSetPad(IOPORT1, LED0);
- chThdSleepMilliseconds(5000);
- extChannelDisable(&EXTD1, 0);
- extChannelDisable(&EXTD1, 1);
- palClearPad(IOPORT1, LED0);
- chThdSleepMilliseconds(5000);
- extChannelEnable(&EXTD1, 0);
- extChannelEnable(&EXTD1, 1);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/mcuconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/mcuconf.h
deleted file mode 100644
index f3a0d85..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/mcuconf.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * NRF51 driver settings.
- */
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/Makefile b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/Makefile
deleted file mode 100644
index 69d6e90..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/Makefile
+++ /dev/null
@@ -1,211 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_nrf51.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/NRF51/NRF51822/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/WVSHARE_BLE400/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/NRF51822.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/chconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/chconf.h
deleted file mode 100644
index 71b3bb4..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/chconf.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/halconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/halconf.h
deleted file mode 100644
index 6ea7ca6..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/halconf.h
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT TRUE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/main.c b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/main.c
deleted file mode 100644
index 3531644..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/main.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-/*
- * GPT callback for GPTD2.
- */
-static void gptcallback1(GPTDriver *gptp) {
-
- (void)gptp;
- palTogglePad(IOPORT1, LED1);
-
- /*
- * Start a one-shot timer (@ 250ms)
- */
- chSysLockFromISR();
- gptStartOneShotI(&GPTD3, 15625);
- chSysUnlockFromISR();
-}
-
-/*
- * GPT callback for GPTD3.
- */
-static void gptcallback2(GPTDriver *gptp) {
-
- (void)gptp;
- palTogglePad(IOPORT1, LED2);
-}
-
-/*
- * GPT configuration
- * Frequency: 31250Hz (32us period)
- * Resolution: 16 bits
- */
-static const GPTConfig gptcfg1 = {
- 31250,
- gptcallback1,
- 16,
-};
-
-/*
- * GPT configuration
- * Frequency: 62500Hz (16us period)
- * Resolution: 16 bits
- */
-static const GPTConfig gptcfg2 = {
- 62500,
- gptcallback2,
- 16,
-};
-
-/*
- * LED blinker thread, times are in milliseconds.
- */
-static THD_WORKING_AREA(waThread1, 128);
-static THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
- chRegSetThreadName("blinker");
- while (true) {
- palTogglePad(IOPORT1, LED0);
- chThdSleepMilliseconds(500);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- /*
- * Sets up the GPT timers
- */
- gptStart(&GPTD2, &gptcfg1);
- gptStart(&GPTD3, &gptcfg2);
-
- /*
- * Start a continuous timer
- */
- gptStartContinuous(&GPTD2, 15625);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (true) {
- if (palReadPad(IOPORT1, KEY1) == 0) {
- gptStopTimer(&GPTD2);
- gptStop(&GPTD2);
- gptStopTimer(&GPTD3);
- gptStop(&GPTD3);
- }
- chThdSleepMilliseconds(500);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/mcuconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/mcuconf.h
deleted file mode 100644
index 7fd549f..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/mcuconf.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * NRF51 driver system settings.
- */
-#define NRF51_GPT_USE_TIMER1 TRUE
-#define NRF51_GPT_USE_TIMER2 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/readme.txt b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/readme.txt
deleted file mode 100644
index da5f977..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/readme.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-*****************************************************************************
-** ChibiOS/HAL - GPT driver demo for NRF51x22. **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an Waveshare BLE400 board.
-
-** The Demo **
-
-The application demonstrates the use of the NRF51x22 GPT driver.
-
-** Board Setup **
-
-** Build Procedure **
-
-The demo has been tested using the free Codesourcery GCC-based toolchain
-and YAGARTO.
-Just modify the TRGT line in the makefile in order to use different GCC ports.
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/Makefile b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/Makefile
deleted file mode 100644
index 29a66d7..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/Makefile
+++ /dev/null
@@ -1,211 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_nrf51.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/NRF51/NRF51822/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/WVSHARE_BLE400/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/NRF51822.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/chconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/chconf.h
deleted file mode 100644
index 3d441c6..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/chconf.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES FALSE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES FALSE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES FALSE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE FALSE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP FALSE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS FALSE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/halconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/halconf.h
deleted file mode 100644
index 1c3036a..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/halconf.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C TRUE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/main.c b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/main.c
deleted file mode 100644
index cd038b5..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/main.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- This demo:
- 1) Writes bytes to the EEPROM
- 2) Reads the same bytes back
- 3) Inverts the byte values
- 4) Writes them
- 5) Reads them back
- */
-
-#include <stdlib.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#define I2C_ADDR 0x50
-#define I2C_FAKE_ADDR 0x4C
-#define EEPROM_START_ADDR 0x00
-
-/*
- * EEPROM thread.
- */
-static THD_WORKING_AREA(PollEepromThreadWA, 1024);
-static THD_FUNCTION(PollEepromThread, arg) {
-
- unsigned i;
- uint8_t tx_data[5];
- uint8_t rx_data[4];
- msg_t status;
-
- (void)arg;
-
- chRegSetThreadName("PollEeprom");
-
- /* set initial data to write */
- tx_data[0] = EEPROM_START_ADDR;
- tx_data[1] = 0xA0;
- tx_data[2] = 0xA1;
- tx_data[3] = 0xA2;
- tx_data[4] = 0xA3;
-
- while (true) {
-
- /* write out initial data */
- i2cAcquireBus(&I2CD1);
- status = i2cMasterTransmitTimeout(&I2CD1, I2C_ADDR, tx_data, sizeof(tx_data), NULL, 0, TIME_INFINITE);
- i2cReleaseBus(&I2CD1);
- osalDbgCheck(MSG_OK == status);
-
- /* read back inital data */
- osalThreadSleepMilliseconds(2);
- i2cAcquireBus(&I2CD1);
- status = i2cMasterTransmitTimeout(&I2CD1, I2C_ADDR, tx_data, 1, rx_data, sizeof(rx_data), TIME_INFINITE);
- i2cReleaseBus(&I2CD1);
- osalDbgCheck(MSG_OK == status);
-
- /* invert the data */
- for (i = 1; i < sizeof(tx_data); i++)
- tx_data[i] ^= 0xff;
-
- /* write out inverted data */
- osalThreadSleepMilliseconds(2);
- i2cAcquireBus(&I2CD1);
- status = i2cMasterTransmitTimeout(&I2CD1, I2C_ADDR, tx_data, sizeof(tx_data), NULL, 0, TIME_INFINITE);
- i2cReleaseBus(&I2CD1);
- osalDbgCheck(MSG_OK == status);
-
- /* read back inverted data */
- osalThreadSleepMilliseconds(2);
- i2cAcquireBus(&I2CD1);
- status = i2cMasterTransmitTimeout(&I2CD1, I2C_ADDR, tx_data, 1, rx_data, sizeof(rx_data), TIME_INFINITE);
- i2cReleaseBus(&I2CD1);
- osalDbgCheck(MSG_OK == status);
-
- osalThreadSleepMilliseconds(TIME_INFINITE);
- }
-}
-
-/*
- * Fake polling thread.
- */
-static THD_WORKING_AREA(PollFakeThreadWA, 256);
-static THD_FUNCTION(PollFakeThread, arg) {
-
- (void)arg;
-
- chRegSetThreadName("PollFake");
- while (true) {
-
- msg_t status;
- uint8_t rx_data[2];
- i2cflags_t errors;
-
- i2cAcquireBus(&I2CD1);
- status = i2cMasterReceiveTimeout(&I2CD1, I2C_FAKE_ADDR, rx_data, 2, MS2ST(4));
- i2cReleaseBus(&I2CD1);
-
- if (status == MSG_RESET){
- errors = i2cGetErrors(&I2CD1);
- osalDbgCheck(I2C_ACK_FAILURE == errors);
- }
-
- palTogglePad(IOPORT1, LED1); /* on */
- osalThreadSleepMilliseconds(1000);
- }
-}
-
-/*
- * I2C1 config.
- */
-static const I2CConfig i2cfg = {
- 400000,
- I2C_SCL,
- I2C_SDA,
-};
-
-/*
- * Entry point, note, the main() function is already a thread in the system
- * on entry.
- */
-int main(void) {
-
- halInit();
- chSysInit();
-
- i2cStart(&I2CD1, &i2cfg);
-
- /* Create EEPROM thread. */
- chThdCreateStatic(PollEepromThreadWA,
- sizeof(PollEepromThreadWA),
- NORMALPRIO,
- PollEepromThread,
- NULL);
-
- /* Create not responding thread. */
- chThdCreateStatic(PollFakeThreadWA,
- sizeof(PollFakeThreadWA),
- NORMALPRIO,
- PollFakeThread,
- NULL);
-
- /* main loop handles LED */
- while (true) {
- palTogglePad(IOPORT1, LED0); /* on */
- osalThreadSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/mcuconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/mcuconf.h
deleted file mode 100644
index e1747ec..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/mcuconf.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * HAL driver system settings.
- */
-#define NRF51_I2C_USE_I2C0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/readme.txt b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/readme.txt
deleted file mode 100644
index ae26420..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/readme.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-*****************************************************************************
-** ChibiOS/HAL - I2C driver demo for NRF51x22. **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an Waveshare BLE400 board.
-
-** The Demo **
-
-The application demonstrates the use of the NRF51x22 I2C driver.
-
-** Board Setup **
-
-- Connect AT24CXX EEPROM board to I2C port on BLE400 board
-
-** Build Procedure **
-
-The demo has been tested using the free Codesourcery GCC-based toolchain
-and YAGARTO.
-Just modify the TRGT line in the makefile in order to use different GCC ports.
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/Makefile b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/Makefile
deleted file mode 100644
index 6119c51..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/Makefile
+++ /dev/null
@@ -1,232 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-CHIBIOS = /home/sdalu/ChibiOS/ChibiOS
-CHIBIOS_CONTRIB = /home/sdalu/ChibiOS/ChibiOS-Contrib
-
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_nrf51.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/NRF51/NRF51822/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/WVSHARE_BLE400/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/NRF51822.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
-
-
-include $(CHIBIOS_CONTRIB)/os/various/jlink.mk
-
-
-JLINK_DEVICE = nrf51422
-JLINK_PRE_FLASH = w4 4001e504 1
-JLINK_ERASE_ALL = w4 4001e504 2\nw4 4001e50c 1\nsleep 100
-
-flash: all jlink-flash
-
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/chconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/chconf.h
deleted file mode 100644
index a753ec9..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/chconf.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- Copyright (C) 2015 Fabio Utzig
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/halconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/halconf.h
deleted file mode 100644
index 58e6a6b..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/halconf.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- Copyright (C) 2015 Fabio Utzig
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/main.c b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/main.c
deleted file mode 100644
index 51179d8..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/main.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- Copyright (C) 2016 Stéphane D'Alu
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-static void pwm_cb_period(PWMDriver *pwmp) {
- (void)pwmp;
-
- palTogglePad(IOPORT1, LED0);
- palClearPad(IOPORT1, LED1);
-
-}
-
-static void pwm_cb_channel0(PWMDriver *pwmp) {
- (void)pwmp;
- palSetPad(IOPORT1, LED1);
-}
-
-
-/*
- * Application entry point.
- */
-int main(void) {
- PWMConfig pwmcfg = {
- .frequency = PWM_FREQUENCY_31250HZ,
- .period = 31250,
- .callback = pwm_cb_period,
- { { .mode = PWM_OUTPUT_DISABLED,
- .callback = pwm_cb_channel0, },
- { .mode = PWM_OUTPUT_ACTIVE_HIGH,
- .callback = NULL,
- .ioline = LINE_LED2,
- .gpiote_channel = 0,
- .ppi_channel = { 0, 1 } },
- { .mode = PWM_OUTPUT_DISABLED,
- .callback = NULL, },
- },
- };
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- *
- */
- pwmStart(&PWMD1, &pwmcfg);
- pwmEnablePeriodicNotification(&PWMD1);
- pwmEnableChannel(&PWMD1, 0, PWM_FRACTION_TO_WIDTH(&PWMD1, 2, 1));
- pwmEnableChannelNotification(&PWMD1, 0);
- pwmEnableChannel(&PWMD1, 1, PWM_FRACTION_TO_WIDTH(&PWMD1, 4, 3));
-
- while (1) {
- chThdSleepMilliseconds(500);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/mcuconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/mcuconf.h
deleted file mode 100644
index 374340b..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/mcuconf.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- Copyright (C) 2015 Fabio Utzig
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * HAL driver system settings.
- */
-#define NRF51_SERIAL_USE_UART0 TRUE
-#define NRF51_ST_USE_RTC0 TRUE
-#define NRF51_ST_USE_RTC1 FALSE
-#define NRF51_ST_USE_TIMER0 FALSE
-#define NRF51_PWM_USE_TIMER0 TRUE
-#define NRF51_PWM_USE_GPIOTE_PPI TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/Makefile b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/Makefile
deleted file mode 100644
index a42eae4..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/Makefile
+++ /dev/null
@@ -1,230 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-#CHIBIOS = ../../../../../ChibiOS-RT
-#CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-CHIBIOS = /home/sdalu/ChibiOS/ChibiOS_16.1.2
-CHIBIOS_CONTRIB = /home/sdalu/ChibiOS/Z/ChibiOS-Contrib
-
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_nrf51.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/NRF51/NRF51822/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/NRF51-DK/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/rt/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/NRF51822.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(CHIBIOS)/os/various/shell.c \
- $(CHIBIOS)/os/hal/lib/streams/memstreams.c \
- $(CHIBIOS)/os/hal/lib/streams/chprintf.c \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/hal/lib/streams $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
-
-
-# Flash
-JLINK_DEVICE = nrf51422
-JLINK_PRE_FLASH = w4 4001e504 1
-JLINK_ERASE_ALL = w4 4001e504 2\nw4 4001e50c 1\nsleep 100
-
-
-include /home/sdalu/ChibiOS/W/ChibiOS-Contrib/os/various/jlink.mk
-include /home/sdalu/ChibiOS/W/ChibiOS-Contrib/os/various/gdb.mk
-
-flash: all jlink-flash
-debug: gdb-debug
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/chconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/chconf.h
deleted file mode 100644
index 20d7b4b..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/chconf.h
+++ /dev/null
@@ -1,499 +0,0 @@
-/*
- Copyright (C) 2016 Stephane D'Alu
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf.h
deleted file mode 100644
index 7132e9c..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- Copyright (C) 2016 Stephane D'Alu
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-#include "halconf_community.h"
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf_community.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf_community.h
deleted file mode 100644
index a85b95f..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf_community.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- Copyright (C) 2016 Stéphane D'Alu
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the community subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the community subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG TRUE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM FALSE
-
-/*===========================================================================*/
-/* CRC driver settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables DMA engine when performing CRC transactions.
- * @note Enabling this option also enables asynchronous API.
- */
-#if !defined(CRC_USE_DMA) || defined(__DOXYGEN__)
-#define CRC_USE_DMA FALSE
-#endif
-
-/**
- * @brief Enables the @p crcAcquireUnit() and @p crcReleaseUnit() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(CRC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define CRC_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/main.c b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/main.c
deleted file mode 100644
index b9572b8..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/main.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- Copyright (C) 2016 Stephane D'Alu
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-#include "shell.h"
-#include "chprintf.h"
-#include <stdlib.h>
-
-
-/*
- * Command Random
- */
-#define RANDOM_BUFFER_SIZE 1024
-static uint8_t random_buffer[RANDOM_BUFFER_SIZE];
-
-static void cmd_random(BaseSequentialStream *chp, int argc, char *argv[]) {
- uint16_t size = 16;
- uint16_t i = 0;
- uint8_t nl = 0;
-
- if (argc > 0) {
- size = atoi(argv[0]);
- }
-
- if (size > RANDOM_BUFFER_SIZE) {
- chprintf(chp, "random: maximum size is %d.\r\n", RANDOM_BUFFER_SIZE);
- return;
- }
-
- chprintf(chp, "Fetching %d random byte(s):\r\n", size);
-
- rngStart(&RNGD1, NULL);
- rngWrite(&RNGD1, random_buffer, size, TIME_INFINITE);
- rngStop(&RNGD1);
-
- for (i = 0 ; i < size ; i++) {
- chprintf(chp, "%02x ", random_buffer[i]);
- if (nl = (((i+1) % 20) == 0))
- chprintf(chp, "\r\n");
- }
- if (!nl)
- chprintf(chp, "\r\n");
-
-}
-
-
-/*
- * Shell
- */
-#define SHELL_WA_SIZE THD_WORKING_AREA_SIZE(2048)
-
-static const ShellCommand commands[] = {
- {"random", cmd_random},
- {NULL, NULL}
-};
-
-static const ShellConfig shell_cfg1 = {
- (BaseSequentialStream *)&SD1,
- commands
-};
-
-
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
-
- /*
- * Serial device
- */
- SerialConfig serial_config = {
- .speed = 115200,
- .tx_pad = UART_TX,
- .rx_pad = UART_RX,
- };
- sdStart(&SD1, &serial_config);
-
-
- /*
- * Shell manager initialization.
- */
- shellInit();
- shellCreate(&shell_cfg1, SHELL_WA_SIZE, NORMALPRIO);
-
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (true) {
- chThdSleepMilliseconds(500);
- palTogglePad(IOPORT1, LED1);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/mcuconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/mcuconf.h
deleted file mode 100644
index 7977f4b..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/mcuconf.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- Copyright (C) 2016 Stephane D'Alu
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define NRF51_RNG_USE_RNG1 TRUE
-#define NRF51_SERIAL_USE_UART0 TRUE
-
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/readme.txt b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/readme.txt
deleted file mode 100644
index 02f4cc7..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/readme.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-*****************************************************************************
-** ChibiOS/HAL - GPT driver demo for NRF51x22. **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an NRF51-DK board.
-
-** The Demo **
-
-The application demonstrates the use of the NRF51x22 RNG driver.
-
-** Board Setup **
-
-** Build Procedure **
-
-Just modify the TRGT line in the makefile in order to use different GCC ports.
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/Makefile b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/Makefile
deleted file mode 100644
index 92070b1..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/Makefile
+++ /dev/null
@@ -1,211 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_nrf51.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/NRF51/NRF51822/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/WVSHARE_BLE400/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/NRF51822.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-SREC = $(CP) -O srec
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/chconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/chconf.h
deleted file mode 100644
index f777f9d..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/chconf.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/halconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/halconf.h
deleted file mode 100644
index 4269718..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/halconf.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI TRUE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/main.c b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/main.c
deleted file mode 100644
index 8d9c089..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/main.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-/*
- * 1Mbps speed SPI configuration (1MHz, CPHA=0, CPOL=0, LSb first).
- */
-
-static const SPIConfig hs_spicfg = {
- .end_cb=NULL,
- .freq=NRF51_SPI_FREQ_1MBPS,
- .sckpad=SPI_SCK,
- .mosipad=SPI_MOSI,
- .misopad=SPI_MISO,
- .sspad=SPI_SS,
- .lsbfirst=TRUE,
- .mode=0
-};
-
-static const SPIConfig ls_spicfg = {
- .end_cb=NULL,
- .freq=NRF51_SPI_FREQ_250KBPS,
- .sckpad=SPI_SCK,
- .mosipad=SPI_MOSI,
- .misopad=SPI_MISO,
- .sspad=SPI_SS,
- .lsbfirst=TRUE,
- .mode=0
-};
-
-
-/*
- * SPI TX and RX buffers.
- */
-static uint8_t txbuf[512];
-static uint8_t rxbuf[512];
-
-/*
- * SPI bus contender 1.
- */
-static THD_WORKING_AREA(spi_thread_1_wa, 256);
-static THD_FUNCTION(spi_thread_1, p) {
-
- (void)p;
- chRegSetThreadName("SPI thread 1");
- while (true) {
- spiAcquireBus(&SPID1); /* Acquire ownership of the bus. */
- palSetPad(SPI_PORT_SPI0, LED0); /* LED ON. */
- spiStart(&SPID1, &hs_spicfg); /* Setup transfer parameters. */
- spiSelect(&SPID1); /* Slave Select assertion. */
- spiExchange(&SPID1, 512,
- txbuf, rxbuf); /* Atomic transfer operations. */
- spiUnselect(&SPID1); /* Slave Select de-assertion. */
- spiReleaseBus(&SPID1); /* Ownership release. */
- }
-}
-
-/*
- * SPI bus contender 2.
- */
-static THD_WORKING_AREA(spi_thread_2_wa, 256);
-static THD_FUNCTION(spi_thread_2, p) {
-
- (void)p;
- chRegSetThreadName("SPI thread 2");
- while (true) {
- spiAcquireBus(&SPID1); /* Acquire ownership of the bus. */
- palClearPad(SPI_PORT_SPI0, LED0); /* LED OFF. */
- spiStart(&SPID1, &ls_spicfg); /* Setup transfer parameters. */
- spiSelect(&SPID1); /* Slave Select assertion. */
- spiExchange(&SPID1, 512,
- txbuf, rxbuf); /* Atomic transfer operations. */
- spiUnselect(&SPID1); /* Slave Select de-assertion. */
- spiReleaseBus(&SPID1); /* Ownership release. */
- }
-}
-/*
- * This is a periodic thread that does absolutely nothing except flashing
- * a LED.
- */
-static THD_WORKING_AREA(blinker_wa, 128);
-static THD_FUNCTION(blinker, arg) {
-
- (void)arg;
- chRegSetThreadName("blinker");
- while (true) {
- palSetPad(SPI_PORT_SPI0, LED1);
- chThdSleepMilliseconds(500);
- palClearPad(SPI_PORT_SPI0, LED1);
- chThdSleepMilliseconds(500);
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
- unsigned i;
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Prepare transmit pattern.
- */
- for (i = 0; i < sizeof(txbuf); i++)
- txbuf[i] = (uint8_t)i;
-
- /*
- * Starting the transmitter and receiver threads.
- */
- chThdCreateStatic(spi_thread_1_wa, sizeof(spi_thread_1_wa),
- NORMALPRIO + 1, spi_thread_1, NULL);
- chThdCreateStatic(spi_thread_2_wa, sizeof(spi_thread_2_wa),
- NORMALPRIO + 1, spi_thread_2, NULL);
-
- /*
- * Starting the blinker thread.
- */
- chThdCreateStatic(blinker_wa, sizeof(blinker_wa),
- NORMALPRIO-1, blinker, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (true) {
- chThdSleepMilliseconds(500);
- }
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/mcuconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/mcuconf.h
deleted file mode 100644
index 64d0639..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/mcuconf.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- Copyright (C) 2015 Stephen Caudle
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * HAL driver system settings.
- */
-#define NRF51_SPI_USE_SPI0 TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/readme.txt b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/readme.txt
deleted file mode 100644
index 7ea1194..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/readme.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-*****************************************************************************
-** ChibiOS/HAL - SPI driver demo for NRF51x22. **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an Waveshare BLE400 board.
-
-** The Demo **
-
-The application demonstrates the use of the NRF51x22 SPI driver.
-
-** Board Setup **
-
-- Connect MOSI (P0.24) and MISO (P0.23) together for SPI loop-back.
-
-** Build Procedure **
-
-The demo has been tested using the free Codesourcery GCC-based toolchain
-and YAGARTO.
-Just modify the TRGT line in the makefile in order to use different GCC ports.
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/Makefile b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/Makefile
deleted file mode 100644
index c316b35..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/Makefile
+++ /dev/null
@@ -1,220 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_nrf51.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/NRF51/NRF51822/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/NRF51-DK/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/NRF51822.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
-
-# Flash
-JLINK_DEVICE = nrf51422
-JLINK_PRE_FLASH = w4 4001e504 1
-JLINK_ERASE_ALL = w4 4001e504 2\nw4 4001e50c 1\nsleep 100
-
-include $(CHIBIOS_CONTRIB)/os/various/jlink.mk
-include $(CHIBIOS_CONTRIB)/os/various/gdb.mk
-
-flash: all jlink-flash
-debug: gdb-debug
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/chconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/chconf.h
deleted file mode 100644
index 4477bd5..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/chconf.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- Copyright (C) 2016 Stephane D'Alu
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 20
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE TRUE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/halconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/halconf.h
deleted file mode 100644
index a1c53f2..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/halconf.h
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- Copyright (C) 2016 Stephane D'Alu
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG TRUE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/main.c b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/main.c
deleted file mode 100644
index cdbf89b..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/main.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- Copyright (C) 2016 Stephane D'Alu
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-void timeout_callback(void) {
- palTogglePad(IOPORT1, LED2);
- palTogglePad(IOPORT1, LED3);
- palTogglePad(IOPORT1, LED4);
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- palSetPad(IOPORT1, LED1);
-
- WDGConfig WDG_config = {
- .flags.pause_on_sleep = 0,
- .flags.pause_on_halt = 0,
- .timeout_ms = 5000,
- .callback = timeout_callback
- };
-
- wdgStart(&WDGD1, &WDG_config);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (true) {
- if (palReadPad(IOPORT1, BTN1) == 0) {
- palTogglePad(IOPORT1, LED1);
- wdgReset(&WDGD1);
- }
- chThdSleepMilliseconds(500);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/mcuconf.h b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/mcuconf.h
deleted file mode 100644
index b891a13..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/mcuconf.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- Copyright (C) 2016 Stephane D'Alu
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-#define WDG_USE_TIMEOUT_CALLBACK TRUE
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/readme.txt b/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/readme.txt
deleted file mode 100644
index 41312c9..0000000
--- a/ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/readme.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-*****************************************************************************
-** ChibiOS/HAL - GPT driver demo for NRF51x22. **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an NRF51-DK board.
-
-** The Demo **
-
-The application demonstrates the use of the NRF51x22 GPT driver.
-
-** Board Setup **
-
-** Build Procedure **
-
-Just modify the TRGT line in the makefile in order to use different GCC ports.
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.cproject
deleted file mode 100644
index 83bd4ce..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.cproject
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.1907870227">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1907870227" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.1907870227" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.1907870227." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.2147369392" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.2147369392.1404159771" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.556284602" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.7290094" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1820285415" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.10251564" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.2066745879" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.371720077" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.300050755" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.705907565" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="STM32F0xx-crc.null.669124853" name="STM32F0xx-crc"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.1907870227">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.project
deleted file mode 100644
index deaa743..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F0xx-crc</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/Makefile
deleted file mode 100644
index 24f660a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/Makefile
+++ /dev/null
@@ -1,214 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f0xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F0xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/ST_STM32F072B_DISCOVERY/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/STM32F051x8.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c \
- $(CHIBIOS_CONTRIB)/os/various/crcsw.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various \
- $(CHIBIOS_CONTRIB)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/chconf.h
deleted file mode 100644
index c2d6f04..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_ALL
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf.h
deleted file mode 100644
index 6e2d3c7..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2015 Michael D. Spradling
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf_community.h
deleted file mode 100644
index 2bc41bf..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf_community.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC TRUE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
-/*===========================================================================*/
-/* CRC driver settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables DMA engine when performing CRC transactions.
- * @note Enabling this option also enables asynchronous API.
- */
-#if !defined(CRC_USE_DMA) || defined(__DOXYGEN__)
-#define CRC_USE_DMA FALSE
-#endif
-
-/**
- * @brief Enables the @p crcAcquireUnit() and @p crcReleaseUnit() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(CRC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define CRC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/main.c
deleted file mode 100644
index 6da0808..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/main.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2015 Michael D. Spradling
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-
-/*
- * Data used for CRC calculation.
- */
-uint8_t data[] = {
- 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
- 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
- 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
-};
-
-uint32_t gCrc = 0;
-
-
-/*
- * CRC Callback used with DMA testing
- */
-void crc_callback(CRCDriver *crcp, uint32_t crc) {
- (void)crcp;
- gCrc = crc;
-}
-
-
-/*
- * CRC32 configuration
- */
-static const CRCConfig crc32_config = {
- .poly_size = 32,
- .poly = 0x04C11DB7,
- .initial_val = 0xFFFFFFFF,
- .final_val = 0xFFFFFFFF,
- .reflect_data = 1,
- .reflect_remainder = 1
-};
-
-/*
- * CRC16 configuration
- */
-static const CRCConfig crc16_config = {
- .poly_size = 16,
- .poly = 0x8005,
- .initial_val = 0x0,
- .final_val = 0x0,
- .reflect_data = 1,
- .reflect_remainder = 1
-};
-
-/*
- * CRC OpenPGP
- */
-static const CRCConfig crc8_config = {
- .poly_size = 8,
- .poly = 0x07,
- .initial_val = 0x0,
- .final_val = 0x0,
- .reflect_data = 0,
- .reflect_remainder = 0
-};
-
-
-#if CRC_USE_DMA == TRUE
-/*
- * CRC32 configuration with DMA
- */
-static const CRCConfig crc32_dma_config = {
- .poly_size = 32,
- .poly = 0x04C11DB7,
- .initial_val = 0xFFFFFFFF,
- .final_val = 0xFFFFFFFF,
- .reflect_data = 1,
- .reflect_remainder = 1,
- .end_cb = crc_callback
-};
-
-/*
- * CRC16 configuration with DMA
- */
-static const CRCConfig crc16_dma_config = {
- .poly_size = 16,
- .poly = 0x8005,
- .initial_val = 0x0,
- .final_val = 0x0,
- .reflect_data = 1,
- .reflect_remainder = 1,
- .end_cb = crc_callback
-};
-#endif
-
-
-static void testCrc(const CRCConfig *config, uint32_t result) {
- uint32_t crc;
-
- crcAcquireUnit(&CRCD1); /* Acquire ownership of the bus. */
- crcStart(&CRCD1, config); /* Activate CRC driver */
- crcReset(&CRCD1);
- crc = crcCalc(&CRCD1, sizeof(data), &data);
- osalDbgAssert(crc == result, "CRC does not match expected result");
- crcStop(&CRCD1); /* Deactive CRC driver); */
- crcReleaseUnit(&CRCD1); /* Acquire ownership of the bus. */
-}
-
-
-#if CRC_USE_DMA
-static void testCrcDma(const CRCConfig *config, uint32_t result) {
- gCrc = 0;
-
- crcAcquireUnit(&CRCD1); /* Acquire ownership of the bus. */
- crcStart(&CRCD1, config); /* Activate CRC driver */
- crcReset(&CRCD1);
- crcStartCalc(&CRCD1, sizeof(data), &data);
- while (gCrc == 0); /* Wait for callback to verify */
- crcStop(&CRCD1); /* Deactive CRC driver); */
- crcReleaseUnit(&CRCD1); /* Acquire ownership of the bus. */
-
- osalDbgAssert(gCrc == result, "CRC does not match expected result");
-}
-#endif
-
-/*
- * CRC thread
- */
-static THD_WORKING_AREA(crc_thread_1_wa, 256);
-static THD_FUNCTION(crc_thread_1, p) {
- (void)p;
- chRegSetThreadName("CRC thread 1");
- while (true) {
-
-/* Test ST hardware CRC */
-/* if CRC_USE_DMA == TRUE these sync function internally use DMA and put the
- * calling thread to sleep */
-#if STM32_CRC_USE_CRC1 == TRUE
- /* CRC32 Calculation */
- testCrc(&crc32_config, 0x91267e8a);
- /* CRC16 Calculation */
- testCrc(&crc16_config, 0xc36a);
- /* CRC8 Calculation */
- testCrc(&crc8_config, 0x06);
-
-/* Test ST CRC with DMA */
-#if CRC_USE_DMA == TRUE
- /* CRC32 Calculation */
- testCrcDma(&crc32_dma_config, 0x91267e8a);
- /* CRC16 Calculation */
- testCrcDma(&crc16_dma_config, 0xc36a);
-#endif
-
-#endif /* STM32_CRC_USE_CRC1 */
-
-
-/* Test software CRC */
-#if CRCSW_USE_CRC1 == TRUE
-/* Test CRCSW with compute CRC */
-#if CRCSW_PROGRAMMABLE == TRUE
- /* CRC32 Calculation */
- testCrc(&crc32_config, 0x91267e8a);
- /* CRC16 Calculation */
- testCrc(&crc16_config, 0xc36a);
- testCrc(&crc8_config, 0x06);
-#endif
-/* Test CRCSW with table lookups. */
-#if CRCSW_CRC32_TABLE == TRUE
- /* CRC32 Calculation with table lookup */
- testCrc(CRCSW_CRC32_TABLE_CONFIG, 0x91267e8a);
-#endif
-#if CRCSW_CRC16_TABLE == TRUE
- /* CRC16 Calculation with table lookup */
- testCrc(CRCSW_CRC16_TABLE_CONFIG, 0xc36a);
-#endif
-
-#endif /* CRCSW_USE_CRC1 */
- }
-}
-
-
-/*
- * Red LED blinker thread, times are in milliseconds.
- */
-static THD_WORKING_AREA(waThread1, 128);
-static THD_FUNCTION(Thread1, arg) {
-
- (void)arg;
- chRegSetThreadName("blinker");
- while (true) {
- palClearPad(GPIOC, GPIOC_LED_RED);
- chThdSleepMilliseconds(500);
- palSetPad(GPIOC, GPIOC_LED_RED);
- chThdSleepMilliseconds(500);
- }
-}
-
-
-/*
- * Application entry point.
- */
-int main(void) {
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Creates the blinker thread.
- */
- chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
-
- /*
- * Starting the CRC thread
- */
- chThdCreateStatic(crc_thread_1_wa, sizeof(crc_thread_1_wa),
- NORMALPRIO + 1, crc_thread_1, NULL);
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (true) {
- chThdSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf.h
deleted file mode 100644
index ad184cd..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2015 Michael D. Spradling
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * STM32F0xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 3...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F0xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_HSI_ENABLED TRUE
-#define STM32_HSI14_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED FALSE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSI_DIV2
-#define STM32_PREDIV_VALUE 1
-#define STM32_PLLMUL_VALUE 12
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE STM32_PPRE_DIV1
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_CECSW STM32_CECSW_HSI
-#define STM32_I2C1SW STM32_I2C1SW_HSI
-#define STM32_USART1SW STM32_USART1SW_PCLK
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 2
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_1_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI2_3_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI4_15_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 3
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 2
-#define STM32_GPT_TIM2_IRQ_PRIORITY 2
-#define STM32_GPT_TIM3_IRQ_PRIORITY 2
-#define STM32_GPT_TIM14_IRQ_PRIORITY 2
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 3
-#define STM32_I2C_I2C2_IRQ_PRIORITY 3
-#define STM32_I2C_USE_DMA TRUE
-#define STM32_I2C_I2C1_DMA_PRIORITY 1
-#define STM32_I2C_I2C2_DMA_PRIORITY 1
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 3
-#define STM32_ICU_TIM2_IRQ_PRIORITY 3
-#define STM32_ICU_TIM3_IRQ_PRIORITY 3
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 3
-#define STM32_PWM_TIM2_IRQ_PRIORITY 3
-#define STM32_PWM_TIM3_IRQ_PRIORITY 3
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 3
-#define STM32_SERIAL_USART2_PRIORITY 3
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 2
-#define STM32_SPI_SPI2_IRQ_PRIORITY 2
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 2
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 3
-#define STM32_UART_USART2_IRQ_PRIORITY 3
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf_community.h
deleted file mode 100644
index 8df78ec..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf_community.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2015 Michael D. Spradling
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_COMMUNITY_H_
-#define _MCUCONF_COMMUNITY_H_
-
-/*
- * CRC driver system settings.
- */
-#define STM32_CRC_USE_CRC1 TRUE
-#define STM32_CRC_CRC1_DMA_IRQ_PRIORITY 1
-#define STM32_CRC_CRC1_DMA_PRIORITY 2
-#define STM32_CRC_CRC1_DMA_STREAM STM32_DMA1_STREAM2
-
-#define CRCSW_USE_CRC1 FALSE
-#define CRCSW_CRC32_TABLE TRUE
-#define CRCSW_CRC16_TABLE TRUE
-#define CRCSW_PROGRAMMABLE TRUE
-
-#endif
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/readme.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/readme.txt
deleted file mode 100644
index b10413a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/readme.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-*****************************************************************************
-** ChibiOS/HAL - CRC driver demo for STM32F0xx (also sw driver) **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an ST STM32F0-Discovery board.
-
-** The Demo **
-
-The application demonstrates the use of the STM32F0xx CRC driver. There are
-many different ways to configure and setup the CRC. This demo has be
-configured to test the following:
- * ST hardware block configured with CRC32 with or without DMA
- * ST hardware block configured with CRC16 with or without DMA
- * Software CRC32
- * Software CRC16
-
-** Board Setup **
-
-- No requirements
-
-** Build Procedure **
-
-The demo has been tested using the free Codesourcery GCC-based toolchain
-and YAGARTO.
-Just modify the TRGT line in the makefile in order to use different GCC ports.
-
-** Notes **
-
-Some files used by the demo are not part of ChibiOS/RT but are copyright of
-ST Microelectronics and are licensed under a different license.
-Also note that not all the files present in the ST library are distributed
-with ChibiOS/RT, you can find the whole library on the ST web site:
-
- http://www.st.com
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.cproject
deleted file mode 100644
index bb91bf2..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.cproject
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.689012726">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.689012726" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildProperties="" description="" id="0.689012726" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.689012726." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1927048022" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1927048022.133421332" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.860237702" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1015298275" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1849946851" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1235940747" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
- <listOptionValue builtIn="false" value="/opt/arm-none-eabi/arm-none-eabi/include"/>
- <listOptionValue builtIn="false" value="&quot;/opt/arm-none-eabi/lib/gcc/arm-none-eabi/${GCC_VERSION}/include&quot;"/>
- <listOptionValue builtIn="false" value="&quot;/opt/arm-none-eabi/lib/gcc/arm-none-eabi/${GCC_VERSION}/include-fixed&quot;"/>
- </option>
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.782791296" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.801978059" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <option id="org.eclipse.cdt.build.core.settings.holder.incpaths.769587840" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
- <listOptionValue builtIn="false" value="/opt/arm-none-eabi/arm-none-eabi/include"/>
- <listOptionValue builtIn="false" value="&quot;/opt/arm-none-eabi/lib/gcc/arm-none-eabi/${GCC_VERSION}/include&quot;"/>
- <listOptionValue builtIn="false" value="&quot;/opt/arm-none-eabi/lib/gcc/arm-none-eabi/${GCC_VERSION}/include-fixed&quot;"/>
- <listOptionValue builtIn="false" value="&quot;/opt/arm-none-eabi/arm-none-eabi/include/c++/${GCC_VERSION}&quot;"/>
- </option>
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.610180386" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1670728915" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <option id="org.eclipse.cdt.build.core.settings.holder.incpaths.1406120469" superClass="org.eclipse.cdt.build.core.settings.holder.incpaths" valueType="includePath">
- <listOptionValue builtIn="false" value="/opt/arm-none-eabi/arm-none-eabi/include"/>
- <listOptionValue builtIn="false" value="&quot;/opt/arm-none-eabi/lib/gcc/arm-none-eabi/${GCC_VERSION}/include&quot;"/>
- <listOptionValue builtIn="false" value="&quot;/opt/arm-none-eabi/lib/gcc/arm-none-eabi/${GCC_VERSION}/include-fixed&quot;"/>
- </option>
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1480940900" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="STM32F0xx-1-Wire.null.964703683" name="STM32F0xx-1-Wire"/>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
- <storageModule moduleId="refreshScope" versionNumber="2">
- <configuration configurationName="Default">
- <resource resourceType="PROJECT" workspacePath="/STM32F0xx-1-Wire"/>
- </configuration>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.689012726">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.project
deleted file mode 100644
index 6599a83..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F0xx-1-Wire</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>os-community</name>
- <type>2</type>
- <locationURI>PARENT-4-PROJECT_LOC/os</locationURI>
- </link>
- <link>
- <name>os-git</name>
- <type>2</type>
- <locationURI>PARENT-5-PROJECT_LOC/ChibiOS-RT/os</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/Makefile
deleted file mode 100644
index d121cee..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/Makefile
+++ /dev/null
@@ -1,207 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x200
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f0xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/ST_STM32F0308_DISCOVERY/board.mk
-include $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/platform.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/STM32F030x8.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c \
- onewire_test.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes -Wundef
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/chconf.h
deleted file mode 100644
index 724dc02..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_ALL
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf.h
deleted file mode 100644
index c3b1671..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf_community.h
deleted file mode 100644
index 91dbfbc..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf_community.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE TRUE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/main.c
deleted file mode 100644
index 793bffe..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/main.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#include "onewire_test.h"
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Executes infinite onewire test code.
- */
- onewireTest();
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf.h
deleted file mode 100644
index 89b0fd1..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * STM32F0xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 3...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F0xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_HSI_ENABLED TRUE
-#define STM32_HSI14_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED FALSE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSI_DIV2
-#define STM32_PREDIV_VALUE 1
-#define STM32_PLLMUL_VALUE 12
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE STM32_PPRE_DIV1
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_CECSW STM32_CECSW_HSI
-#define STM32_I2C1SW STM32_I2C1SW_HSI
-#define STM32_USART1SW STM32_USART1SW_PCLK
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 2
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_1_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI2_3_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI4_15_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 3
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 2
-#define STM32_GPT_TIM2_IRQ_PRIORITY 2
-#define STM32_GPT_TIM3_IRQ_PRIORITY 2
-#define STM32_GPT_TIM14_IRQ_PRIORITY 2
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 3
-#define STM32_I2C_I2C2_IRQ_PRIORITY 3
-#define STM32_I2C_I2C1_DMA_PRIORITY 1
-#define STM32_I2C_I2C2_DMA_PRIORITY 1
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 3
-#define STM32_ICU_TIM2_IRQ_PRIORITY 3
-#define STM32_ICU_TIM3_IRQ_PRIORITY 3
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 TRUE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 3
-#define STM32_PWM_TIM2_IRQ_PRIORITY 3
-#define STM32_PWM_TIM3_IRQ_PRIORITY 0
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 3
-#define STM32_SERIAL_USART2_PRIORITY 3
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 2
-#define STM32_SPI_SPI2_IRQ_PRIORITY 2
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 3
-#define STM32_ST_USE_TIMER 3
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 3
-#define STM32_UART_USART2_IRQ_PRIORITY 3
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf_community.h
deleted file mode 100644
index 29d7a7a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf_community.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.c
deleted file mode 100644
index be20dbc..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <string.h>
-
-#include "hal.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-#if defined(BOARD_ST_STM32F4_DISCOVERY) || \
- defined(BOARD_ST_STM32F0_DISCOVERY) || \
- defined(BOARD_ST_STM32F0308_DISCOVERY)
- #if ONEWIRE_USE_STRONG_PULLUP
- #error "This board has not enough voltage for this feature"
- #endif
-#endif
-
-#if defined(BOARD_ST_STM32F0308_DISCOVERY)
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN GPIOB_PIN0
- #define ONEWIRE_PAD_MODE_ACTIVE (PAL_MODE_ALTERNATE(1) | PAL_STM32_OTYPE_OPENDRAIN)
- #define search_led_off() (palClearPad(GPIOC, GPIOC_LED4))
- #define search_led_on() (palSetPad(GPIOC, GPIOC_LED4))
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#elif defined(BOARD_ST_STM32F4_DISCOVERY)
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN GPIOB_PIN0
- #define ONEWIRE_PAD_MODE_ACTIVE (PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN)
- #define search_led_off() (palClearPad(GPIOD, GPIOD_LED4))
- #define search_led_on() (palSetPad(GPIOD, GPIOD_LED4))
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#elif defined(BOARD_OLIMEX_STM32_103STK)
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN 0
- #define ONEWIRE_PAD_MODE_IDLE PAL_MODE_INPUT
- #define ONEWIRE_PAD_MODE_ACTIVE PAL_MODE_STM32_ALTERNATE_OPENDRAIN
- #define search_led_on() (palClearPad(GPIOC, GPIOC_LED))
- #define search_led_off() (palSetPad(GPIOC, GPIOC_LED))
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#else
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN GPIOB_TACHOMETER
- #include "pads.h"
- #define ONEWIRE_PAD_MODE_ACTIVE (PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN)
- #define search_led_on red_led_on
- #define search_led_off red_led_off
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#endif
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-/*
- * Forward declarations
- */
-#if ONEWIRE_USE_STRONG_PULLUP
-static void strong_pullup_assert(void);
-static void strong_pullup_release(void);
-#endif
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-
-static uint8_t testbuf[12];
-
-/* stores 3 temperature values in millicelsius */
-static int32_t temperature[3];
-
-/*
- * Config for underlied PWM driver.
- * Note! It is NOT constant because 1-wire driver needs to change them
- * during functioning.
- */
-static PWMConfig pwm_cfg = {
- 0,
- 0,
- NULL,
- {
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL}
- },
- 0,
-#if STM32_PWM_USE_ADVANCED
- 0,
-#endif
- 0
-};
-
-/*
- *
- */
-static const onewireConfig ow_cfg = {
- &PWMD3,
- &pwm_cfg,
- PWM_OUTPUT_ACTIVE_LOW,
- ONEWIRE_MASTER_CHANNEL,
- ONEWIRE_SAMPLE_CHANNEL,
- ONEWIRE_PORT,
- ONEWIRE_PIN,
-#if defined(STM32F1XX)
- ONEWIRE_PAD_MODE_IDLE,
-#endif
- ONEWIRE_PAD_MODE_ACTIVE,
-#if ONEWIRE_USE_STRONG_PULLUP
- strong_pullup_assert,
- strong_pullup_release
-#endif
-};
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-#if ONEWIRE_USE_STRONG_PULLUP
-/**
- *
- */
-static void strong_pullup_assert(void) {
- palSetPadMode(ONEWIRE_PORT, ONEWIRE_PIN, PAL_MODE_STM32_ALTERNATE_PUSHPULL);
-}
-
-/**
- *
- */
-static void strong_pullup_release(void) {
- palSetPadMode(ONEWIRE_PORT, ONEWIRE_PIN, PAL_MODE_STM32_ALTERNATE_OPENDRAIN);
-}
-#endif /* ONEWIRE_USE_STRONG_PULLUP */
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/**
- *
- */
-void onewireTest(void) {
-
- int16_t tmp;
- uint8_t rombuf[24];
- size_t devices_on_bus = 0;
- size_t i = 0;
- bool presence;
-
- onewireObjectInit(&OWD1);
- onewireStart(&OWD1, &ow_cfg);
-
-#if ONEWIRE_SYNTH_SEARCH_TEST
- synthSearchRomTest(&OWD1);
-#endif
-
- for (i=0; i<3; i++)
- temperature[i] = -666;
-
- while (true) {
- if (true == onewireReset(&OWD1)){
-
- memset(rombuf, 0x55, sizeof(rombuf));
- search_led_on();
- devices_on_bus = onewireSearchRom(&OWD1, rombuf, 3);
- search_led_off();
- osalDbgCheck(devices_on_bus <= 3);
- osalDbgCheck(devices_on_bus > 0);
-
- if (1 == devices_on_bus){
- /* test read rom command */
- presence = onewireReset(&OWD1);
- osalDbgCheck(true == presence);
- testbuf[0] = ONEWIRE_CMD_READ_ROM;
- onewireWrite(&OWD1, testbuf, 1, 0);
- onewireRead(&OWD1, testbuf, 8);
- osalDbgCheck(testbuf[7] == onewireCRC(testbuf, 7));
- osalDbgCheck(0 == memcmp(rombuf, testbuf, 8));
- }
-
- /* start temperature measurement on all connected devices at once */
- presence = onewireReset(&OWD1);
- osalDbgCheck(true == presence);
- testbuf[0] = ONEWIRE_CMD_SKIP_ROM;
- testbuf[1] = ONEWIRE_CMD_CONVERT_TEMP;
-
-#if ONEWIRE_USE_STRONG_PULLUP
- onewireWrite(&OWD1, testbuf, 2, MS2ST(750));
-#else
- onewireWrite(&OWD1, testbuf, 2, 0);
- /* poll bus waiting ready signal from all connected devices */
- testbuf[0] = 0;
- while (testbuf[0] == 0){
- osalThreadSleepMilliseconds(50);
- onewireRead(&OWD1, testbuf, 1);
- }
-#endif
-
- for (i=0; i<devices_on_bus; i++) {
- /* read temperature device by device from their scratchpads */
- presence = onewireReset(&OWD1);
- osalDbgCheck(true == presence);
-
- testbuf[0] = ONEWIRE_CMD_MATCH_ROM;
- memcpy(&testbuf[1], &rombuf[i*8], 8);
- testbuf[9] = ONEWIRE_CMD_READ_SCRATCHPAD;
- onewireWrite(&OWD1, testbuf, 10, 0);
-
- onewireRead(&OWD1, testbuf, 9);
- osalDbgCheck(testbuf[8] == onewireCRC(testbuf, 8));
- memcpy(&tmp, &testbuf, 2);
- temperature[i] = ((int32_t)tmp * 625) / 10;
- }
- }
- else {
- osalSysHalt("No devices found");
- }
- osalThreadSleep(1); /* enforce ChibiOS's stack overflow check */
- }
-
- onewireStop(&OWD1);
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.h
deleted file mode 100644
index 1bec2d0..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef ONEWIRE_TEST_H_
-#define ONEWIRE_TEST_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void onewireTest(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ONEWIRE_TEST_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/readme.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/readme.txt
deleted file mode 100644
index 455f1bc..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/readme.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-*****************************************************************************
-** ChibiOS/RT HAL - 1-Wire driver demo for STM32F0xx. **
-*****************************************************************************
-
-** TARGET **
-
-The demo will on an STMicroelectronics STM32F0(308)-Discovery board.
-
-** The Demo **
-
-The application demonstrates the use of the STM32F0xx 1-Wire driver.
-
-** Board Setup **
-
-To use demo you have to power your 1-wire device from 5V bus on board
-and connect DQ line to PB0 pin. Do not forget about external pullup
-resistor to 5V (4k7 recommended).
-
-** Build Procedure **
-
-The demo has been tested using the free Codesourcery GCC-based toolchain
-and YAGARTO.
-Just modify the TRGT line in the makefile in order to use different GCC ports.
-
-** Notes **
-
-Some files used by the demo are not part of ChibiOS/RT but are copyright of
-ST Microelectronics and are licensed under a different license.
-Also note that not all the files present in the ST library are distributed
-with ChibiOS/RT, you can find the whole library on the ST web site:
-
- http://www.st.com
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/real_roms.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/real_roms.txt
deleted file mode 100644
index ea19c1a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/real_roms.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-rombuf[0] 0x28
-rombuf[1] 0xec
-rombuf[2] 0xf5
-rombuf[3] 0x67
-rombuf[4] 0x5
-rombuf[5] 0x0
-rombuf[6] 0x0
-rombuf[7] 0x1d
-
-rombuf[8] 0x28
-rombuf[9] 0xbd
-rombuf[10] 0x1a
-rombuf[11] 0x60
-rombuf[12] 0x5
-rombuf[13] 0x0
-rombuf[14] 0x0
-rombuf[15] 0x37
-
-rombuf[16] 0x28
-rombuf[17] 0x83
-rombuf[18] 0x7d
-rombuf[19] 0x67
-rombuf[20] 0x5
-rombuf[21] 0x0
-rombuf[22] 0x0
-rombuf[23] 0xf
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/search_rom_synth.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/search_rom_synth.c
deleted file mode 100644
index cd2528f..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/search_rom_synth.c
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <stdlib.h>
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-/* do not set it more than 64 because of some fill_pattern functions
- * will be broken.*/
-#define SYNTH_DEVICES_MAX 64
-
-/*
- * synthetic device
- */
-typedef struct {
- bool active;
- uint64_t id;
-} OWSynthDevice;
-
-/*
- * synthetic bus
- */
-typedef struct {
- OWSynthDevice devices[SYNTH_DEVICES_MAX];
- size_t dev_present;
- bool complement_bit;
- ioline_t rom_bit;
-} OWSynthBus;
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-
-static OWSynthBus synth_bus;
-
-/*
- * local buffer for discovered ROMs
- */
-static uint64_t detected_devices[SYNTH_DEVICES_MAX];
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/**
- *
- */
-void _synth_ow_write_bit(onewireDriver *owp, ioline_t bit) {
- (void)owp;
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++) {
- if (((synth_bus.devices[i].id >> synth_bus.rom_bit) & 1U) != bit) {
- synth_bus.devices[i].active = false;
- }
- }
- synth_bus.rom_bit++;
-}
-
-/**
- *
- */
-ioline_t _synth_ow_read_bit(void) {
- ioline_t ret = 0xFF;
- size_t i;
- ioline_t bit;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++) {
- if (synth_bus.devices[i].active){
- bit = (synth_bus.devices[i].id >> synth_bus.rom_bit) & 1U;
- if (synth_bus.complement_bit){
- bit ^= 1U;
- }
- if (0xFF == ret)
- ret = bit;
- else
- ret &= bit;
- }
- }
- synth_bus.complement_bit = !synth_bus.complement_bit;
- return ret;
-}
-
-/**
- *
- */
-static void synth_reset_pulse(void){
- size_t i;
-
- for (i=0; i<synth_bus.dev_present; i++){
- synth_bus.devices[i].active = true;
- }
-}
-
-/**
- *
- */
-static size_t synth_search_rom(onewireDriver *owp, uint8_t *result, size_t max_rom_cnt) {
-
- size_t i;
-
- search_clean_start(&owp->search_rom);
-
- do {
- /* initialize buffer to store result */
- if (owp->search_rom.reg.devices_found >= max_rom_cnt)
- owp->search_rom.retbuf = result + 8*(max_rom_cnt-1);
- else
- owp->search_rom.retbuf = result + 8*owp->search_rom.reg.devices_found;
- memset(owp->search_rom.retbuf, 0, 8);
-
- /* clean iteration state */
- search_clean_iteration(&owp->search_rom);
-
- /**/
- synth_reset_pulse();
- synth_bus.rom_bit = 0;
- synth_bus.complement_bit = false;
- for (i=0; i<64*3 - 1; i++){
- ow_search_rom_cb(NULL, owp);
- }
-
- if (ONEWIRE_SEARCH_ROM_ERROR != owp->search_rom.reg.result) {
- /* store cached result for usage in next iteration */
- memcpy(owp->search_rom.prev_path, owp->search_rom.retbuf, 8);
- }
- }
- while (ONEWIRE_SEARCH_ROM_SUCCESS == owp->search_rom.reg.result);
-
- /**/
- if (ONEWIRE_SEARCH_ROM_ERROR == owp->search_rom.reg.result)
- return 0;
- else
- return owp->search_rom.reg.devices_found;
-}
-
-/**
- *
- */
-static void fill_pattern_real_devices(void) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- synth_bus.devices[0].active = true;
- synth_bus.devices[0].id = 0x1d00000567f5ec28;
-
- synth_bus.devices[1].active = true;
- synth_bus.devices[1].id = 0x37000005601abd28;
-
- synth_bus.devices[2].active = true;
- synth_bus.devices[2].id = 0x0f000005677d8328;
-}
-
-/**
- *
- */
-static void fill_pattern_00(size_t devices, size_t start) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = (start + i);
- }
-}
-
-/**
- *
- */
-static void fill_pattern_01(size_t devices) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = (devices - i);
- }
-}
-
-/**
- *
- */
-static void fill_pattern_02(size_t devices) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = ((uint64_t)1 << i);
- }
-}
-
-/**
- *
- */
-static void fill_pattern_03(size_t devices) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = ((uint64_t)0x8000000000000000 >> i);
- }
-}
-
-/**
- * @brief random pattern helper
- */
-static bool is_id_uniq(const OWSynthDevice *dev, size_t n, uint64_t id) {
- size_t i;
-
- for (i=0; i<n; i++) {
- if (dev[i].id == id)
- return false;
- }
- return true;
-}
-
-/**
- *
- */
-static void fill_pattern_rand(size_t devices) {
- size_t i;
- uint64_t new_id;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++){
- synth_bus.devices[i].active = false;
- synth_bus.devices[i].id = 0;
- }
-
- for (i=0; i<devices; i++) {
- do {
- new_id = rand();
- new_id = (new_id << 32) | rand();
- } while (true != is_id_uniq(synth_bus.devices, i, new_id));
-
- synth_bus.devices[i].id = new_id;
- synth_bus.devices[i].active = true;
- }
-}
-
-/**
- *
- */
-static bool check_result(size_t detected) {
-
- size_t i,j;
- bool match = false;
-
- for (i=0; i<detected; i++){
- match = false;
- for (j=0; j<detected; j++){
- if (synth_bus.devices[i].id == detected_devices[j]){
- match = true;
- break;
- }
- }
- if (false == match)
- return OSAL_FAILED;
- }
- return OSAL_SUCCESS;
-}
-
-/**
- *
- */
-void synthSearchRomTest(onewireDriver *owp) {
-
- size_t detected = 0;
- size_t i;
-
- synth_bus.dev_present = 3;
- fill_pattern_real_devices();
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- for (i=1; i<=SYNTH_DEVICES_MAX; i++){
- synth_bus.dev_present = i;
-
- fill_pattern_00(synth_bus.dev_present, 0);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_00(synth_bus.dev_present, 1);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_01(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_02(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_03(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
- }
-
- i = 0;
- while (i < 1000) {
- synth_bus.dev_present = 1 + (rand() & 63);
-
- fill_pattern_rand(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
- i++;
- }
-}
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.cproject
deleted file mode 100644
index 630718a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.cproject
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.1907870227">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1907870227" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.1907870227" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.1907870227." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.2147369392" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.2147369392.1404159771" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.556284602" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.7290094" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1820285415" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.10251564" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.2066745879" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.371720077" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.300050755" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.705907565" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="STM32F0xx-qei.null.669124853" name="STM32F0xx-qei"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.1907870227">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.project
deleted file mode 100644
index f721498..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.project
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F1xx-qei</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>os-community</name>
- <type>2</type>
- <locationURI>PARENT-4-PROJECT_LOC/os</locationURI>
- </link>
- <link>
- <name>os-git</name>
- <type>2</type>
- <locationURI>PARENT-5-PROJECT_LOC/ChibiOS-RT/os</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/Makefile
deleted file mode 100644
index 6dbcf91..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/Makefile
+++ /dev/null
@@ -1,218 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x200
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f0xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F0xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/ST_STM32F072B_DISCOVERY/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v6m.mk
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/STM32F072xB.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m0
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/chconf.h
deleted file mode 100644
index 71cbe47..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 16
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf.h
deleted file mode 100644
index 93cc713..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf_community.h
deleted file mode 100644
index 9c28ead..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf_community.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef HALCONF_COMMUNITY_H
-#define HALCONF_COMMUNITY_H
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/**
- * @brief Enables the QEI subsystem.
- */
-#if !defined(HAL_USE_QEI) || defined(__DOXYGEN__)
-#define HAL_USE_QEI TRUE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM FALSE
-
-#endif /* HALCONF_COMMUNITY_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/main.c
deleted file mode 100644
index 275cefa..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/main.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Nicolas Reinecke
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- static QEIConfig qeicfg = {
- QEI_MODE_QUADRATURE,
- QEI_BOTH_EDGES,
- QEI_DIRINV_FALSE,
- };
-
- qeiStart(&QEID3, &qeicfg);
- qeiEnable(&QEID3);
-
- uint16_t qei;
- while (1) {
- qei = qeiGetCount(&QEID3);
- if (qei & 1)
- palSetPad(GPIOC, GPIOC_LED_GREEN);
- else
- palClearPad(GPIOC, GPIOC_LED_GREEN);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf.h
deleted file mode 100644
index 6fb24b0..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * STM32F0xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 3...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F0xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_HSI_ENABLED TRUE
-#define STM32_HSI14_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED FALSE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSI_DIV2
-#define STM32_PREDIV_VALUE 1
-#define STM32_PLLMUL_VALUE 12
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE STM32_PPRE_DIV1
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_ADCSW STM32_ADCSW_HSI14
-#define STM32_CECSW STM32_CECSW_HSI
-#define STM32_I2C1SW STM32_I2C1SW_HSI
-#define STM32_USART1SW STM32_USART1SW_PCLK
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 2
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 2
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_1_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI2_3_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI4_15_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 3
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 3
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 2
-#define STM32_GPT_TIM2_IRQ_PRIORITY 2
-#define STM32_GPT_TIM3_IRQ_PRIORITY 2
-#define STM32_GPT_TIM14_IRQ_PRIORITY 2
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 3
-#define STM32_I2C_I2C2_IRQ_PRIORITY 3
-#define STM32_I2C_USE_DMA TRUE
-#define STM32_I2C_I2C1_DMA_PRIORITY 1
-#define STM32_I2C_I2C2_DMA_PRIORITY 1
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 3
-#define STM32_ICU_TIM2_IRQ_PRIORITY 3
-#define STM32_ICU_TIM3_IRQ_PRIORITY 3
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 3
-#define STM32_PWM_TIM2_IRQ_PRIORITY 3
-#define STM32_PWM_TIM3_IRQ_PRIORITY 3
-
-/*
- * RTC driver system settings.
- */
-#define STM32_RTC_IRQ_PRIORITY 15
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 3
-#define STM32_SERIAL_USART2_PRIORITY 3
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 2
-#define STM32_SPI_SPI2_IRQ_PRIORITY 2
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 2
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 3
-#define STM32_UART_USART2_IRQ_PRIORITY 3
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_USB1 FALSE
-#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
-#define STM32_USB_USB1_HP_IRQ_PRIORITY 13
-#define STM32_USB_USB1_LP_IRQ_PRIORITY 14
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG TRUE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* MCUCONF_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf_community.h
deleted file mode 100644
index b89bc7a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf_community.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2016
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_COMMUNITY_H
-#define MCUCONF_COMMUNITY_H
-
-/*
- * QEI driver system settings.
- */
-#define STM32_QEI_USE_TIM1 FALSE
-#define STM32_QEI_USE_TIM2 FALSE
-#define STM32_QEI_USE_TIM3 TRUE
-#define STM32_QEI_TIM1_IRQ_PRIORITY 3
-#define STM32_QEI_TIM2_IRQ_PRIORITY 3
-#define STM32_QEI_TIM3_IRQ_PRIORITY 3
-
-#endif /* MCUCONF_COMMUNITY_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/readme.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/readme.txt
deleted file mode 100644
index 32cff3e..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/readme.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-*****************************************************************************
-** ChibiOS/HAL - qei driver demo for STM32F0xx. **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an ST STM32F0-Discovery board.
-
-** The Demo **
-
-The application demonstrates the use of the STM32F0xx QEI encoder driver.
-
-** Board Setup **
-
-To use demo you have to connect an encoder to one of the timers that support
-the encoder mode to ch1 and ch2 and add an external pullup resistor to 3V3.
-For good results add 100n capacitors to GND.
-
-
-** Notes **
-
-Some files used by the demo are not part of ChibiOS/RT but are copyright of
-ST Microelectronics and are licensed under a different license.
-Also note that not all the files present in the ST library are distributed
-with ChibiOS/RT, you can find the whole library on the ST web site:
-
- http://www.st.com
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.cproject
deleted file mode 100644
index 11b29ed..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.cproject
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.1459621859">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1459621859" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.1459621859" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.1459621859." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1024118346" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1024118346.1502432096" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.1761538208" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.2076156817" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.683366766" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.682376688" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.412113623" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1923392762" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.769374214" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1530291878" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="onewire_f1x.null.2102082926" name="onewire_f1x"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.114656749">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="0.965944321">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="0.1459621859">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.project
deleted file mode 100644
index 9c1fc51..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.project
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F1xx-onewire</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>os-community</name>
- <type>2</type>
- <locationURI>PARENT-4-PROJECT_LOC/os</locationURI>
- </link>
- <link>
- <name>os-git</name>
- <type>2</type>
- <locationURI>PARENT-5-PROJECT_LOC/ChibiOS-RT/os</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/Makefile
deleted file mode 100644
index d2e25b1..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/Makefile
+++ /dev/null
@@ -1,215 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f1xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/OLIMEX_STM32_103STK/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-#include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/STM32F103xB.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c \
- onewire_test.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m3
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes -Wundef
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/chconf.h
deleted file mode 100644
index ee20e3c..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 16
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_ALL
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf.h
deleted file mode 100644
index e6ce929..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006-2014 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf_community.h
deleted file mode 100644
index 91dbfbc..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf_community.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE TRUE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/main.c
deleted file mode 100644
index 793bffe..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/main.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#include "onewire_test.h"
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Executes infinite onewire test code.
- */
- onewireTest();
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf.h
deleted file mode 100644
index 807293a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#define STM32F103_MCUCONF
-
-/*
- * STM32F103 drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED FALSE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV1
-#define STM32_PLLMUL_VALUE 9
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_USB_CLOCK_REQUIRED TRUE
-#define STM32_USBPRE STM32_USBPRE_DIV1P5
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_RTCSEL STM32_RTCSEL_HSEDIV
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_ADC1_IRQ_PRIORITY 6
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM5 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM5_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 5
-#define STM32_I2C_I2C2_IRQ_PRIORITY 5
-#define STM32_I2C_I2C1_DMA_PRIORITY 3
-#define STM32_I2C_I2C2_DMA_PRIORITY 3
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM5_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 TRUE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM5_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-
-/*
- * RTC driver system settings.
- */
-#define STM32_RTC_IRQ_PRIORITY 15
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_USB1 FALSE
-#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
-#define STM32_USB_USB1_HP_IRQ_PRIORITY 13
-#define STM32_USB_USB1_LP_IRQ_PRIORITY 14
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf_community.h
deleted file mode 100644
index 7c438a8..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf_community.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.c
deleted file mode 100644
index be20dbc..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <string.h>
-
-#include "hal.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-#if defined(BOARD_ST_STM32F4_DISCOVERY) || \
- defined(BOARD_ST_STM32F0_DISCOVERY) || \
- defined(BOARD_ST_STM32F0308_DISCOVERY)
- #if ONEWIRE_USE_STRONG_PULLUP
- #error "This board has not enough voltage for this feature"
- #endif
-#endif
-
-#if defined(BOARD_ST_STM32F0308_DISCOVERY)
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN GPIOB_PIN0
- #define ONEWIRE_PAD_MODE_ACTIVE (PAL_MODE_ALTERNATE(1) | PAL_STM32_OTYPE_OPENDRAIN)
- #define search_led_off() (palClearPad(GPIOC, GPIOC_LED4))
- #define search_led_on() (palSetPad(GPIOC, GPIOC_LED4))
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#elif defined(BOARD_ST_STM32F4_DISCOVERY)
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN GPIOB_PIN0
- #define ONEWIRE_PAD_MODE_ACTIVE (PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN)
- #define search_led_off() (palClearPad(GPIOD, GPIOD_LED4))
- #define search_led_on() (palSetPad(GPIOD, GPIOD_LED4))
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#elif defined(BOARD_OLIMEX_STM32_103STK)
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN 0
- #define ONEWIRE_PAD_MODE_IDLE PAL_MODE_INPUT
- #define ONEWIRE_PAD_MODE_ACTIVE PAL_MODE_STM32_ALTERNATE_OPENDRAIN
- #define search_led_on() (palClearPad(GPIOC, GPIOC_LED))
- #define search_led_off() (palSetPad(GPIOC, GPIOC_LED))
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#else
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN GPIOB_TACHOMETER
- #include "pads.h"
- #define ONEWIRE_PAD_MODE_ACTIVE (PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN)
- #define search_led_on red_led_on
- #define search_led_off red_led_off
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#endif
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-/*
- * Forward declarations
- */
-#if ONEWIRE_USE_STRONG_PULLUP
-static void strong_pullup_assert(void);
-static void strong_pullup_release(void);
-#endif
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-
-static uint8_t testbuf[12];
-
-/* stores 3 temperature values in millicelsius */
-static int32_t temperature[3];
-
-/*
- * Config for underlied PWM driver.
- * Note! It is NOT constant because 1-wire driver needs to change them
- * during functioning.
- */
-static PWMConfig pwm_cfg = {
- 0,
- 0,
- NULL,
- {
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL}
- },
- 0,
-#if STM32_PWM_USE_ADVANCED
- 0,
-#endif
- 0
-};
-
-/*
- *
- */
-static const onewireConfig ow_cfg = {
- &PWMD3,
- &pwm_cfg,
- PWM_OUTPUT_ACTIVE_LOW,
- ONEWIRE_MASTER_CHANNEL,
- ONEWIRE_SAMPLE_CHANNEL,
- ONEWIRE_PORT,
- ONEWIRE_PIN,
-#if defined(STM32F1XX)
- ONEWIRE_PAD_MODE_IDLE,
-#endif
- ONEWIRE_PAD_MODE_ACTIVE,
-#if ONEWIRE_USE_STRONG_PULLUP
- strong_pullup_assert,
- strong_pullup_release
-#endif
-};
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-#if ONEWIRE_USE_STRONG_PULLUP
-/**
- *
- */
-static void strong_pullup_assert(void) {
- palSetPadMode(ONEWIRE_PORT, ONEWIRE_PIN, PAL_MODE_STM32_ALTERNATE_PUSHPULL);
-}
-
-/**
- *
- */
-static void strong_pullup_release(void) {
- palSetPadMode(ONEWIRE_PORT, ONEWIRE_PIN, PAL_MODE_STM32_ALTERNATE_OPENDRAIN);
-}
-#endif /* ONEWIRE_USE_STRONG_PULLUP */
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/**
- *
- */
-void onewireTest(void) {
-
- int16_t tmp;
- uint8_t rombuf[24];
- size_t devices_on_bus = 0;
- size_t i = 0;
- bool presence;
-
- onewireObjectInit(&OWD1);
- onewireStart(&OWD1, &ow_cfg);
-
-#if ONEWIRE_SYNTH_SEARCH_TEST
- synthSearchRomTest(&OWD1);
-#endif
-
- for (i=0; i<3; i++)
- temperature[i] = -666;
-
- while (true) {
- if (true == onewireReset(&OWD1)){
-
- memset(rombuf, 0x55, sizeof(rombuf));
- search_led_on();
- devices_on_bus = onewireSearchRom(&OWD1, rombuf, 3);
- search_led_off();
- osalDbgCheck(devices_on_bus <= 3);
- osalDbgCheck(devices_on_bus > 0);
-
- if (1 == devices_on_bus){
- /* test read rom command */
- presence = onewireReset(&OWD1);
- osalDbgCheck(true == presence);
- testbuf[0] = ONEWIRE_CMD_READ_ROM;
- onewireWrite(&OWD1, testbuf, 1, 0);
- onewireRead(&OWD1, testbuf, 8);
- osalDbgCheck(testbuf[7] == onewireCRC(testbuf, 7));
- osalDbgCheck(0 == memcmp(rombuf, testbuf, 8));
- }
-
- /* start temperature measurement on all connected devices at once */
- presence = onewireReset(&OWD1);
- osalDbgCheck(true == presence);
- testbuf[0] = ONEWIRE_CMD_SKIP_ROM;
- testbuf[1] = ONEWIRE_CMD_CONVERT_TEMP;
-
-#if ONEWIRE_USE_STRONG_PULLUP
- onewireWrite(&OWD1, testbuf, 2, MS2ST(750));
-#else
- onewireWrite(&OWD1, testbuf, 2, 0);
- /* poll bus waiting ready signal from all connected devices */
- testbuf[0] = 0;
- while (testbuf[0] == 0){
- osalThreadSleepMilliseconds(50);
- onewireRead(&OWD1, testbuf, 1);
- }
-#endif
-
- for (i=0; i<devices_on_bus; i++) {
- /* read temperature device by device from their scratchpads */
- presence = onewireReset(&OWD1);
- osalDbgCheck(true == presence);
-
- testbuf[0] = ONEWIRE_CMD_MATCH_ROM;
- memcpy(&testbuf[1], &rombuf[i*8], 8);
- testbuf[9] = ONEWIRE_CMD_READ_SCRATCHPAD;
- onewireWrite(&OWD1, testbuf, 10, 0);
-
- onewireRead(&OWD1, testbuf, 9);
- osalDbgCheck(testbuf[8] == onewireCRC(testbuf, 8));
- memcpy(&tmp, &testbuf, 2);
- temperature[i] = ((int32_t)tmp * 625) / 10;
- }
- }
- else {
- osalSysHalt("No devices found");
- }
- osalThreadSleep(1); /* enforce ChibiOS's stack overflow check */
- }
-
- onewireStop(&OWD1);
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.h
deleted file mode 100644
index 1bec2d0..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef ONEWIRE_TEST_H_
-#define ONEWIRE_TEST_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void onewireTest(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ONEWIRE_TEST_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/readme.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/readme.txt
deleted file mode 100644
index f10ae0b..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/readme.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-*****************************************************************************
-** ChibiOS/RT HAL - 1-Wire driver demo for STM32F1xx. **
-*****************************************************************************
-
-** TARGET **
-
-The demo will on an Olimex STM32_103STK board.
-
-** The Demo **
-
-The application demonstrates the use of the STM32F1xx 1-Wire driver.
-
-** Board Setup **
-
-To use demo you have to power your 1-wire device from 5V bus on board
-and connect DQ line to PB0 pin. Do not forget about external pullup
-resistor to 5V (4k7 recommended).
-
-** Build Procedure **
-
-The demo has been tested using the free Codesourcery GCC-based toolchain
-and YAGARTO.
-Just modify the TRGT line in the makefile in order to use different GCC ports.
-
-** Notes **
-
-Some files used by the demo are not part of ChibiOS/RT but are copyright of
-ST Microelectronics and are licensed under a different license.
-Also note that not all the files present in the ST library are distributed
-with ChibiOS/RT, you can find the whole library on the ST web site:
-
- http://www.st.com
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/real_roms.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/real_roms.txt
deleted file mode 100644
index ea19c1a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/real_roms.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-rombuf[0] 0x28
-rombuf[1] 0xec
-rombuf[2] 0xf5
-rombuf[3] 0x67
-rombuf[4] 0x5
-rombuf[5] 0x0
-rombuf[6] 0x0
-rombuf[7] 0x1d
-
-rombuf[8] 0x28
-rombuf[9] 0xbd
-rombuf[10] 0x1a
-rombuf[11] 0x60
-rombuf[12] 0x5
-rombuf[13] 0x0
-rombuf[14] 0x0
-rombuf[15] 0x37
-
-rombuf[16] 0x28
-rombuf[17] 0x83
-rombuf[18] 0x7d
-rombuf[19] 0x67
-rombuf[20] 0x5
-rombuf[21] 0x0
-rombuf[22] 0x0
-rombuf[23] 0xf
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/search_rom_synth.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/search_rom_synth.c
deleted file mode 100644
index cd2528f..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/search_rom_synth.c
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <stdlib.h>
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-/* do not set it more than 64 because of some fill_pattern functions
- * will be broken.*/
-#define SYNTH_DEVICES_MAX 64
-
-/*
- * synthetic device
- */
-typedef struct {
- bool active;
- uint64_t id;
-} OWSynthDevice;
-
-/*
- * synthetic bus
- */
-typedef struct {
- OWSynthDevice devices[SYNTH_DEVICES_MAX];
- size_t dev_present;
- bool complement_bit;
- ioline_t rom_bit;
-} OWSynthBus;
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-
-static OWSynthBus synth_bus;
-
-/*
- * local buffer for discovered ROMs
- */
-static uint64_t detected_devices[SYNTH_DEVICES_MAX];
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/**
- *
- */
-void _synth_ow_write_bit(onewireDriver *owp, ioline_t bit) {
- (void)owp;
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++) {
- if (((synth_bus.devices[i].id >> synth_bus.rom_bit) & 1U) != bit) {
- synth_bus.devices[i].active = false;
- }
- }
- synth_bus.rom_bit++;
-}
-
-/**
- *
- */
-ioline_t _synth_ow_read_bit(void) {
- ioline_t ret = 0xFF;
- size_t i;
- ioline_t bit;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++) {
- if (synth_bus.devices[i].active){
- bit = (synth_bus.devices[i].id >> synth_bus.rom_bit) & 1U;
- if (synth_bus.complement_bit){
- bit ^= 1U;
- }
- if (0xFF == ret)
- ret = bit;
- else
- ret &= bit;
- }
- }
- synth_bus.complement_bit = !synth_bus.complement_bit;
- return ret;
-}
-
-/**
- *
- */
-static void synth_reset_pulse(void){
- size_t i;
-
- for (i=0; i<synth_bus.dev_present; i++){
- synth_bus.devices[i].active = true;
- }
-}
-
-/**
- *
- */
-static size_t synth_search_rom(onewireDriver *owp, uint8_t *result, size_t max_rom_cnt) {
-
- size_t i;
-
- search_clean_start(&owp->search_rom);
-
- do {
- /* initialize buffer to store result */
- if (owp->search_rom.reg.devices_found >= max_rom_cnt)
- owp->search_rom.retbuf = result + 8*(max_rom_cnt-1);
- else
- owp->search_rom.retbuf = result + 8*owp->search_rom.reg.devices_found;
- memset(owp->search_rom.retbuf, 0, 8);
-
- /* clean iteration state */
- search_clean_iteration(&owp->search_rom);
-
- /**/
- synth_reset_pulse();
- synth_bus.rom_bit = 0;
- synth_bus.complement_bit = false;
- for (i=0; i<64*3 - 1; i++){
- ow_search_rom_cb(NULL, owp);
- }
-
- if (ONEWIRE_SEARCH_ROM_ERROR != owp->search_rom.reg.result) {
- /* store cached result for usage in next iteration */
- memcpy(owp->search_rom.prev_path, owp->search_rom.retbuf, 8);
- }
- }
- while (ONEWIRE_SEARCH_ROM_SUCCESS == owp->search_rom.reg.result);
-
- /**/
- if (ONEWIRE_SEARCH_ROM_ERROR == owp->search_rom.reg.result)
- return 0;
- else
- return owp->search_rom.reg.devices_found;
-}
-
-/**
- *
- */
-static void fill_pattern_real_devices(void) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- synth_bus.devices[0].active = true;
- synth_bus.devices[0].id = 0x1d00000567f5ec28;
-
- synth_bus.devices[1].active = true;
- synth_bus.devices[1].id = 0x37000005601abd28;
-
- synth_bus.devices[2].active = true;
- synth_bus.devices[2].id = 0x0f000005677d8328;
-}
-
-/**
- *
- */
-static void fill_pattern_00(size_t devices, size_t start) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = (start + i);
- }
-}
-
-/**
- *
- */
-static void fill_pattern_01(size_t devices) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = (devices - i);
- }
-}
-
-/**
- *
- */
-static void fill_pattern_02(size_t devices) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = ((uint64_t)1 << i);
- }
-}
-
-/**
- *
- */
-static void fill_pattern_03(size_t devices) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = ((uint64_t)0x8000000000000000 >> i);
- }
-}
-
-/**
- * @brief random pattern helper
- */
-static bool is_id_uniq(const OWSynthDevice *dev, size_t n, uint64_t id) {
- size_t i;
-
- for (i=0; i<n; i++) {
- if (dev[i].id == id)
- return false;
- }
- return true;
-}
-
-/**
- *
- */
-static void fill_pattern_rand(size_t devices) {
- size_t i;
- uint64_t new_id;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++){
- synth_bus.devices[i].active = false;
- synth_bus.devices[i].id = 0;
- }
-
- for (i=0; i<devices; i++) {
- do {
- new_id = rand();
- new_id = (new_id << 32) | rand();
- } while (true != is_id_uniq(synth_bus.devices, i, new_id));
-
- synth_bus.devices[i].id = new_id;
- synth_bus.devices[i].active = true;
- }
-}
-
-/**
- *
- */
-static bool check_result(size_t detected) {
-
- size_t i,j;
- bool match = false;
-
- for (i=0; i<detected; i++){
- match = false;
- for (j=0; j<detected; j++){
- if (synth_bus.devices[i].id == detected_devices[j]){
- match = true;
- break;
- }
- }
- if (false == match)
- return OSAL_FAILED;
- }
- return OSAL_SUCCESS;
-}
-
-/**
- *
- */
-void synthSearchRomTest(onewireDriver *owp) {
-
- size_t detected = 0;
- size_t i;
-
- synth_bus.dev_present = 3;
- fill_pattern_real_devices();
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- for (i=1; i<=SYNTH_DEVICES_MAX; i++){
- synth_bus.dev_present = i;
-
- fill_pattern_00(synth_bus.dev_present, 0);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_00(synth_bus.dev_present, 1);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_01(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_02(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_03(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
- }
-
- i = 0;
- while (i < 1000) {
- synth_bus.dev_present = 1 + (rand() & 63);
-
- fill_pattern_rand(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
- i++;
- }
-}
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.cproject
deleted file mode 100644
index 953da60..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.cproject
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.1459621859">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1459621859" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.1459621859" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.1459621859." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1024118346" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1024118346.1502432096" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.1761538208" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.2076156817" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.683366766" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.682376688" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.412113623" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1923392762" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.769374214" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1530291878" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="STM32F1xx-qei.null.2102082926" name="STM32F1xx-qei"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.114656749">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="0.965944321">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="0.1459621859">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.project
deleted file mode 100644
index f721498..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.project
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F1xx-qei</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>os-community</name>
- <type>2</type>
- <locationURI>PARENT-4-PROJECT_LOC/os</locationURI>
- </link>
- <link>
- <name>os-git</name>
- <type>2</type>
- <locationURI>PARENT-5-PROJECT_LOC/ChibiOS-RT/os</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/Makefile
deleted file mode 100644
index a232838..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/Makefile
+++ /dev/null
@@ -1,218 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f1xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F1xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/OLIMEX_STM32_103STK/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/STM32F103xB.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m3
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/chconf.h
deleted file mode 100644
index 71cbe47..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 16
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM FALSE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf.h
deleted file mode 100644
index 93cc713..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf_community.h
deleted file mode 100644
index 9c28ead..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf_community.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef HALCONF_COMMUNITY_H
-#define HALCONF_COMMUNITY_H
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/**
- * @brief Enables the QEI subsystem.
- */
-#if !defined(HAL_USE_QEI) || defined(__DOXYGEN__)
-#define HAL_USE_QEI TRUE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM FALSE
-
-#endif /* HALCONF_COMMUNITY_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/main.c
deleted file mode 100644
index 332f197..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/main.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Nicolas Reinecke
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- static QEIConfig qeicfg = {
- QEI_MODE_QUADRATURE,
- QEI_BOTH_EDGES,
- QEI_DIRINV_FALSE,
- };
-
- AFIO->MAPR |= AFIO_MAPR_TIM3_REMAP_FULLREMAP;
- qeiStart(&QEID3, &qeicfg);
- qeiEnable(&QEID3);
-
- uint16_t qei;
- while (1) {
- qei = qeiGetCount(&QEID3);
- if (qei & 1)
- palSetPad(GPIOC, GPIOC_LED);
- else
- palClearPad(GPIOC, GPIOC_LED);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf.h
deleted file mode 100644
index f3ccaf0..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf.h
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * STM32F103 drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F103_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED FALSE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV1
-#define STM32_PLLMUL_VALUE 9
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_ADCPRE STM32_ADCPRE_DIV4
-#define STM32_USB_CLOCK_REQUIRED TRUE
-#define STM32_USBPRE STM32_USBPRE_DIV1P5
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_RTCSEL STM32_RTCSEL_HSEDIV
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_ADC1_IRQ_PRIORITY 6
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM5 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM5_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 5
-#define STM32_I2C_I2C2_IRQ_PRIORITY 5
-#define STM32_I2C_I2C1_DMA_PRIORITY 3
-#define STM32_I2C_I2C2_DMA_PRIORITY 3
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM5_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM5_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-
-/*
- * RTC driver system settings.
- */
-#define STM32_RTC_IRQ_PRIORITY 15
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_USB1 FALSE
-#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
-#define STM32_USB_USB1_HP_IRQ_PRIORITY 13
-#define STM32_USB_USB1_LP_IRQ_PRIORITY 14
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG TRUE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* MCUCONF_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf_community.h
deleted file mode 100644
index 2c1a688..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf_community.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2016
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_COMMUNITY_H
-#define MCUCONF_COMMUNITY_H
-
-/*
- * FSMC SRAM driver system settings.
- */
-#define STM32_USE_FSMC_SRAM FALSE
-
-/*
- * QEI driver system settings.
- */
-#define STM32_QEI_USE_TIM1 FALSE
-#define STM32_QEI_USE_TIM2 FALSE
-#define STM32_QEI_USE_TIM3 TRUE
-#define STM32_QEI_USE_TIM4 FALSE
-#define STM32_QEI_USE_TIM5 FALSE
-#define STM32_QEI_USE_TIM8 FALSE
-#define STM32_QEI_TIM1_IRQ_PRIORITY 7
-#define STM32_QEI_TIM2_IRQ_PRIORITY 7
-#define STM32_QEI_TIM3_IRQ_PRIORITY 7
-#define STM32_QEI_TIM4_IRQ_PRIORITY 7
-#define STM32_QEI_TIM5_IRQ_PRIORITY 7
-#define STM32_QEI_TIM8_IRQ_PRIORITY 7
-
-#endif /* MCUCONF_COMMUNITY_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/readme.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/readme.txt
deleted file mode 100644
index 04f8f46..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/readme.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-*****************************************************************************
-** ChibiOS/HAL - qei driver demo for STM32F1xx. **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an Olimex STM32_103STK board.
-
-** The Demo **
-
-The application demonstrates the use of the STM32F1xx QEI encoder driver.
-
-** Board Setup **
-
-To use demo you have to connect an encoder to one of the timers that support
-the encoder mode to ch1 and ch2 and add an external pullup resistor to 3V3.
-For good results add 100n capacitors to GND.
-
-
-** Notes **
-
-Some files used by the demo are not part of ChibiOS/RT but are copyright of
-ST Microelectronics and are licensed under a different license.
-Also note that not all the files present in the ST library are distributed
-with ChibiOS/RT, you can find the whole library on the ST web site:
-
- http://www.st.com
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.cproject
deleted file mode 100644
index 79f8348..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.cproject
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.1781867494">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1781867494" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.1781867494" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.1781867494." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1795764156" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1795764156.439002703" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.1395710241" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1521496177" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1286933349" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.629304425" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.745870495" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.2105391930" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.590325791" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.395109504" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="STM32F3xx-EEProm.null.1347204465" name="STM32F3xx-EEProm"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.1781867494">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.project
deleted file mode 100644
index ee156de..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F3xx-EEProm</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/Makefile
deleted file mode 100644
index 90ada53..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/Makefile
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f3xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F3xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/ST_STM32F3_DISCOVERY/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-#include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/STM32F303xC.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/chconf.h
deleted file mode 100644
index 00eb395..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_ALL
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf.h
deleted file mode 100644
index 42c228e..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C TRUE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI TRUE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG TRUE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf_community.h
deleted file mode 100644
index 3916efb..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf_community.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/**
- * @brief Enables the EEPROM subsystem.
- */
-#if !defined(HAL_USE_EEPROM) || defined(__DOXYGEN__)
-#define HAL_USE_EEPROM TRUE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
- /*===========================================================================*/
-/* EEProm driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables 24xx series I2C eeprom device driver.
- * @note Disabling this option saves both code and data space.
- */
-#define EEPROM_USE_EE24XX TRUE
- /**
- * @brief Enables 25xx series SPI eeprom device driver.
- * @note Disabling this option saves both code and data space.
- */
-#define EEPROM_USE_EE25XX TRUE
-
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/main.c
deleted file mode 100644
index 130a600..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/main.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#define EEPROM_SIZE 8192 // 64Kb, 8KB
-#define EEPROM_PAGE_SIZE 32
-#define EEPROM_WRITE_TIME_MS 10 // byte/page write time
-#define EEPROM_SPID SPID1
-#define EEPROM_SPIDCONFIG spi1cfg
-
-static const SPIConfig EEPROM_SPIDCONFIG = {
- NULL,
- GPIOA,
- 12,
- 0, // Up to 20Mhz
- SPI_CR2_DS_2 | SPI_CR2_DS_1 | SPI_CR2_DS_0
-};
-
-static SPIEepromFileConfig eeCfg = {
- 0,
- EEPROM_SIZE,
- EEPROM_SIZE,
- EEPROM_PAGE_SIZE,
- MS2ST(EEPROM_WRITE_TIME_MS),
- &EEPROM_SPID,
- &EEPROM_SPIDCONFIG,
-};
-
-static SPIEepromFileStream eeFile;
-static EepromFileStream *eeFS;
-
-static uint8_t buffer[64];
-
-THD_WORKING_AREA(waThreadEE, 256);
-static THD_FUNCTION(ThreadEE, arg)
-{
- (void)arg;
- uint8_t len = 64;
-
- while (TRUE)
- {
-
- eeFS = SPIEepromFileOpen(&eeFile, &eeCfg, EepromFindDevice(EEPROM_DEV_25XX));
- fileStreamSeek(eeFS, 0);
-
- fileStreamWrite(eeFS, buffer, len);
- fileStreamRead(eeFS, buffer, len);
-
- fileStreamClose(eeFS);
-
- chThdSleepMilliseconds(500);
- }
-
- return;
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- spiStart(&EEPROM_SPID, &EEPROM_SPIDCONFIG);
-
- chThdCreateStatic(waThreadEE, sizeof(waThreadEE), NORMALPRIO, ThreadEE, NULL);
-
- /*
- * Normal main() thread activity, it resets the watchdog.
- */
- while (true) {
- palToggleLine(LINE_LED4_BLUE);
- chThdSleepMilliseconds(500);
- }
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf.h
deleted file mode 100644
index 60b9854..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf.h
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * STM32F3xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F3xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PREDIV_VALUE 1
-#define STM32_PLLMUL_VALUE 9
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_ADC12PRES STM32_ADC12PRES_DIV1
-#define STM32_ADC34PRES STM32_ADC34PRES_DIV1
-#define STM32_USART1SW STM32_USART1SW_PCLK
-#define STM32_USART2SW STM32_USART2SW_PCLK
-#define STM32_USART3SW STM32_USART3SW_PCLK
-#define STM32_UART4SW STM32_UART4SW_PCLK
-#define STM32_UART5SW STM32_UART5SW_PCLK
-#define STM32_I2C1SW STM32_I2C1SW_SYSCLK
-#define STM32_I2C2SW STM32_I2C2SW_SYSCLK
-#define STM32_TIM1SW STM32_TIM1SW_PCLK2
-#define STM32_TIM8SW STM32_TIM8SW_PCLK2
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-#define STM32_USB_CLOCK_REQUIRED TRUE
-#define STM32_USBPRE STM32_USBPRE_DIV1P5
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_DUAL_MODE FALSE
-#define STM32_ADC_COMPACT_SAMPLES FALSE
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_USE_ADC2 FALSE
-#define STM32_ADC_USE_ADC3 FALSE
-#define STM32_ADC_USE_ADC4 FALSE
-#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
-#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
-#define STM32_ADC_ADC4_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_ADC2_DMA_PRIORITY 2
-#define STM32_ADC_ADC3_DMA_PRIORITY 2
-#define STM32_ADC_ADC4_DMA_PRIORITY 2
-#define STM32_ADC_ADC12_IRQ_PRIORITY 5
-#define STM32_ADC_ADC3_IRQ_PRIORITY 5
-#define STM32_ADC_ADC4_IRQ_PRIORITY 5
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC4_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC12_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
-#define STM32_ADC_ADC34_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 TRUE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-
-/*
- * DAC driver system settings.
- */
-#define STM32_DAC_DUAL_MODE FALSE
-#define STM32_DAC_USE_DAC1_CH1 TRUE
-#define STM32_DAC_USE_DAC1_CH2 TRUE
-#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI21_22_29_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI30_32_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI33_IRQ_PRIORITY 6
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM6 FALSE
-#define STM32_GPT_USE_TIM7 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM6_IRQ_PRIORITY 7
-#define STM32_GPT_TIM7_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 TRUE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 10
-#define STM32_I2C_I2C2_IRQ_PRIORITY 10
-#define STM32_I2C_USE_DMA TRUE
-#define STM32_I2C_I2C1_DMA_PRIORITY 1
-#define STM32_I2C_I2C2_DMA_PRIORITY 1
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 TRUE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_USB1 FALSE
-#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
-#define STM32_USB_USB1_HP_IRQ_PRIORITY 13
-#define STM32_USB_USB1_LP_IRQ_PRIORITY 14
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG TRUE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf_community.h
deleted file mode 100644
index 7ca6e71..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf_community.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * FSMC driver system settings.
- */
-#define STM32_FSMC_USE_FSMC1 FALSE
-#define STM32_FSMC_FSMC1_IRQ_PRIORITY 10
-
-/*
- * FSMC NAND driver system settings.
- */
-#define STM32_NAND_USE_FSMC_NAND1 FALSE
-#define STM32_NAND_USE_FSMC_NAND2 FALSE
-#define STM32_NAND_USE_EXT_INT FALSE
-#define STM32_NAND_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_NAND_DMA_PRIORITY 0
-#define STM32_NAND_DMA_ERROR_HOOK(nandp) osalSysHalt("DMA failure")
-
-/*
- * FSMC SRAM driver system settings.
- */
-#define STM32_USE_FSMC_SRAM FALSE
-#define STM32_SRAM_USE_FSMC_SRAM1 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM2 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM3 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM4 FALSE
-
-/*
- * FSMC SDRAM driver system settings.
- */
-#define STM32_USE_FSMC_SDRAM FALSE
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.cproject
deleted file mode 100644
index 258d708..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.cproject
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.456998720">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.456998720" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.456998720" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.456998720." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1702483029" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1702483029.1185064461" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.1017280239" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1166350776" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.55434106" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.2118615594" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.577667608" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1135325946" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1806828396" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1086361356" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="STM32F3xx-TIMCAP.null.611552222" name="STM32F3xx-TIMCAP"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.456998720">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.project
deleted file mode 100644
index 312bc05..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F3xx-TIMCAP</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/Makefile
deleted file mode 100644
index 90ada53..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/Makefile
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = yes
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f3xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F3xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/ST_STM32F3_DISCOVERY/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-#include $(CHIBIOS)/test/rt/test.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/STM32F303xC.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/chconf.h
deleted file mode 100644
index 00eb395..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_ALL
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf.h
deleted file mode 100644
index 9af6aca..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf_community.h
deleted file mode 100644
index 998080e..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf_community.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/**
- * @brief Enables the EEPROM subsystem.
- */
-#if !defined(HAL_USE_EEPROM) || defined(__DOXYGEN__)
-#define HAL_USE_EEPROM FALSE
-#endif
-
-/**
- * @brief Enables the TIMCAP subsystem.
- */
-#if !defined(HAL_USE_TIMCAP) || defined(__DOXYGEN__)
-#define HAL_USE_TIMCAP TRUE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
- /*===========================================================================*/
-/* EEProm driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables 24xx series I2C eeprom device driver.
- * @note Disabling this option saves both code and data space.
- */
-#define EEPROM_USE_EE24XX TRUE
- /**
- * @brief Enables 25xx series SPI eeprom device driver.
- * @note Disabling this option saves both code and data space.
- */
-#define EEPROM_USE_EE25XX TRUE
-
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/main.c
deleted file mode 100644
index dd91924..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/main.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-
-static uint8_t TIM3CC1CaptureNumber, TIM3CC2CaptureNumber;
-static uint16_t TIM3CC1ReadValue1, TIM3CC1ReadValue2;
-static uint16_t TIM3CC2ReadValue1, TIM3CC2ReadValue2;
-static bool TIM3CC1UD, TIM3CC2UD;
-
-static uint16_t freq1, freq2;
-
-
-void reEnableInputCapture(TIMCAPDriver *timcapp)
-{
-
- if ((timcapp->tim->DIER & TIM_DIER_CC1IE) == 0)
- {
- TIM3CC1CaptureNumber = 0;
- TIM3CC1UD = false;
- timcapp->tim->DIER |= TIM_DIER_CC1IE;
- }
-
- if ((timcapp->tim->DIER & TIM_DIER_CC2IE) == 0)
- {
- TIM3CC2CaptureNumber = 0;
- TIM3CC2UD = false;
- timcapp->tim->DIER |= TIM_DIER_CC2IE;
- }
-
-}
-
-void captureOverflowCb(TIMCAPDriver *timcapp)
-{
- if (TIM3CC1UD && (timcapp->tim->DIER & TIM_DIER_CC1IE))
- {
- timcapp->tim->DIER &= ~TIM_DIER_CC1IE;
- freq1 = 0;
- }
-
- if (TIM3CC2UD && (timcapp->tim->DIER & TIM_DIER_CC2IE))
- {
- timcapp->tim->DIER &= ~TIM_DIER_CC2IE;
- freq2 = 0;
- }
-
- TIM3CC1UD = true;
- TIM3CC2UD = true;
-}
-
-void capture1Cb(TIMCAPDriver *timcapp)
-{
- if(TIM3CC1CaptureNumber == 0)
- {
- /* Get the Input Capture value */
- TIM3CC1ReadValue1 = timcapp->tim->CCR[0];
- TIM3CC1CaptureNumber = 1;
- TIM3CC1UD = false;
- }
- else if(TIM3CC1CaptureNumber == 1)
- {
- uint32_t Capture;
- /* Get the Input Capture value */
- TIM3CC1ReadValue2 = timcapp->tim->CCR[0];
- TIM3CC1UD = false;
-
- /* Capture computation */
- if (TIM3CC1ReadValue2 > TIM3CC1ReadValue1)
- {
- Capture = ((uint32_t)TIM3CC1ReadValue2 - (uint32_t)TIM3CC1ReadValue1);
- }
- else
- {
- Capture = (((uint32_t)TIM3CC1ReadValue2 + 0x10000) - (uint32_t)TIM3CC1ReadValue1);
- }
-
- /* Frequency computation */
- freq1 = (timcapp->config->frequency / Capture);
-
- TIM3CC1ReadValue1 = TIM3CC1ReadValue2;
- TIM3CC1CaptureNumber = 0;
-
- /* Disable CC1 interrupt */
- timcapp->tim->DIER &= ~TIM_DIER_CC1IE;
- }
-}
-
-void capture2Cb(TIMCAPDriver *timcapp)
-{
- if(TIM3CC2CaptureNumber == 0)
- {
- /* Get the Input Capture value */
- TIM3CC2ReadValue1 = timcapp->tim->CCR[1];
- TIM3CC2CaptureNumber = 1;
- TIM3CC2UD = false;
- }
- else if(TIM3CC2CaptureNumber == 1)
- {
- uint32_t Capture;
- /* Get the Input Capture value */
- TIM3CC2ReadValue2 = timcapp->tim->CCR[1];
- TIM3CC2UD = false;
-
- /* Capture computation */
- if (TIM3CC2ReadValue2 > TIM3CC2ReadValue1)
- {
- Capture = ((uint32_t)TIM3CC2ReadValue2 - (uint32_t)TIM3CC2ReadValue1);
- }
- else
- {
- Capture = (((uint32_t)TIM3CC2ReadValue2 + 0x10000) - (uint32_t)TIM3CC2ReadValue1);
- }
-
- /* Frequency computation */
- freq2 = (timcapp->config->frequency / Capture);
-
- TIM3CC2ReadValue1 = TIM3CC2ReadValue2;
- TIM3CC2CaptureNumber = 0;
-
- /* Disable CC2 interrupt */
- timcapp->tim->DIER &= ~TIM_DIER_CC2IE;
- }
-}
-
-TIMCAPConfig tc_conf = {
- {TIMCAP_INPUT_ACTIVE_HIGH,
- TIMCAP_INPUT_ACTIVE_HIGH,
- TIMCAP_INPUT_DISABLED,
- TIMCAP_INPUT_DISABLED},
- 200000, /* TIM3 Runs at 36Mhz max. (1/200000)*65536 = 0.32s Max, 3.12Hz Min */
- {capture1Cb, capture2Cb, NULL, NULL},
- captureOverflowCb,
- 0,
- 0
-};
-
-THD_WORKING_AREA(waThreadTimcap, 256);
-static THD_FUNCTION(ThreadTimcap, arg)
-{
- (void)arg;
-
- while (TRUE)
- {
-
- reEnableInputCapture(&TIMCAPD3);
- chThdSleepMilliseconds(200);
- }
-
- return;
-}
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- timcapStart(&TIMCAPD3, &tc_conf);
-
- chThdCreateStatic(waThreadTimcap, sizeof(waThreadTimcap), NORMALPRIO, ThreadTimcap, NULL);
-
- /*
- * Normal main() thread activity, it resets the watchdog.
- */
- while (true) {
- palToggleLine(LINE_LED4_BLUE);
- chThdSleepMilliseconds(500);
- }
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf.h
deleted file mode 100644
index 60b9854..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf.h
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _MCUCONF_H_
-#define _MCUCONF_H_
-
-/*
- * STM32F3xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F3xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PREDIV_VALUE 1
-#define STM32_PLLMUL_VALUE 9
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK
-#define STM32_ADC12PRES STM32_ADC12PRES_DIV1
-#define STM32_ADC34PRES STM32_ADC34PRES_DIV1
-#define STM32_USART1SW STM32_USART1SW_PCLK
-#define STM32_USART2SW STM32_USART2SW_PCLK
-#define STM32_USART3SW STM32_USART3SW_PCLK
-#define STM32_UART4SW STM32_UART4SW_PCLK
-#define STM32_UART5SW STM32_UART5SW_PCLK
-#define STM32_I2C1SW STM32_I2C1SW_SYSCLK
-#define STM32_I2C2SW STM32_I2C2SW_SYSCLK
-#define STM32_TIM1SW STM32_TIM1SW_PCLK2
-#define STM32_TIM8SW STM32_TIM8SW_PCLK2
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-#define STM32_USB_CLOCK_REQUIRED TRUE
-#define STM32_USBPRE STM32_USBPRE_DIV1P5
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_DUAL_MODE FALSE
-#define STM32_ADC_COMPACT_SAMPLES FALSE
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_USE_ADC2 FALSE
-#define STM32_ADC_USE_ADC3 FALSE
-#define STM32_ADC_USE_ADC4 FALSE
-#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
-#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
-#define STM32_ADC_ADC4_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_ADC2_DMA_PRIORITY 2
-#define STM32_ADC_ADC3_DMA_PRIORITY 2
-#define STM32_ADC_ADC4_DMA_PRIORITY 2
-#define STM32_ADC_ADC12_IRQ_PRIORITY 5
-#define STM32_ADC_ADC3_IRQ_PRIORITY 5
-#define STM32_ADC_ADC4_IRQ_PRIORITY 5
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC4_DMA_IRQ_PRIORITY 5
-#define STM32_ADC_ADC12_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
-#define STM32_ADC_ADC34_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 TRUE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-
-/*
- * DAC driver system settings.
- */
-#define STM32_DAC_DUAL_MODE FALSE
-#define STM32_DAC_USE_DAC1_CH1 TRUE
-#define STM32_DAC_USE_DAC1_CH2 TRUE
-#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI21_22_29_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI30_32_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI33_IRQ_PRIORITY 6
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM6 FALSE
-#define STM32_GPT_USE_TIM7 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM6_IRQ_PRIORITY 7
-#define STM32_GPT_TIM7_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 TRUE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_IRQ_PRIORITY 10
-#define STM32_I2C_I2C2_IRQ_PRIORITY 10
-#define STM32_I2C_USE_DMA TRUE
-#define STM32_I2C_I2C1_DMA_PRIORITY 1
-#define STM32_I2C_I2C2_DMA_PRIORITY 1
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 TRUE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_USB1 FALSE
-#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE
-#define STM32_USB_USB1_HP_IRQ_PRIORITY 13
-#define STM32_USB_USB1_LP_IRQ_PRIORITY 14
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG TRUE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* _MCUCONF_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf_community.h
deleted file mode 100644
index b115590..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf_community.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * FSMC driver system settings.
- */
-#define STM32_FSMC_USE_FSMC1 FALSE
-#define STM32_FSMC_FSMC1_IRQ_PRIORITY 10
-
-/*
- * FSMC NAND driver system settings.
- */
-#define STM32_NAND_USE_FSMC_NAND1 FALSE
-#define STM32_NAND_USE_FSMC_NAND2 FALSE
-#define STM32_NAND_USE_EXT_INT FALSE
-#define STM32_NAND_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_NAND_DMA_PRIORITY 0
-#define STM32_NAND_DMA_ERROR_HOOK(nandp) osalSysHalt("DMA failure")
-
-/*
- * FSMC SRAM driver system settings.
- */
-#define STM32_USE_FSMC_SRAM FALSE
-#define STM32_SRAM_USE_FSMC_SRAM1 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM2 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM3 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM4 FALSE
-
-/*
- * FSMC SDRAM driver system settings.
- */
-#define STM32_USE_FSMC_SDRAM FALSE
-
-/*
- * TIMCAP driver system settings.
- */
-#define STM32_TIMCAP_USE_TIM1 FALSE
-#define STM32_TIMCAP_USE_TIM2 FALSE
-#define STM32_TIMCAP_USE_TIM3 TRUE
-#define STM32_TIMCAP_USE_TIM4 FALSE
-#define STM32_TIMCAP_USE_TIM5 FALSE
-#define STM32_TIMCAP_USE_TIM8 FALSE
-#define STM32_TIMCAP_USE_TIM9 FALSE
-#define STM32_TIMCAP_TIM1_IRQ_PRIORITY 3
-#define STM32_TIMCAP_TIM2_IRQ_PRIORITY 3
-#define STM32_TIMCAP_TIM3_IRQ_PRIORITY 3
-#define STM32_TIMCAP_TIM4_IRQ_PRIORITY 3
-#define STM32_TIMCAP_TIM5_IRQ_PRIORITY 3
-#define STM32_TIMCAP_TIM8_IRQ_PRIORITY 3
-#define STM32_TIMCAP_TIM9_IRQ_PRIORITY 3
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.config b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.config
deleted file mode 100644
index e0284f4..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.config
+++ /dev/null
@@ -1,2 +0,0 @@
-// Add predefined macros for your project here. For example:
-// #define THE_ANSWER 42
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator
deleted file mode 100644
index e94cbbd..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator
+++ /dev/null
@@ -1 +0,0 @@
-[General]
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator.user b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator.user
deleted file mode 100644
index 80d783a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator.user
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 3.4.0, 2015-07-07T01:03:00. -->
-<qtcreator>
- <data>
- <variable>EnvironmentId</variable>
- <value type="QByteArray">{19e2588b-face-4845-bb71-0434e910b089}</value>
- </data>
- <data>
- <variable>ProjectExplorer.Project.ActiveTarget</variable>
- <value type="int">0</value>
- </data>
- <data>
- <variable>ProjectExplorer.Project.EditorSettings</variable>
- <valuemap type="QVariantMap">
- <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
- <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
- <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
- <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
- <value type="QString" key="language">Cpp</value>
- <valuemap type="QVariantMap" key="value">
- <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
- </valuemap>
- </valuemap>
- <value type="int" key="EditorConfiguration.CodeStyle.Count">1</value>
- <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
- <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
- <value type="int" key="EditorConfiguration.IndentSize">4</value>
- <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
- <value type="int" key="EditorConfiguration.MarginColumn">80</value>
- <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
- <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
- <value type="int" key="EditorConfiguration.PaddingMode">1</value>
- <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
- <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
- <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
- <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
- <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
- <value type="int" key="EditorConfiguration.TabSize">8</value>
- <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
- <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
- <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
- <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
- <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
- <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
- </valuemap>
- </data>
- <data>
- <variable>ProjectExplorer.Project.PluginSettings</variable>
- <valuemap type="QVariantMap"/>
- </data>
- <data>
- <variable>ProjectExplorer.Project.Target.0</variable>
- <valuemap type="QVariantMap">
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">arm-none-eabi</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">arm-none-eabi</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{a0910195-c955-413e-bfeb-0bb1d84cfc8b}</value>
- <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
- <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">-1</value>
- <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">1</value>
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
- <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/barthess/projects/chibios-git/community/testhal/STM32/STM32F4xx/EICU</value>
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
- <valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
- <value type="QString">all</value>
- </valuelist>
- <value type="bool" key="GenericProjectManager.GenericMakeStep.Clean">false</value>
- <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments">-j4</value>
- <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeCommand"></value>
- <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
- </valuemap>
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
- <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
- <valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
- <value type="QString">clean</value>
- </valuelist>
- <value type="bool" key="GenericProjectManager.GenericMakeStep.Clean">true</value>
- <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments"></value>
- <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeCommand"></value>
- <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
- <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
- <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Default</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Default</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
- <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">0</value>
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
- <value type="int" key="PE.EnvironmentAspect.Base">2</value>
- <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
- <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
- <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
- <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
- <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
- <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
- <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
- <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
- <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
- <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
- <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
- </valuemap>
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
- <value type="QString" key="BareMetal.CustomRunConfig.Executable">/home/barthess/projects/chibios-git/community/testhal/STM32/STM32F4xx/EICU/build/ch.elf</value>
- <value type="QString" key="BareMetal.RunConfig.WorkingDirectory">/home/barthess/projects/chibios-git/community/testhal/STM32/STM32F4xx/EICU</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Run on GDB server or hardware debugger</value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">BareMetal.CustomRunConfig</value>
- <value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.Arguments"></value>
- <value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.ProFile"></value>
- <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
- <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
- <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
- <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
- <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
- <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
- </valuemap>
- <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
- </valuemap>
- </data>
- <data>
- <variable>ProjectExplorer.Project.TargetCount</variable>
- <value type="int">1</value>
- </data>
- <data>
- <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
- <value type="int">18</value>
- </data>
- <data>
- <variable>Version</variable>
- <value type="int">18</value>
- </data>
-</qtcreator>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.files b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.files
deleted file mode 100644
index f154876..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.files
+++ /dev/null
@@ -1,3443 +0,0 @@
-community/demos/NRF51/RT-WVSHARE_BLE400/chconf.h
-community/demos/NRF51/RT-WVSHARE_BLE400/halconf.h
-community/demos/NRF51/RT-WVSHARE_BLE400/main.c
-community/demos/NRF51/RT-WVSHARE_BLE400/mcuconf.h
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res/wolf3d_vgagraph_chunk87.c
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res/wolf3d_vgagraph_chunk87.h
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/chconf.h
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/halconf.h
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/halconf_community.h
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/main.c
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/mcuconf.h
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/mcuconf_community.h
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/usbcfg.c
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/usbcfg.h
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/wolf3d_palette.c
-community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/chconf.h
-community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/halconf.h
-community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/main.c
-community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/mcuconf.h
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/chconf.h
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/halconf.h
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/main.c
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/mcuconf.h
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web/web.c
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web/web.h
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/chconf.h
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/halconf.h
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/lwipopts.h
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/main.c
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/mcuconf.h
-community/os/common/ports/ARMCMx/devices/NRF51822/cmparams.h
-community/os/common/ports/ARMCMx/devices/TM4C123x/cmparams.h
-community/os/common/ports/ARMCMx/devices/TM4C129x/cmparams.h
-community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.c
-community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.h
-community/os/hal/boards/ST_STM32F0308_DISCOVERY/board.c
-community/os/hal/boards/ST_STM32F0308_DISCOVERY/board.h
-community/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.c
-community/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.h
-community/os/hal/boards/TI_TM4C1294_LAUNCHPAD/board.c
-community/os/hal/boards/TI_TM4C1294_LAUNCHPAD/board.h
-community/os/hal/boards/WVSHARE_BLE400/board.c
-community/os/hal/boards/WVSHARE_BLE400/board.h
-community/os/hal/include/eicu.h
-community/os/hal/include/hal_community.h
-community/os/hal/include/nand.h
-community/os/hal/include/onewire.h
-community/os/hal/ports/NRF51/NRF51822/hal_lld.c
-community/os/hal/ports/NRF51/NRF51822/hal_lld.h
-community/os/hal/ports/NRF51/NRF51822/nrf51.h
-community/os/hal/ports/NRF51/NRF51822/pal_lld.c
-community/os/hal/ports/NRF51/NRF51822/pal_lld.h
-community/os/hal/ports/NRF51/NRF51822/serial_lld.c
-community/os/hal/ports/NRF51/NRF51822/serial_lld.h
-community/os/hal/ports/NRF51/NRF51822/st_lld.c
-community/os/hal/ports/NRF51/NRF51822/st_lld.h
-community/os/hal/ports/STM32/LLD/DMA2Dv1/stm32_dma2d.c
-community/os/hal/ports/STM32/LLD/DMA2Dv1/stm32_dma2d.h
-community/os/hal/ports/STM32/LLD/FSMCv1/fsmc.c
-community/os/hal/ports/STM32/LLD/FSMCv1/fsmc.h
-community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sdram.c
-community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sdram.h
-community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sram.c
-community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sram.h
-community/os/hal/ports/STM32/LLD/FSMCv1/nand_lld.c
-community/os/hal/ports/STM32/LLD/FSMCv1/nand_lld.h
-community/os/hal/ports/STM32/LLD/LTDCv1/stm32_ltdc.c
-community/os/hal/ports/STM32/LLD/LTDCv1/stm32_ltdc.h
-community/os/hal/ports/STM32/LLD/TIMv1/eicu_lld.c
-community/os/hal/ports/STM32/LLD/TIMv1/eicu_lld.h
-community/os/hal/ports/TIVA/LLD/ext_lld.c
-community/os/hal/ports/TIVA/LLD/ext_lld.h
-community/os/hal/ports/TIVA/LLD/gpt_lld.c
-community/os/hal/ports/TIVA/LLD/gpt_lld.h
-community/os/hal/ports/TIVA/LLD/i2c_lld.c
-community/os/hal/ports/TIVA/LLD/i2c_lld.h
-community/os/hal/ports/TIVA/LLD/mac_lld.c
-community/os/hal/ports/TIVA/LLD/mac_lld.h
-community/os/hal/ports/TIVA/LLD/pal_lld.c
-community/os/hal/ports/TIVA/LLD/pal_lld.h
-community/os/hal/ports/TIVA/LLD/pwm_lld.c
-community/os/hal/ports/TIVA/LLD/pwm_lld.h
-community/os/hal/ports/TIVA/LLD/serial_lld.c
-community/os/hal/ports/TIVA/LLD/serial_lld.h
-community/os/hal/ports/TIVA/LLD/spi_lld.c
-community/os/hal/ports/TIVA/LLD/spi_lld.h
-community/os/hal/ports/TIVA/LLD/st_lld.c
-community/os/hal/ports/TIVA/LLD/st_lld.h
-community/os/hal/ports/TIVA/LLD/tiva_gpt.h
-community/os/hal/ports/TIVA/LLD/tiva_udma.c
-community/os/hal/ports/TIVA/LLD/tiva_udma.h
-community/os/hal/ports/TIVA/TM4C123x/hal_lld.c
-community/os/hal/ports/TIVA/TM4C123x/hal_lld.h
-community/os/hal/ports/TIVA/TM4C123x/tiva_isr.h
-community/os/hal/ports/TIVA/TM4C123x/tiva_registry.h
-community/os/hal/ports/TIVA/TM4C123x/tm4c123x.h
-community/os/hal/ports/TIVA/TM4C129x/hal_lld.c
-community/os/hal/ports/TIVA/TM4C129x/hal_lld.h
-community/os/hal/ports/TIVA/TM4C129x/tiva_isr.h
-community/os/hal/ports/TIVA/TM4C129x/tiva_registry.h
-community/os/hal/ports/TIVA/TM4C129x/tm4c129x.h
-community/os/hal/src/eicu.c
-community/os/hal/src/hal_community.c
-community/os/hal/src/nand.c
-community/os/hal/src/onewire.c
-community/os/various/devices_lib/lcd/ili9341.c
-community/os/various/devices_lib/lcd/ili9341.h
-community/os/various/devices_lib/mems/l3gd20.c
-community/os/various/devices_lib/mems/l3gd20.h
-community/os/various/devices_lib/mems/lis3mdl.c
-community/os/various/devices_lib/mems/lis3mdl.h
-community/os/various/devices_lib/mems/lsm303dlhc.c
-community/os/various/devices_lib/mems/lsm303dlhc.h
-community/os/various/devices_lib/mems/lsm6ds0.c
-community/os/various/devices_lib/mems/lsm6ds0.h
-community/os/various/devices_lib/others/max7219.c
-community/os/various/devices_lib/others/max7219.h
-community/os/various/devices_lib/rf/nrf24l01.c
-community/os/various/devices_lib/rf/nrf24l01.h
-community/os/various/bitmap.c
-community/os/various/bitmap.h
-community/os/various/memtest.cpp
-community/os/various/memtest.hpp
-community/testhal/STM32/STM32F0xx/onewire/chconf.h
-community/testhal/STM32/STM32F0xx/onewire/halconf.h
-community/testhal/STM32/STM32F0xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F0xx/onewire/main.c
-community/testhal/STM32/STM32F0xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F0xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F0xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F0xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F0xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F1xx/onewire/chconf.h
-community/testhal/STM32/STM32F1xx/onewire/halconf.h
-community/testhal/STM32/STM32F1xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F1xx/onewire/main.c
-community/testhal/STM32/STM32F1xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F1xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F1xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F1xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F1xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res/wolf3d_vgagraph_chunk87.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res/wolf3d_vgagraph_chunk87.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/usbcfg.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/usbcfg.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/wolf3d_palette.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web/web.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web/web.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/lwipopts.h
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/NRF51822/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C123x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C129x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/ST_STM32F0308_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/ST_STM32F0308_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C1294_LAUNCHPAD/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C1294_LAUNCHPAD/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/WVSHARE_BLE400/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/WVSHARE_BLE400/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/eicu.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/hal_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/nand.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/onewire.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/nrf51.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/DMA2Dv1/stm32_dma2d.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/DMA2Dv1/stm32_dma2d.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sdram.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sdram.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sram.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sram.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/nand_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/nand_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/LTDCv1/stm32_ltdc.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/LTDCv1/stm32_ltdc.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/TIMv1/eicu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/TIMv1/eicu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/mac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/mac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/tiva_gpt.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/tiva_udma.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/tiva_udma.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/tiva_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/tiva_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/tm4c123x.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/tiva_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/tiva_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/tm4c129x.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/eicu.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/hal_community.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/nand.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/onewire.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/lcd/ili9341.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/lcd/ili9341.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/l3gd20.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/l3gd20.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lis3mdl.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lis3mdl.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm303dlhc.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm303dlhc.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm6ds0.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm6ds0.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/others/max7219.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/others/max7219.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/rf/nrf24l01.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/rf/nrf24l01.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/bitmap.c
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/bitmap.h
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/memtest.cpp
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/memtest.hpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res/wolf3d_vgagraph_chunk87.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res/wolf3d_vgagraph_chunk87.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/usbcfg.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/usbcfg.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/wolf3d_palette.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web/web.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web/web.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/lwipopts.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/NRF51822/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C123x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C129x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/ST_STM32F0308_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/ST_STM32F0308_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C1294_LAUNCHPAD/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C1294_LAUNCHPAD/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/WVSHARE_BLE400/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/WVSHARE_BLE400/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/eicu.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/hal_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/nand.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/onewire.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/nrf51.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/DMA2Dv1/stm32_dma2d.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/DMA2Dv1/stm32_dma2d.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sdram.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sdram.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sram.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sram.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/nand_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/nand_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/LTDCv1/stm32_ltdc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/LTDCv1/stm32_ltdc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/TIMv1/eicu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/TIMv1/eicu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/mac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/mac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/tiva_gpt.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/tiva_udma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/tiva_udma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/tiva_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/tiva_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/tm4c123x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/tiva_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/tiva_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/tm4c129x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/eicu.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/hal_community.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/nand.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/onewire.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/lcd/ili9341.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/lcd/ili9341.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/l3gd20.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/l3gd20.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lis3mdl.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lis3mdl.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm303dlhc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm303dlhc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm6ds0.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm6ds0.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/others/max7219.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/others/max7219.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/rf/nrf24l01.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/rf/nrf24l01.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/bitmap.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/bitmap.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/memtest.cpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/memtest.hpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res/wolf3d_vgagraph_chunk87.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res/wolf3d_vgagraph_chunk87.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/usbcfg.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/usbcfg.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/wolf3d_palette.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web/web.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web/web.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/lwipopts.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/NRF51822/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C123x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C129x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/ST_STM32F0308_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/ST_STM32F0308_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C1294_LAUNCHPAD/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C1294_LAUNCHPAD/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/WVSHARE_BLE400/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/WVSHARE_BLE400/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/eicu.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/hal_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/nand.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include/onewire.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/nrf51.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/DMA2Dv1/stm32_dma2d.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/DMA2Dv1/stm32_dma2d.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sdram.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sdram.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sram.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/fsmc_sram.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/nand_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1/nand_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/LTDCv1/stm32_ltdc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/LTDCv1/stm32_ltdc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/TIMv1/eicu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/TIMv1/eicu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/mac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/mac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/tiva_gpt.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/tiva_udma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD/tiva_udma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/tiva_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/tiva_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x/tm4c123x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/tiva_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/tiva_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x/tm4c129x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/eicu.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/hal_community.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/nand.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/src/onewire.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/lcd/ili9341.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/lcd/ili9341.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/l3gd20.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/l3gd20.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lis3mdl.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lis3mdl.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm303dlhc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm303dlhc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm6ds0.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems/lsm6ds0.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/others/max7219.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/others/max7219.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/rf/nrf24l01.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/rf/nrf24l01.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/bitmap.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/bitmap.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/memtest.cpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/memtest.hpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/compilers/GCC/crt1.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/devices/LPC214x/armparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/devices/LPC214x/lpc214x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/compilers/GCC/crt1.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/compilers/GCC/vectors.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/K20x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/KL2x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F0xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F1xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F3xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F4xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L0xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L1xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/compilers/GCC/vectors.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/arm_common_tables.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/arm_const_structs.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/arm_math.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm0.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm0plus.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm3.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm4.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm4_simd.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cmFunc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cmInstr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/KINETIS/kl25z.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/KINETIS/mk20d5.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f030x6.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f030x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f031x6.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f038xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f042x6.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f048xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f051x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f058xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f071xb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f072xb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f078xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f0xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f10x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f301x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f302x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f302xc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f303x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f303xc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f318xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f328xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f334x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f358xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f373xc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f378xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f3xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f401xc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f401xe.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f405xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f407xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f411xe.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f415xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f417xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f427xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f429xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f437xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f439xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f4xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l051xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l052xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l053xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l061xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l062xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l063xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l0xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l1xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f0xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f10x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f3xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f4xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32l0xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32l1xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ARDUINO_MEGA/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ARDUINO_MEGA/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_11C24/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_11C24/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1114/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1114/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_11U14/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_11U14/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1343/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1343/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_LPC812/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_LPC812/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MAPLEMINI_STM32_F103/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MAPLEMINI_STM32_F103/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MCHCK_K20/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MCHCK_K20/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NGX_BB_LPC11U14/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NGX_BB_LPC11U14/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_CAN/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_CAN/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_MT_128/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_MT_128/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1227/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1227/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1343/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1343/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/buzzer.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/buzzer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_MSP430_P1611/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_MSP430_P1611/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_EX256/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_EX256/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_P256/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_P256/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_103STK/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_103STK/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407_REV_D/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407_REV_D/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H103/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H103/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H407/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H407/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_LCD/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_LCD/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P103/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P103/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P107/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P107/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P407/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P407/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/PJRC_TEENSY_3/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/PJRC_TEENSY_3/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/RAISONANCE_REVA_STM8S/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/RAISONANCE_REVA_STM8S/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/simulator/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/simulator/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560B/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560B/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560BC/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560BC/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560D/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560D/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560P/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560P/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC563M/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC563M/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC564A/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC564A/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EC/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EC/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_INEMO_M1_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_INEMO_M1_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F030R8/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F030R8/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F103RB/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F103RB/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F302R8/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F302R8/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F334R8/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F334R8/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F401RE/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F401RE/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F411RE/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F411RE/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_L152RE/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_L152RE/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210C_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210C_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210E_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210E_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3220G_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3220G_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32373C_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32373C_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F072B_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F072B_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F0_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F0_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F3_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F3_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F401C_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F401C_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F429I_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F429I_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F4_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F4_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32L_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32L_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32VL_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32VL_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8L_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8L_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8S_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8S_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/STUDIEL_AT91SAM7A3_EK/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/STUDIEL_AT91SAM7A3_EK/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/adc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/can.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/dac.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/ext.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/gpt.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_channels.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_files.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_ioblock.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_mmcsd.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_queues.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_streams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/i2c.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/i2s.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/icu.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/mac.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/mii.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/mmc_spi.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/pal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/pwm.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/rtc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/sdc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/serial.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/serial_usb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/spi.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/st.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/uart.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/usb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/chprintf.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/chprintf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/memstreams.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/memstreams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/nullstreams.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/nullstreams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/nil/osal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/nil/osal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/os-less/ARMCMx/osal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/os-less/ARMCMx/osal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/rt/osal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/rt/osal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/avr_pins.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/avr_timers.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/icu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/icu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/common/ARMCMx/nvic.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/common/ARMCMx/nvic.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/kinetis_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/kinetis_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/kinetis_tpm.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/vic.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/vic.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/console.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/console.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DACv1/dac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DACv1/dac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1/stm32_otg.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1/usb_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/i2s_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/i2s_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv2/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/icu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/stm32_tim.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/uart_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/uart_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1/stm32_usb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1/usb_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1/usb_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/can_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/can_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/mac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/mac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/sdc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/sdc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld_f100.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld_f103.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld_f105_f107.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/adc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/can.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/dac.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/ext.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/gpt.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/hal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/hal_mmcsd.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/hal_queues.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/i2c.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/i2s.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/icu.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/mac.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/mmc_spi.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/pal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/pwm.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/rtc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/sdc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/serial.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/serial_usb.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/spi.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/st.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/uart.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/usb.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/osal/osal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/osal/osal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/can_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/can_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/dac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/dac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2s_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2s_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/icu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/icu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/mac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/mac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/rtc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/rtc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/sdc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/sdc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/uart_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/uart_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/usb_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/usb_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/include/nil.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/compilers/GCC/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v6m.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v6m.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v7m.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v7m.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/compilers/GCC/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/nilcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/compilers/GCC/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/src/nil.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/ch.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chbsem.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chcond.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chdebug.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chdynamic.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chevents.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chheap.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chlicense.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmboxes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmemcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmempools.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmsg.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmtx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chqueues.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chregistry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chschd.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chsem.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chstats.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chstreams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chsys.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chsystypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chthreads.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chtm.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chvt.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/chcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/IAR/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/RVCT/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v6m.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v6m.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v7m.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v7m.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chcond.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chdebug.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chdynamic.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chevents.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chheap.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmboxes.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmemcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmempools.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmsg.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmtx.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chqueues.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chregistry.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chschd.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chsem.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chstats.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chsys.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chthreads.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chtm.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chvt.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/meta/module.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/meta/module.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/ch.cpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/ch.hpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/syscalls_cpp.cpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/syscalls_cpp.hpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/accel/lis302dl.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/accel/lis302dl.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/lcd/lcd3310.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/lcd/lcd3310.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/fatfs_bindings/fatfs_diskio.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/fatfs_bindings/fatfs_syscall.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/cc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/perf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/sys_arch.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/sys_arch.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/lwipthread.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/lwipthread.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/evtimer.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/evtimer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/shell.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/shell.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/syscalls.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/compilers/GCC/crt1.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/devices/LPC214x/armparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/devices/LPC214x/lpc214x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/compilers/GCC/crt1.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/compilers/GCC/vectors.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/K20x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/KL2x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F0xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F1xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F3xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F4xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L0xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L1xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/compilers/GCC/vectors.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM/boot.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM/intc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/arm_common_tables.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/arm_const_structs.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/arm_math.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm0.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm0plus.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm3.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm4.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm4_simd.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cmFunc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cmInstr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/KINETIS/kl25z.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/KINETIS/mk20d5.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f030x6.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f030x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f031x6.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f038xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f042x6.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f048xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f051x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f058xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f071xb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f072xb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f078xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f0xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f10x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f301x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f302x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f302xc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f303x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f303xc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f318xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f328xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f334x8.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f358xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f373xc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f378xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f3xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f401xc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f401xe.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f405xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f407xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f411xe.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f415xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f417xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f427xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f429xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f437xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f439xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f4xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l051xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l052xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l053xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l061xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l062xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l063xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l0xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l1xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f0xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f10x.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f3xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f4xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32l0xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32l1xx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ARDUINO_MEGA/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ARDUINO_MEGA/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_11C24/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_11C24/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1114/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1114/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_11U14/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_11U14/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1343/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1343/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_LPC812/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_LPC812/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MAPLEMINI_STM32_F103/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MAPLEMINI_STM32_F103/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MCHCK_K20/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MCHCK_K20/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NGX_BB_LPC11U14/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NGX_BB_LPC11U14/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_CAN/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_CAN/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_MT_128/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_MT_128/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1227/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1227/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1343/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1343/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/buzzer.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/buzzer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_MSP430_P1611/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_MSP430_P1611/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_EX256/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_EX256/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_P256/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_P256/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_103STK/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_103STK/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407_REV_D/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407_REV_D/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H103/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H103/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H407/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H407/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_LCD/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_LCD/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P103/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P103/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P107/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P107/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P407/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P407/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/PJRC_TEENSY_3/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/PJRC_TEENSY_3/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/RAISONANCE_REVA_STM8S/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/RAISONANCE_REVA_STM8S/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/simulator/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/simulator/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560B/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560B/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560BC/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560BC/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560D/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560D/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560P/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560P/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC563M/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC563M/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC564A/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC564A/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EC/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EC/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_INEMO_M1_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_INEMO_M1_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F030R8/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F030R8/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F103RB/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F103RB/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F302R8/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F302R8/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F334R8/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F334R8/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F401RE/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F401RE/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F411RE/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F411RE/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_L152RE/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_L152RE/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210C_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210C_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210E_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210E_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3220G_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3220G_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32373C_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32373C_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F072B_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F072B_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F0_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F0_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F3_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F3_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F401C_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F401C_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F429I_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F429I_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F4_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F4_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32L_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32L_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32VL_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32VL_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8L_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8L_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8S_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8S_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/STUDIEL_AT91SAM7A3_EK/board.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/STUDIEL_AT91SAM7A3_EK/board.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/adc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/can.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/dac.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/ext.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/gpt.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_channels.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_files.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_ioblock.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_mmcsd.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_queues.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_streams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/i2c.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/i2s.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/icu.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/mac.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/mii.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/mmc_spi.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/pal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/pwm.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/rtc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/sdc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/serial.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/serial_usb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/spi.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/st.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/uart.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include/usb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/chprintf.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/chprintf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/memstreams.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/memstreams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/nullstreams.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/nullstreams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/nil/osal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/nil/osal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/os-less/ARMCMx/osal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/os-less/ARMCMx/osal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/rt/osal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/rt/osal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/avr_pins.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/avr_timers.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/icu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/icu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/common/ARMCMx/nvic.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/common/ARMCMx/nvic.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/kinetis_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/kinetis_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/kinetis_tpm.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/vic.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/vic.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/console.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/console.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DACv1/dac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DACv1/dac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1/stm32_otg.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1/usb_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/i2s_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/i2s_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv2/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/icu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/stm32_tim.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/uart_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/uart_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1/stm32_usb.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1/usb_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1/usb_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/can_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/can_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/mac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/mac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/sdc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/sdc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld_f100.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld_f103.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld_f105_f107.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/adc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/can.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/dac.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/ext.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/gpt.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/hal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/hal_mmcsd.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/hal_queues.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/i2c.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/i2s.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/icu.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/mac.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/mmc_spi.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/pal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/pwm.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/rtc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/sdc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/serial.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/serial_usb.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/spi.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/st.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/uart.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/src/usb.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/osal/osal.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/osal/osal.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/can_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/can_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/dac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/dac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2s_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2s_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/icu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/icu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/mac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/mac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/rtc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/rtc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/sdc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/sdc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/uart_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/uart_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/usb_lld.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/usb_lld.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/include/nil.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/compilers/GCC/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v6m.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v6m.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v7m.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v7m.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/compilers/GCC/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/nilcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/compilers/GCC/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/src/nil.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/ch.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chbsem.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chcond.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chdebug.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chdynamic.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chevents.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chheap.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chlicense.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmboxes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmemcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmempools.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmsg.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmtx.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chqueues.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chregistry.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chschd.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chsem.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chstats.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chstreams.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chsys.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chsystypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chthreads.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chtm.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chvt.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/chcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/IAR/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/RVCT/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v6m.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v6m.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v7m.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v7m.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chcond.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chdebug.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chdynamic.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chevents.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chheap.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmboxes.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmemcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmempools.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmsg.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmtx.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chqueues.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chregistry.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chschd.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chsem.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chstats.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chsys.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chthreads.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chtm.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chvt.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/meta/module.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/meta/module.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/ch.cpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/ch.hpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/syscalls_cpp.cpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/syscalls_cpp.hpp
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/accel/lis302dl.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/accel/lis302dl.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/lcd/lcd3310.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/lcd/lcd3310.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/fatfs_bindings/fatfs_diskio.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/fatfs_bindings/fatfs_syscall.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/cc.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/perf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/sys_arch.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/sys_arch.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/lwipthread.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/lwipthread.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/evtimer.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/evtimer.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/shell.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/shell.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/syscalls.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire/search_rom_synth.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/main.c
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/compilers/GCC/crt1.c
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/devices/LPC214x/armparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/devices/LPC214x/lpc214x.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/compilers/GCC/crt1.c
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/compilers/GCC/vectors.c
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/K20x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/KL2x/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F0xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F1xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F3xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F4xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L0xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L1xx/cmparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/compilers/GCC/vectors.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx/boot.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx/intc.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM/boot.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM/intc.h
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM/ppcparams.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/arm_common_tables.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/arm_const_structs.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/arm_math.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm0.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm0plus.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm3.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm4.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cm4_simd.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cmFunc.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include/core_cmInstr.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/KINETIS/kl25z.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/KINETIS/mk20d5.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f030x6.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f030x8.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f031x6.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f038xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f042x6.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f048xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f051x8.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f058xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f071xb.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f072xb.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f078xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f0xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f10x.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f301x8.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f302x8.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f302xc.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f303x8.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f303xc.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f318xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f328xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f334x8.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f358xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f373xc.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f378xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f3xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f401xc.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f401xe.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f405xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f407xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f411xe.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f415xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f417xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f427xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f429xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f437xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f439xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32f4xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l051xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l052xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l053xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l061xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l062xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l063xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l0xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/stm32l1xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f0xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f10x.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f3xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32f4xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32l0xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST/system_stm32l1xx.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ARDUINO_MEGA/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ARDUINO_MEGA/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_11C24/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_11C24/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1114/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1114/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_11U14/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_11U14/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1343/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1343/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_LPC812/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_LPC812/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MAPLEMINI_STM32_F103/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MAPLEMINI_STM32_F103/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MCHCK_K20/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MCHCK_K20/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NGX_BB_LPC11U14/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NGX_BB_LPC11U14/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_CAN/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_CAN/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_MT_128/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_MT_128/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1227/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1227/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1343/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1343/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/buzzer.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148/buzzer.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_MSP430_P1611/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_MSP430_P1611/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_EX256/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_EX256/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_P256/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_P256/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_103STK/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_103STK/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407_REV_D/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407_REV_D/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H103/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H103/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H407/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H407/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_LCD/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_LCD/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P103/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P103/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P107/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P107/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P407/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P407/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/PJRC_TEENSY_3/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/PJRC_TEENSY_3/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/RAISONANCE_REVA_STM8S/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/RAISONANCE_REVA_STM8S/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/simulator/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/simulator/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560B/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560B/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560BC/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560BC/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560D/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560D/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560P/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560P/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC563M/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC563M/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC564A/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC564A/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EC/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EC/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EL/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EL/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_INEMO_M1_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_INEMO_M1_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F030R8/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F030R8/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F103RB/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F103RB/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F302R8/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F302R8/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F334R8/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F334R8/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F401RE/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F401RE/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F411RE/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F411RE/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_L152RE/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_L152RE/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210C_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210C_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210E_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210E_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3220G_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3220G_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32373C_EVAL/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32373C_EVAL/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F072B_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F072B_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F0_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F0_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F3_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F3_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F401C_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F401C_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F429I_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F429I_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F4_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F4_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32L_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32L_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32VL_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32VL_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8L_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8L_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8S_DISCOVERY/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8S_DISCOVERY/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/STUDIEL_AT91SAM7A3_EK/board.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/STUDIEL_AT91SAM7A3_EK/board.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/adc.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/can.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/dac.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/ext.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/gpt.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_channels.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_files.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_ioblock.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_mmcsd.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_queues.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/hal_streams.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/i2c.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/i2s.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/icu.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/mac.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/mii.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/mmc_spi.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/pal.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/pwm.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/rtc.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/sdc.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/serial.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/serial_usb.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/spi.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/st.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/uart.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include/usb.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/chprintf.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/chprintf.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/memstreams.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/memstreams.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/nullstreams.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams/nullstreams.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/nil/osal.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/nil/osal.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/os-less/ARMCMx/osal.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/os-less/ARMCMx/osal.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/rt/osal.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/rt/osal.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/avr_pins.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/avr_timers.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/icu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/icu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/common/ARMCMx/nvic.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/common/ARMCMx/nvic.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/kinetis_registry.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/kinetis_registry.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/kinetis_tpm.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/vic.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x/vic.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/console.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/console.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DACv1/dac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DACv1/dac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv1/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv2/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1/stm32_otg.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1/usb_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1/usb_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv1/rtc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/i2s_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/i2s_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv2/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv2/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/icu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/icu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1/stm32_tim.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/uart_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1/uart_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/uart_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2/uart_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1/stm32_usb.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1/usb_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1/usb_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/can_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/can_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/mac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/mac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/sdc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/sdc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld_f100.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld_f103.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/hal_lld_f105_f107.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/ext_lld_isr.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/ext_lld_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_dma.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_dma.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_isr.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_rcc.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx/stm32_registry.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/adc.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/can.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/dac.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/ext.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/gpt.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/hal.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/hal_mmcsd.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/hal_queues.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/i2c.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/i2s.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/icu.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/mac.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/mmc_spi.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/pal.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/pwm.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/rtc.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/sdc.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/serial.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/serial_usb.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/spi.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/st.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/uart.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/src/usb.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/osal/osal.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/osal/osal.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/adc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/adc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/can_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/can_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/dac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/dac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/ext_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/ext_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/gpt_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/gpt_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/hal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/hal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2c_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2c_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2s_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/i2s_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/icu_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/icu_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/mac_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/mac_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pal_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pal_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pwm_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/pwm_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/rtc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/rtc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/sdc_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/sdc_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/serial_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/serial_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/spi_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/spi_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/st_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/st_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/uart_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/uart_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/usb_lld.c
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/usb_lld.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/include/nil.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/compilers/GCC/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v6m.c
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v6m.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v7m.c
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/nilcore_v7m.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/compilers/GCC/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/nilcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/compilers/GCC/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/src/nil.c
-community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilconf.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/nilcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/os/nil/templates/niltypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/ch.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chbsem.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chcond.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chdebug.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chdynamic.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chevents.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chheap.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chlicense.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmboxes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmemcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmempools.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmsg.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chmtx.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chqueues.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chregistry.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chschd.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chsem.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chstats.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chstreams.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chsys.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chsystypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chthreads.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chtm.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include/chvt.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/chcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/cmsis_os/cmsis_os.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/IAR/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/RVCT/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_timer.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v6m.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v6m.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v7m.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/chcore_v7m.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/compilers/GCC/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chcond.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chdebug.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chdynamic.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chevents.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chheap.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmboxes.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmemcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmempools.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmsg.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chmtx.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chqueues.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chregistry.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chschd.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chsem.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chstats.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chsys.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chthreads.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chtm.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/src/chvt.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/meta/module.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/meta/module.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chcore.c
-community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chcore.h
-community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/chtypes.h
-community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/ch.cpp
-community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/ch.hpp
-community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/syscalls_cpp.cpp
-community/testhal/STM32/STM32F4xx/EICU/os/various/cpp_wrappers/syscalls_cpp.hpp
-community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/accel/lis302dl.c
-community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/accel/lis302dl.h
-community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/lcd/lcd3310.c
-community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/lcd/lcd3310.h
-community/testhal/STM32/STM32F4xx/EICU/os/various/fatfs_bindings/fatfs_diskio.c
-community/testhal/STM32/STM32F4xx/EICU/os/various/fatfs_bindings/fatfs_syscall.c
-community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/cc.h
-community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/perf.h
-community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/sys_arch.c
-community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch/sys_arch.h
-community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/lwipthread.c
-community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/lwipthread.h
-community/testhal/STM32/STM32F4xx/EICU/os/various/evtimer.c
-community/testhal/STM32/STM32F4xx/EICU/os/various/evtimer.h
-community/testhal/STM32/STM32F4xx/EICU/os/various/shell.c
-community/testhal/STM32/STM32F4xx/EICU/os/various/shell.h
-community/testhal/STM32/STM32F4xx/EICU/os/various/syscalls.c
-community/testhal/STM32/STM32F4xx/EICU/chconf.h
-community/testhal/STM32/STM32F4xx/EICU/halconf.h
-community/testhal/STM32/STM32F4xx/EICU/halconf_community.h
-community/testhal/STM32/STM32F4xx/EICU/main.c
-community/testhal/STM32/STM32F4xx/EICU/mcuconf.h
-community/testhal/STM32/STM32F4xx/EICU/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h
-community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h
-community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c
-community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c
-community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c
-community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h
-community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf_community.h
-community/testhal/STM32/STM32F4xx/FSMC_NAND/main.c
-community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h
-community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf_community.h
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/main.c
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c
-community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h
-community/testhal/STM32/STM32F4xx/onewire/chconf.h
-community/testhal/STM32/STM32F4xx/onewire/halconf.h
-community/testhal/STM32/STM32F4xx/onewire/halconf_community.h
-community/testhal/STM32/STM32F4xx/onewire/main.c
-community/testhal/STM32/STM32F4xx/onewire/mcuconf.h
-community/testhal/STM32/STM32F4xx/onewire/mcuconf_community.h
-community/testhal/STM32/STM32F4xx/onewire/onewire_test.c
-community/testhal/STM32/STM32F4xx/onewire/onewire_test.h
-community/testhal/STM32/STM32F4xx/onewire/search_rom_synth.c
-community/testhal/TIVA/TM4C123x/EXT/chconf.h
-community/testhal/TIVA/TM4C123x/EXT/halconf.h
-community/testhal/TIVA/TM4C123x/EXT/main.c
-community/testhal/TIVA/TM4C123x/EXT/mcuconf.h
-community/testhal/TIVA/TM4C123x/GPT/chconf.h
-community/testhal/TIVA/TM4C123x/GPT/halconf.h
-community/testhal/TIVA/TM4C123x/GPT/main.c
-community/testhal/TIVA/TM4C123x/GPT/mcuconf.h
-community/testhal/TIVA/TM4C123x/I2C/chconf.h
-community/testhal/TIVA/TM4C123x/I2C/halconf.h
-community/testhal/TIVA/TM4C123x/I2C/main.c
-community/testhal/TIVA/TM4C123x/I2C/mcuconf.h
-community/testhal/TIVA/TM4C123x/PWM/chconf.h
-community/testhal/TIVA/TM4C123x/PWM/halconf.h
-community/testhal/TIVA/TM4C123x/PWM/main.c
-community/testhal/TIVA/TM4C123x/PWM/mcuconf.h
-community/testhal/TIVA/TM4C123x/SPI/chconf.h
-community/testhal/TIVA/TM4C123x/SPI/halconf.h
-community/testhal/TIVA/TM4C123x/SPI/main.c
-community/testhal/TIVA/TM4C123x/SPI/mcuconf.h
-os/common/ports/ARM/compilers/GCC/crt1.c
-os/common/ports/ARM/devices/LPC214x/armparams.h
-os/common/ports/ARM/devices/LPC214x/lpc214x.h
-os/common/ports/ARMCMx/compilers/GCC/crt1.c
-os/common/ports/ARMCMx/compilers/GCC/vectors.c
-os/common/ports/ARMCMx/devices/K20x/cmparams.h
-os/common/ports/ARMCMx/devices/KL2x/cmparams.h
-os/common/ports/ARMCMx/devices/STM32F0xx/cmparams.h
-os/common/ports/ARMCMx/devices/STM32F1xx/cmparams.h
-os/common/ports/ARMCMx/devices/STM32F3xx/cmparams.h
-os/common/ports/ARMCMx/devices/STM32F4xx/cmparams.h
-os/common/ports/ARMCMx/devices/STM32L0xx/cmparams.h
-os/common/ports/ARMCMx/devices/STM32L1xx/cmparams.h
-os/common/ports/e200/compilers/GCC/vectors.h
-os/common/ports/e200/devices/SPC560BCxx/boot.h
-os/common/ports/e200/devices/SPC560BCxx/intc.h
-os/common/ports/e200/devices/SPC560BCxx/ppcparams.h
-os/common/ports/e200/devices/SPC560Bxx/boot.h
-os/common/ports/e200/devices/SPC560Bxx/intc.h
-os/common/ports/e200/devices/SPC560Bxx/ppcparams.h
-os/common/ports/e200/devices/SPC560Dxx/boot.h
-os/common/ports/e200/devices/SPC560Dxx/intc.h
-os/common/ports/e200/devices/SPC560Dxx/ppcparams.h
-os/common/ports/e200/devices/SPC560Pxx/boot.h
-os/common/ports/e200/devices/SPC560Pxx/intc.h
-os/common/ports/e200/devices/SPC560Pxx/ppcparams.h
-os/common/ports/e200/devices/SPC563Mxx/boot.h
-os/common/ports/e200/devices/SPC563Mxx/intc.h
-os/common/ports/e200/devices/SPC563Mxx/ppcparams.h
-os/common/ports/e200/devices/SPC564Axx/boot.h
-os/common/ports/e200/devices/SPC564Axx/intc.h
-os/common/ports/e200/devices/SPC564Axx/ppcparams.h
-os/common/ports/e200/devices/SPC56ECxx/boot.h
-os/common/ports/e200/devices/SPC56ECxx/intc.h
-os/common/ports/e200/devices/SPC56ECxx/ppcparams.h
-os/common/ports/e200/devices/SPC56ELxx/boot.h
-os/common/ports/e200/devices/SPC56ELxx/intc.h
-os/common/ports/e200/devices/SPC56ELxx/ppcparams.h
-os/common/ports/e200/devices/SPC57EMxx_HSM/boot.h
-os/common/ports/e200/devices/SPC57EMxx_HSM/intc.h
-os/common/ports/e200/devices/SPC57EMxx_HSM/ppcparams.h
-os/ext/CMSIS/include/arm_common_tables.h
-os/ext/CMSIS/include/arm_const_structs.h
-os/ext/CMSIS/include/arm_math.h
-os/ext/CMSIS/include/core_cm0.h
-os/ext/CMSIS/include/core_cm0plus.h
-os/ext/CMSIS/include/core_cm3.h
-os/ext/CMSIS/include/core_cm4.h
-os/ext/CMSIS/include/core_cm4_simd.h
-os/ext/CMSIS/include/core_cmFunc.h
-os/ext/CMSIS/include/core_cmInstr.h
-os/ext/CMSIS/KINETIS/kl25z.h
-os/ext/CMSIS/KINETIS/mk20d5.h
-os/ext/CMSIS/ST/stm32f030x6.h
-os/ext/CMSIS/ST/stm32f030x8.h
-os/ext/CMSIS/ST/stm32f031x6.h
-os/ext/CMSIS/ST/stm32f038xx.h
-os/ext/CMSIS/ST/stm32f042x6.h
-os/ext/CMSIS/ST/stm32f048xx.h
-os/ext/CMSIS/ST/stm32f051x8.h
-os/ext/CMSIS/ST/stm32f058xx.h
-os/ext/CMSIS/ST/stm32f071xb.h
-os/ext/CMSIS/ST/stm32f072xb.h
-os/ext/CMSIS/ST/stm32f078xx.h
-os/ext/CMSIS/ST/stm32f0xx.h
-os/ext/CMSIS/ST/stm32f10x.h
-os/ext/CMSIS/ST/stm32f301x8.h
-os/ext/CMSIS/ST/stm32f302x8.h
-os/ext/CMSIS/ST/stm32f302xc.h
-os/ext/CMSIS/ST/stm32f303x8.h
-os/ext/CMSIS/ST/stm32f303xc.h
-os/ext/CMSIS/ST/stm32f318xx.h
-os/ext/CMSIS/ST/stm32f328xx.h
-os/ext/CMSIS/ST/stm32f334x8.h
-os/ext/CMSIS/ST/stm32f358xx.h
-os/ext/CMSIS/ST/stm32f373xc.h
-os/ext/CMSIS/ST/stm32f378xx.h
-os/ext/CMSIS/ST/stm32f3xx.h
-os/ext/CMSIS/ST/stm32f401xc.h
-os/ext/CMSIS/ST/stm32f401xe.h
-os/ext/CMSIS/ST/stm32f405xx.h
-os/ext/CMSIS/ST/stm32f407xx.h
-os/ext/CMSIS/ST/stm32f411xe.h
-os/ext/CMSIS/ST/stm32f415xx.h
-os/ext/CMSIS/ST/stm32f417xx.h
-os/ext/CMSIS/ST/stm32f427xx.h
-os/ext/CMSIS/ST/stm32f429xx.h
-os/ext/CMSIS/ST/stm32f437xx.h
-os/ext/CMSIS/ST/stm32f439xx.h
-os/ext/CMSIS/ST/stm32f4xx.h
-os/ext/CMSIS/ST/stm32l051xx.h
-os/ext/CMSIS/ST/stm32l052xx.h
-os/ext/CMSIS/ST/stm32l053xx.h
-os/ext/CMSIS/ST/stm32l061xx.h
-os/ext/CMSIS/ST/stm32l062xx.h
-os/ext/CMSIS/ST/stm32l063xx.h
-os/ext/CMSIS/ST/stm32l0xx.h
-os/ext/CMSIS/ST/stm32l1xx.h
-os/ext/CMSIS/ST/system_stm32f0xx.h
-os/ext/CMSIS/ST/system_stm32f10x.h
-os/ext/CMSIS/ST/system_stm32f3xx.h
-os/ext/CMSIS/ST/system_stm32f4xx.h
-os/ext/CMSIS/ST/system_stm32l0xx.h
-os/ext/CMSIS/ST/system_stm32l1xx.h
-os/hal/boards/ARDUINO_MEGA/board.c
-os/hal/boards/ARDUINO_MEGA/board.h
-os/hal/boards/EA_LPCXPRESSO_11C24/board.c
-os/hal/boards/EA_LPCXPRESSO_11C24/board.h
-os/hal/boards/EA_LPCXPRESSO_BB_1114/board.c
-os/hal/boards/EA_LPCXPRESSO_BB_1114/board.h
-os/hal/boards/EA_LPCXPRESSO_BB_11U14/board.c
-os/hal/boards/EA_LPCXPRESSO_BB_11U14/board.h
-os/hal/boards/EA_LPCXPRESSO_BB_1343/board.c
-os/hal/boards/EA_LPCXPRESSO_BB_1343/board.h
-os/hal/boards/EA_LPCXPRESSO_LPC812/board.c
-os/hal/boards/EA_LPCXPRESSO_LPC812/board.h
-os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.c
-os/hal/boards/FREESCALE_FREEDOM_K20D50M/board.h
-os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.c
-os/hal/boards/FREESCALE_FREEDOM_KL25Z/board.h
-os/hal/boards/MAPLEMINI_STM32_F103/board.c
-os/hal/boards/MAPLEMINI_STM32_F103/board.h
-os/hal/boards/MCHCK_K20/board.c
-os/hal/boards/MCHCK_K20/board.h
-os/hal/boards/NGX_BB_LPC11U14/board.c
-os/hal/boards/NGX_BB_LPC11U14/board.h
-os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1/board.c
-os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1/board.h
-os/hal/boards/OLIMEX_AVR_CAN/board.c
-os/hal/boards/OLIMEX_AVR_CAN/board.h
-os/hal/boards/OLIMEX_AVR_MT_128/board.c
-os/hal/boards/OLIMEX_AVR_MT_128/board.h
-os/hal/boards/OLIMEX_LPC_P1227/board.c
-os/hal/boards/OLIMEX_LPC_P1227/board.h
-os/hal/boards/OLIMEX_LPC_P1343/board.c
-os/hal/boards/OLIMEX_LPC_P1343/board.h
-os/hal/boards/OLIMEX_LPC_P2148/board.c
-os/hal/boards/OLIMEX_LPC_P2148/board.h
-os/hal/boards/OLIMEX_LPC_P2148/buzzer.c
-os/hal/boards/OLIMEX_LPC_P2148/buzzer.h
-os/hal/boards/OLIMEX_MSP430_P1611/board.c
-os/hal/boards/OLIMEX_MSP430_P1611/board.h
-os/hal/boards/OLIMEX_SAM7_EX256/board.c
-os/hal/boards/OLIMEX_SAM7_EX256/board.h
-os/hal/boards/OLIMEX_SAM7_P256/board.c
-os/hal/boards/OLIMEX_SAM7_P256/board.h
-os/hal/boards/OLIMEX_STM32_103STK/board.c
-os/hal/boards/OLIMEX_STM32_103STK/board.h
-os/hal/boards/OLIMEX_STM32_E407/board.c
-os/hal/boards/OLIMEX_STM32_E407/board.h
-os/hal/boards/OLIMEX_STM32_E407_REV_D/board.c
-os/hal/boards/OLIMEX_STM32_E407_REV_D/board.h
-os/hal/boards/OLIMEX_STM32_H103/board.c
-os/hal/boards/OLIMEX_STM32_H103/board.h
-os/hal/boards/OLIMEX_STM32_H407/board.c
-os/hal/boards/OLIMEX_STM32_H407/board.h
-os/hal/boards/OLIMEX_STM32_LCD/board.c
-os/hal/boards/OLIMEX_STM32_LCD/board.h
-os/hal/boards/OLIMEX_STM32_P103/board.c
-os/hal/boards/OLIMEX_STM32_P103/board.h
-os/hal/boards/OLIMEX_STM32_P107/board.c
-os/hal/boards/OLIMEX_STM32_P107/board.h
-os/hal/boards/OLIMEX_STM32_P407/board.c
-os/hal/boards/OLIMEX_STM32_P407/board.h
-os/hal/boards/PJRC_TEENSY_3/board.c
-os/hal/boards/PJRC_TEENSY_3/board.h
-os/hal/boards/RAISONANCE_REVA_STM8S/board.c
-os/hal/boards/RAISONANCE_REVA_STM8S/board.h
-os/hal/boards/simulator/board.c
-os/hal/boards/simulator/board.h
-os/hal/boards/ST_EVB_SPC560B/board.c
-os/hal/boards/ST_EVB_SPC560B/board.h
-os/hal/boards/ST_EVB_SPC560BC/board.c
-os/hal/boards/ST_EVB_SPC560BC/board.h
-os/hal/boards/ST_EVB_SPC560D/board.c
-os/hal/boards/ST_EVB_SPC560D/board.h
-os/hal/boards/ST_EVB_SPC560P/board.c
-os/hal/boards/ST_EVB_SPC560P/board.h
-os/hal/boards/ST_EVB_SPC563M/board.c
-os/hal/boards/ST_EVB_SPC563M/board.h
-os/hal/boards/ST_EVB_SPC564A/board.c
-os/hal/boards/ST_EVB_SPC564A/board.h
-os/hal/boards/ST_EVB_SPC56EC/board.c
-os/hal/boards/ST_EVB_SPC56EC/board.h
-os/hal/boards/ST_EVB_SPC56EL/board.c
-os/hal/boards/ST_EVB_SPC56EL/board.h
-os/hal/boards/ST_INEMO_M1_DISCOVERY/board.c
-os/hal/boards/ST_INEMO_M1_DISCOVERY/board.h
-os/hal/boards/ST_NUCLEO_F030R8/board.c
-os/hal/boards/ST_NUCLEO_F030R8/board.h
-os/hal/boards/ST_NUCLEO_F103RB/board.c
-os/hal/boards/ST_NUCLEO_F103RB/board.h
-os/hal/boards/ST_NUCLEO_F302R8/board.c
-os/hal/boards/ST_NUCLEO_F302R8/board.h
-os/hal/boards/ST_NUCLEO_F334R8/board.c
-os/hal/boards/ST_NUCLEO_F334R8/board.h
-os/hal/boards/ST_NUCLEO_F401RE/board.c
-os/hal/boards/ST_NUCLEO_F401RE/board.h
-os/hal/boards/ST_NUCLEO_F411RE/board.c
-os/hal/boards/ST_NUCLEO_F411RE/board.h
-os/hal/boards/ST_NUCLEO_L152RE/board.c
-os/hal/boards/ST_NUCLEO_L152RE/board.h
-os/hal/boards/ST_STM3210C_EVAL/board.c
-os/hal/boards/ST_STM3210C_EVAL/board.h
-os/hal/boards/ST_STM3210E_EVAL/board.c
-os/hal/boards/ST_STM3210E_EVAL/board.h
-os/hal/boards/ST_STM3220G_EVAL/board.c
-os/hal/boards/ST_STM3220G_EVAL/board.h
-os/hal/boards/ST_STM32373C_EVAL/board.c
-os/hal/boards/ST_STM32373C_EVAL/board.h
-os/hal/boards/ST_STM32F072B_DISCOVERY/board.c
-os/hal/boards/ST_STM32F072B_DISCOVERY/board.h
-os/hal/boards/ST_STM32F0_DISCOVERY/board.c
-os/hal/boards/ST_STM32F0_DISCOVERY/board.h
-os/hal/boards/ST_STM32F3_DISCOVERY/board.c
-os/hal/boards/ST_STM32F3_DISCOVERY/board.h
-os/hal/boards/ST_STM32F401C_DISCOVERY/board.c
-os/hal/boards/ST_STM32F401C_DISCOVERY/board.h
-os/hal/boards/ST_STM32F429I_DISCOVERY/board.c
-os/hal/boards/ST_STM32F429I_DISCOVERY/board.h
-os/hal/boards/ST_STM32F4_DISCOVERY/board.c
-os/hal/boards/ST_STM32F4_DISCOVERY/board.h
-os/hal/boards/ST_STM32L_DISCOVERY/board.c
-os/hal/boards/ST_STM32L_DISCOVERY/board.h
-os/hal/boards/ST_STM32VL_DISCOVERY/board.c
-os/hal/boards/ST_STM32VL_DISCOVERY/board.h
-os/hal/boards/ST_STM8L_DISCOVERY/board.c
-os/hal/boards/ST_STM8L_DISCOVERY/board.h
-os/hal/boards/ST_STM8S_DISCOVERY/board.c
-os/hal/boards/ST_STM8S_DISCOVERY/board.h
-os/hal/boards/STUDIEL_AT91SAM7A3_EK/board.c
-os/hal/boards/STUDIEL_AT91SAM7A3_EK/board.h
-os/hal/include/adc.h
-os/hal/include/can.h
-os/hal/include/dac.h
-os/hal/include/ext.h
-os/hal/include/gpt.h
-os/hal/include/hal.h
-os/hal/include/hal_channels.h
-os/hal/include/hal_files.h
-os/hal/include/hal_ioblock.h
-os/hal/include/hal_mmcsd.h
-os/hal/include/hal_queues.h
-os/hal/include/hal_streams.h
-os/hal/include/i2c.h
-os/hal/include/i2s.h
-os/hal/include/icu.h
-os/hal/include/mac.h
-os/hal/include/mii.h
-os/hal/include/mmc_spi.h
-os/hal/include/pal.h
-os/hal/include/pwm.h
-os/hal/include/rtc.h
-os/hal/include/sdc.h
-os/hal/include/serial.h
-os/hal/include/serial_usb.h
-os/hal/include/spi.h
-os/hal/include/st.h
-os/hal/include/uart.h
-os/hal/include/usb.h
-os/hal/lib/streams/chprintf.c
-os/hal/lib/streams/chprintf.h
-os/hal/lib/streams/memstreams.c
-os/hal/lib/streams/memstreams.h
-os/hal/lib/streams/nullstreams.c
-os/hal/lib/streams/nullstreams.h
-os/hal/osal/nil/osal.c
-os/hal/osal/nil/osal.h
-os/hal/osal/os-less/ARMCMx/osal.c
-os/hal/osal/os-less/ARMCMx/osal.h
-os/hal/osal/rt/osal.c
-os/hal/osal/rt/osal.h
-os/hal/ports/AVR/adc_lld.c
-os/hal/ports/AVR/adc_lld.h
-os/hal/ports/AVR/avr_pins.h
-os/hal/ports/AVR/avr_timers.h
-os/hal/ports/AVR/gpt_lld.c
-os/hal/ports/AVR/gpt_lld.h
-os/hal/ports/AVR/hal_lld.c
-os/hal/ports/AVR/hal_lld.h
-os/hal/ports/AVR/i2c_lld.c
-os/hal/ports/AVR/i2c_lld.h
-os/hal/ports/AVR/icu_lld.c
-os/hal/ports/AVR/icu_lld.h
-os/hal/ports/AVR/pal_lld.c
-os/hal/ports/AVR/pal_lld.h
-os/hal/ports/AVR/pwm_lld.c
-os/hal/ports/AVR/pwm_lld.h
-os/hal/ports/AVR/serial_lld.c
-os/hal/ports/AVR/serial_lld.h
-os/hal/ports/AVR/spi_lld.c
-os/hal/ports/AVR/spi_lld.h
-os/hal/ports/AVR/st_lld.c
-os/hal/ports/AVR/st_lld.h
-os/hal/ports/common/ARMCMx/nvic.c
-os/hal/ports/common/ARMCMx/nvic.h
-os/hal/ports/KINETIS/K20x/gpt_lld.c
-os/hal/ports/KINETIS/K20x/gpt_lld.h
-os/hal/ports/KINETIS/K20x/hal_lld.c
-os/hal/ports/KINETIS/K20x/hal_lld.h
-os/hal/ports/KINETIS/K20x/kinetis_registry.h
-os/hal/ports/KINETIS/K20x/pal_lld.c
-os/hal/ports/KINETIS/K20x/pal_lld.h
-os/hal/ports/KINETIS/K20x/serial_lld.c
-os/hal/ports/KINETIS/K20x/serial_lld.h
-os/hal/ports/KINETIS/K20x/spi_lld.c
-os/hal/ports/KINETIS/K20x/spi_lld.h
-os/hal/ports/KINETIS/K20x/st_lld.c
-os/hal/ports/KINETIS/K20x/st_lld.h
-os/hal/ports/KINETIS/KL2x/hal_lld.c
-os/hal/ports/KINETIS/KL2x/hal_lld.h
-os/hal/ports/KINETIS/KL2x/kinetis_registry.h
-os/hal/ports/KINETIS/KL2x/kinetis_tpm.h
-os/hal/ports/KINETIS/KL2x/pal_lld.c
-os/hal/ports/KINETIS/KL2x/pal_lld.h
-os/hal/ports/KINETIS/KL2x/pwm_lld.c
-os/hal/ports/KINETIS/KL2x/pwm_lld.h
-os/hal/ports/KINETIS/KL2x/serial_lld.c
-os/hal/ports/KINETIS/KL2x/serial_lld.h
-os/hal/ports/KINETIS/KL2x/st_lld.c
-os/hal/ports/KINETIS/KL2x/st_lld.h
-os/hal/ports/KINETIS/LLD/adc_lld.c
-os/hal/ports/KINETIS/LLD/adc_lld.h
-os/hal/ports/KINETIS/LLD/ext_lld.c
-os/hal/ports/KINETIS/LLD/ext_lld.h
-os/hal/ports/KINETIS/LLD/i2c_lld.c
-os/hal/ports/KINETIS/LLD/i2c_lld.h
-os/hal/ports/LPC/LPC214x/hal_lld.c
-os/hal/ports/LPC/LPC214x/hal_lld.h
-os/hal/ports/LPC/LPC214x/pal_lld.c
-os/hal/ports/LPC/LPC214x/pal_lld.h
-os/hal/ports/LPC/LPC214x/serial_lld.c
-os/hal/ports/LPC/LPC214x/serial_lld.h
-os/hal/ports/LPC/LPC214x/spi_lld.c
-os/hal/ports/LPC/LPC214x/spi_lld.h
-os/hal/ports/LPC/LPC214x/st_lld.c
-os/hal/ports/LPC/LPC214x/st_lld.h
-os/hal/ports/LPC/LPC214x/vic.c
-os/hal/ports/LPC/LPC214x/vic.h
-os/hal/ports/simulator/win32/hal_lld.c
-os/hal/ports/simulator/win32/hal_lld.h
-os/hal/ports/simulator/win32/serial_lld.c
-os/hal/ports/simulator/win32/serial_lld.h
-os/hal/ports/simulator/console.c
-os/hal/ports/simulator/console.h
-os/hal/ports/simulator/pal_lld.c
-os/hal/ports/simulator/pal_lld.h
-os/hal/ports/simulator/st_lld.c
-os/hal/ports/simulator/st_lld.h
-os/hal/ports/STM32/LLD/DACv1/dac_lld.c
-os/hal/ports/STM32/LLD/DACv1/dac_lld.h
-os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c
-os/hal/ports/STM32/LLD/DMAv1/stm32_dma.h
-os/hal/ports/STM32/LLD/GPIOv1/pal_lld.c
-os/hal/ports/STM32/LLD/GPIOv1/pal_lld.h
-os/hal/ports/STM32/LLD/GPIOv2/pal_lld.c
-os/hal/ports/STM32/LLD/GPIOv2/pal_lld.h
-os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.c
-os/hal/ports/STM32/LLD/I2Cv1/i2c_lld.h
-os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.c
-os/hal/ports/STM32/LLD/I2Cv2/i2c_lld.h
-os/hal/ports/STM32/LLD/OTGv1/stm32_otg.h
-os/hal/ports/STM32/LLD/OTGv1/usb_lld.c
-os/hal/ports/STM32/LLD/OTGv1/usb_lld.h
-os/hal/ports/STM32/LLD/RTCv1/rtc_lld.c
-os/hal/ports/STM32/LLD/RTCv1/rtc_lld.h
-os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c
-os/hal/ports/STM32/LLD/RTCv2/rtc_lld.h
-os/hal/ports/STM32/LLD/SPIv1/i2s_lld.c
-os/hal/ports/STM32/LLD/SPIv1/i2s_lld.h
-os/hal/ports/STM32/LLD/SPIv1/spi_lld.c
-os/hal/ports/STM32/LLD/SPIv1/spi_lld.h
-os/hal/ports/STM32/LLD/SPIv2/spi_lld.c
-os/hal/ports/STM32/LLD/SPIv2/spi_lld.h
-os/hal/ports/STM32/LLD/TIMv1/gpt_lld.c
-os/hal/ports/STM32/LLD/TIMv1/gpt_lld.h
-os/hal/ports/STM32/LLD/TIMv1/icu_lld.c
-os/hal/ports/STM32/LLD/TIMv1/icu_lld.h
-os/hal/ports/STM32/LLD/TIMv1/pwm_lld.c
-os/hal/ports/STM32/LLD/TIMv1/pwm_lld.h
-os/hal/ports/STM32/LLD/TIMv1/st_lld.c
-os/hal/ports/STM32/LLD/TIMv1/st_lld.h
-os/hal/ports/STM32/LLD/TIMv1/stm32_tim.h
-os/hal/ports/STM32/LLD/USARTv1/serial_lld.c
-os/hal/ports/STM32/LLD/USARTv1/serial_lld.h
-os/hal/ports/STM32/LLD/USARTv1/uart_lld.c
-os/hal/ports/STM32/LLD/USARTv1/uart_lld.h
-os/hal/ports/STM32/LLD/USARTv2/serial_lld.c
-os/hal/ports/STM32/LLD/USARTv2/serial_lld.h
-os/hal/ports/STM32/LLD/USARTv2/uart_lld.c
-os/hal/ports/STM32/LLD/USARTv2/uart_lld.h
-os/hal/ports/STM32/LLD/USBv1/stm32_usb.h
-os/hal/ports/STM32/LLD/USBv1/usb_lld.c
-os/hal/ports/STM32/LLD/USBv1/usb_lld.h
-os/hal/ports/STM32/LLD/can_lld.c
-os/hal/ports/STM32/LLD/can_lld.h
-os/hal/ports/STM32/LLD/ext_lld.c
-os/hal/ports/STM32/LLD/ext_lld.h
-os/hal/ports/STM32/LLD/mac_lld.c
-os/hal/ports/STM32/LLD/mac_lld.h
-os/hal/ports/STM32/LLD/sdc_lld.c
-os/hal/ports/STM32/LLD/sdc_lld.h
-os/hal/ports/STM32/STM32F0xx/adc_lld.c
-os/hal/ports/STM32/STM32F0xx/adc_lld.h
-os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c
-os/hal/ports/STM32/STM32F0xx/ext_lld_isr.h
-os/hal/ports/STM32/STM32F0xx/hal_lld.c
-os/hal/ports/STM32/STM32F0xx/hal_lld.h
-os/hal/ports/STM32/STM32F0xx/stm32_dma.c
-os/hal/ports/STM32/STM32F0xx/stm32_dma.h
-os/hal/ports/STM32/STM32F0xx/stm32_isr.h
-os/hal/ports/STM32/STM32F0xx/stm32_rcc.h
-os/hal/ports/STM32/STM32F0xx/stm32_registry.h
-os/hal/ports/STM32/STM32F1xx/adc_lld.c
-os/hal/ports/STM32/STM32F1xx/adc_lld.h
-os/hal/ports/STM32/STM32F1xx/ext_lld_isr.c
-os/hal/ports/STM32/STM32F1xx/ext_lld_isr.h
-os/hal/ports/STM32/STM32F1xx/hal_lld.c
-os/hal/ports/STM32/STM32F1xx/hal_lld.h
-os/hal/ports/STM32/STM32F1xx/hal_lld_f100.h
-os/hal/ports/STM32/STM32F1xx/hal_lld_f103.h
-os/hal/ports/STM32/STM32F1xx/hal_lld_f105_f107.h
-os/hal/ports/STM32/STM32F1xx/stm32_dma.c
-os/hal/ports/STM32/STM32F1xx/stm32_dma.h
-os/hal/ports/STM32/STM32F1xx/stm32_isr.h
-os/hal/ports/STM32/STM32F1xx/stm32_rcc.h
-os/hal/ports/STM32/STM32F1xx/stm32_registry.h
-os/hal/ports/STM32/STM32F37x/adc_lld.c
-os/hal/ports/STM32/STM32F37x/adc_lld.h
-os/hal/ports/STM32/STM32F37x/ext_lld_isr.c
-os/hal/ports/STM32/STM32F37x/ext_lld_isr.h
-os/hal/ports/STM32/STM32F37x/hal_lld.c
-os/hal/ports/STM32/STM32F37x/hal_lld.h
-os/hal/ports/STM32/STM32F37x/stm32_dma.c
-os/hal/ports/STM32/STM32F37x/stm32_dma.h
-os/hal/ports/STM32/STM32F37x/stm32_isr.h
-os/hal/ports/STM32/STM32F37x/stm32_rcc.h
-os/hal/ports/STM32/STM32F37x/stm32_registry.h
-os/hal/ports/STM32/STM32F3xx/adc_lld.c
-os/hal/ports/STM32/STM32F3xx/adc_lld.h
-os/hal/ports/STM32/STM32F3xx/ext_lld_isr.c
-os/hal/ports/STM32/STM32F3xx/ext_lld_isr.h
-os/hal/ports/STM32/STM32F3xx/hal_lld.c
-os/hal/ports/STM32/STM32F3xx/hal_lld.h
-os/hal/ports/STM32/STM32F3xx/stm32_dma.c
-os/hal/ports/STM32/STM32F3xx/stm32_dma.h
-os/hal/ports/STM32/STM32F3xx/stm32_isr.h
-os/hal/ports/STM32/STM32F3xx/stm32_rcc.h
-os/hal/ports/STM32/STM32F3xx/stm32_registry.h
-os/hal/ports/STM32/STM32F4xx/adc_lld.c
-os/hal/ports/STM32/STM32F4xx/adc_lld.h
-os/hal/ports/STM32/STM32F4xx/ext_lld_isr.c
-os/hal/ports/STM32/STM32F4xx/ext_lld_isr.h
-os/hal/ports/STM32/STM32F4xx/hal_lld.c
-os/hal/ports/STM32/STM32F4xx/hal_lld.h
-os/hal/ports/STM32/STM32F4xx/stm32_dma.c
-os/hal/ports/STM32/STM32F4xx/stm32_dma.h
-os/hal/ports/STM32/STM32F4xx/stm32_isr.h
-os/hal/ports/STM32/STM32F4xx/stm32_rcc.h
-os/hal/ports/STM32/STM32F4xx/stm32_registry.h
-os/hal/ports/STM32/STM32L1xx/adc_lld.c
-os/hal/ports/STM32/STM32L1xx/adc_lld.h
-os/hal/ports/STM32/STM32L1xx/ext_lld_isr.c
-os/hal/ports/STM32/STM32L1xx/ext_lld_isr.h
-os/hal/ports/STM32/STM32L1xx/hal_lld.c
-os/hal/ports/STM32/STM32L1xx/hal_lld.h
-os/hal/ports/STM32/STM32L1xx/stm32_dma.c
-os/hal/ports/STM32/STM32L1xx/stm32_dma.h
-os/hal/ports/STM32/STM32L1xx/stm32_isr.h
-os/hal/ports/STM32/STM32L1xx/stm32_rcc.h
-os/hal/ports/STM32/STM32L1xx/stm32_registry.h
-os/hal/src/adc.c
-os/hal/src/can.c
-os/hal/src/dac.c
-os/hal/src/ext.c
-os/hal/src/gpt.c
-os/hal/src/hal.c
-os/hal/src/hal_mmcsd.c
-os/hal/src/hal_queues.c
-os/hal/src/i2c.c
-os/hal/src/i2s.c
-os/hal/src/icu.c
-os/hal/src/mac.c
-os/hal/src/mmc_spi.c
-os/hal/src/pal.c
-os/hal/src/pwm.c
-os/hal/src/rtc.c
-os/hal/src/sdc.c
-os/hal/src/serial.c
-os/hal/src/serial_usb.c
-os/hal/src/spi.c
-os/hal/src/st.c
-os/hal/src/uart.c
-os/hal/src/usb.c
-os/hal/templates/osal/osal.c
-os/hal/templates/osal/osal.h
-os/hal/templates/adc_lld.c
-os/hal/templates/adc_lld.h
-os/hal/templates/can_lld.c
-os/hal/templates/can_lld.h
-os/hal/templates/dac_lld.c
-os/hal/templates/dac_lld.h
-os/hal/templates/ext_lld.c
-os/hal/templates/ext_lld.h
-os/hal/templates/gpt_lld.c
-os/hal/templates/gpt_lld.h
-os/hal/templates/hal_lld.c
-os/hal/templates/hal_lld.h
-os/hal/templates/halconf.h
-os/hal/templates/i2c_lld.c
-os/hal/templates/i2c_lld.h
-os/hal/templates/i2s_lld.c
-os/hal/templates/i2s_lld.h
-os/hal/templates/icu_lld.c
-os/hal/templates/icu_lld.h
-os/hal/templates/mac_lld.c
-os/hal/templates/mac_lld.h
-os/hal/templates/mcuconf.h
-os/hal/templates/pal_lld.c
-os/hal/templates/pal_lld.h
-os/hal/templates/pwm_lld.c
-os/hal/templates/pwm_lld.h
-os/hal/templates/rtc_lld.c
-os/hal/templates/rtc_lld.h
-os/hal/templates/sdc_lld.c
-os/hal/templates/sdc_lld.h
-os/hal/templates/serial_lld.c
-os/hal/templates/serial_lld.h
-os/hal/templates/spi_lld.c
-os/hal/templates/spi_lld.h
-os/hal/templates/st_lld.c
-os/hal/templates/st_lld.h
-os/hal/templates/uart_lld.c
-os/hal/templates/uart_lld.h
-os/hal/templates/usb_lld.c
-os/hal/templates/usb_lld.h
-os/nil/include/nil.h
-os/nil/ports/ARMCMx/compilers/GCC/niltypes.h
-os/nil/ports/ARMCMx/nilcore.c
-os/nil/ports/ARMCMx/nilcore.h
-os/nil/ports/ARMCMx/nilcore_timer.h
-os/nil/ports/ARMCMx/nilcore_v6m.c
-os/nil/ports/ARMCMx/nilcore_v6m.h
-os/nil/ports/ARMCMx/nilcore_v7m.c
-os/nil/ports/ARMCMx/nilcore_v7m.h
-os/nil/ports/AVR/compilers/GCC/niltypes.h
-os/nil/ports/AVR/nilcore.c
-os/nil/ports/AVR/nilcore.h
-os/nil/ports/AVR/nilcore_timer.h
-os/nil/ports/e200/compilers/GCC/niltypes.h
-os/nil/ports/e200/nilcore.c
-os/nil/ports/e200/nilcore.h
-os/nil/src/nil.c
-os/nil/templates/nilconf.h
-os/nil/templates/nilcore.c
-os/nil/templates/nilcore.h
-os/nil/templates/nilcore_timer.h
-os/nil/templates/niltypes.h
-os/rt/include/ch.h
-os/rt/include/chbsem.h
-os/rt/include/chcond.h
-os/rt/include/chdebug.h
-os/rt/include/chdynamic.h
-os/rt/include/chevents.h
-os/rt/include/chheap.h
-os/rt/include/chlicense.h
-os/rt/include/chmboxes.h
-os/rt/include/chmemcore.h
-os/rt/include/chmempools.h
-os/rt/include/chmsg.h
-os/rt/include/chmtx.h
-os/rt/include/chqueues.h
-os/rt/include/chregistry.h
-os/rt/include/chschd.h
-os/rt/include/chsem.h
-os/rt/include/chstats.h
-os/rt/include/chstreams.h
-os/rt/include/chsys.h
-os/rt/include/chsystypes.h
-os/rt/include/chthreads.h
-os/rt/include/chtm.h
-os/rt/include/chvt.h
-os/rt/ports/ARM/compilers/GCC/chtypes.h
-os/rt/ports/ARM/chcore.c
-os/rt/ports/ARM/chcore.h
-os/rt/ports/ARM/chcore_timer.h
-os/rt/ports/ARMCMx/cmsis_os/cmsis_os.c
-os/rt/ports/ARMCMx/cmsis_os/cmsis_os.h
-os/rt/ports/ARMCMx/compilers/GCC/chtypes.h
-os/rt/ports/ARMCMx/compilers/IAR/chtypes.h
-os/rt/ports/ARMCMx/compilers/RVCT/chtypes.h
-os/rt/ports/ARMCMx/chcore.c
-os/rt/ports/ARMCMx/chcore.h
-os/rt/ports/ARMCMx/chcore_timer.h
-os/rt/ports/ARMCMx/chcore_v6m.c
-os/rt/ports/ARMCMx/chcore_v6m.h
-os/rt/ports/ARMCMx/chcore_v7m.c
-os/rt/ports/ARMCMx/chcore_v7m.h
-os/rt/ports/AVR/compilers/GCC/chtypes.h
-os/rt/ports/AVR/chcore.c
-os/rt/ports/AVR/chcore.h
-os/rt/ports/e200/compilers/GCC/chtypes.h
-os/rt/ports/e200/chcore.c
-os/rt/ports/e200/chcore.h
-os/rt/ports/SIMIA32/compilers/GCC/chtypes.h
-os/rt/ports/SIMIA32/chcore.c
-os/rt/ports/SIMIA32/chcore.h
-os/rt/src/chcond.c
-os/rt/src/chdebug.c
-os/rt/src/chdynamic.c
-os/rt/src/chevents.c
-os/rt/src/chheap.c
-os/rt/src/chmboxes.c
-os/rt/src/chmemcore.c
-os/rt/src/chmempools.c
-os/rt/src/chmsg.c
-os/rt/src/chmtx.c
-os/rt/src/chqueues.c
-os/rt/src/chregistry.c
-os/rt/src/chschd.c
-os/rt/src/chsem.c
-os/rt/src/chstats.c
-os/rt/src/chsys.c
-os/rt/src/chthreads.c
-os/rt/src/chtm.c
-os/rt/src/chvt.c
-os/rt/templates/meta/module.c
-os/rt/templates/meta/module.h
-os/rt/templates/chconf.h
-os/rt/templates/chcore.c
-os/rt/templates/chcore.h
-os/rt/templates/chtypes.h
-os/various/cpp_wrappers/ch.cpp
-os/various/cpp_wrappers/ch.hpp
-os/various/cpp_wrappers/syscalls_cpp.cpp
-os/various/cpp_wrappers/syscalls_cpp.hpp
-os/various/devices_lib/accel/lis302dl.c
-os/various/devices_lib/accel/lis302dl.h
-os/various/devices_lib/lcd/lcd3310.c
-os/various/devices_lib/lcd/lcd3310.h
-os/various/fatfs_bindings/fatfs_diskio.c
-os/various/fatfs_bindings/fatfs_syscall.c
-os/various/lwip_bindings/arch/cc.h
-os/various/lwip_bindings/arch/perf.h
-os/various/lwip_bindings/arch/sys_arch.c
-os/various/lwip_bindings/arch/sys_arch.h
-os/various/lwip_bindings/lwipthread.c
-os/various/lwip_bindings/lwipthread.h
-os/various/evtimer.c
-os/various/evtimer.h
-os/various/shell.c
-os/various/shell.h
-os/various/syscalls.c
-chconf.h
-halconf.h
-halconf_community.h
-main.c
-mcuconf.h
-mcuconf_community.h
-Makefile
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.includes b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.includes
deleted file mode 100644
index a5e7917..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.includes
+++ /dev/null
@@ -1,769 +0,0 @@
-.
-community/demos/NRF51/RT-WVSHARE_BLE400
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D
-community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res
-community/demos/TIVA/RT-TM4C123G-LAUNCHPAD
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP
-community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web
-community/os/common/ports/ARMCMx/devices/NRF51822
-community/os/common/ports/ARMCMx/devices/TM4C123x
-community/os/common/ports/ARMCMx/devices/TM4C129x
-community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2
-community/os/hal/boards/ST_STM32F0308_DISCOVERY
-community/os/hal/boards/TI_TM4C123G_LAUNCHPAD
-community/os/hal/boards/TI_TM4C1294_LAUNCHPAD
-community/os/hal/boards/WVSHARE_BLE400
-community/os/hal/include
-community/os/hal/ports/NRF51/NRF51822
-community/os/hal/ports/STM32/LLD/DMA2Dv1
-community/os/hal/ports/STM32/LLD/FSMCv1
-community/os/hal/ports/STM32/LLD/LTDCv1
-community/os/hal/ports/STM32/LLD/TIMv1
-community/os/hal/ports/TIVA/LLD
-community/os/hal/ports/TIVA/TM4C123x
-community/os/hal/ports/TIVA/TM4C129x
-community/os/various
-community/os/various/devices_lib/lcd
-community/os/various/devices_lib/mems
-community/os/various/devices_lib/others
-community/os/various/devices_lib/rf
-community/testhal/STM32/STM32F0xx/onewire
-community/testhal/STM32/STM32F1xx/onewire
-community/testhal/STM32/STM32F4xx/EICU
-community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D
-community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP
-community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web
-community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/NRF51822
-community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C123x
-community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C129x
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/ST_STM32F0308_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C1294_LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/WVSHARE_BLE400
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/DMA2Dv1
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/LTDCv1
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/TIMv1
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x
-community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x
-community/testhal/STM32/STM32F4xx/EICU/community/os/various
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/lcd
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/others
-community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/rf
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/NRF51822
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C123x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C129x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/ST_STM32F0308_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C1294_LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/WVSHARE_BLE400
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/DMA2Dv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/LTDCv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/TIMv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/lcd
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/others
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/rf
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/NRF51/RT-WVSHARE_BLE400
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/STM32/RT-STM32F429-DISCOVERY-DMA2D/res
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C123G-LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/demos/TIVA/RT-TM4C1294-LAUNCHPAD-LWIP/web
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/NRF51822
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C123x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/common/ports/ARMCMx/devices/TM4C129x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/ST_STM32F0308_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/TI_TM4C1294_LAUNCHPAD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/boards/WVSHARE_BLE400
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/NRF51/NRF51822
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/DMA2Dv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/FSMCv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/LTDCv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/STM32/LLD/TIMv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/LLD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C123x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/hal/ports/TIVA/TM4C129x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/lcd
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/mems
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/others
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/os/various/devices_lib/rf
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F0xx/onewire
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F1xx/onewire
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/devices/LPC214x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/K20x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/KL2x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F0xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F1xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F3xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F4xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L0xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L1xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/KINETIS
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ARDUINO_MEGA
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_11C24
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1114
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_11U14
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1343
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_LPC812
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_K20D50M
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_KL25Z
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MAPLEMINI_STM32_F103
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MCHCK_K20
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NGX_BB_LPC11U14
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_CAN
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_MT_128
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1227
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1343
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_MSP430_P1611
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_EX256
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_P256
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_103STK
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407_REV_D
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H103
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H407
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_LCD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P103
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P107
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P407
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/PJRC_TEENSY_3
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/RAISONANCE_REVA_STM8S
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/simulator
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560B
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560BC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560D
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560P
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC563M
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC564A
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_INEMO_M1_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F030R8
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F103RB
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F302R8
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F334R8
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F401RE
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F411RE
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_L152RE
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210C_EVAL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210E_EVAL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3220G_EVAL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32373C_EVAL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F072B_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F0_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F3_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F401C_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F429I_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F4_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32L_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32VL_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8L_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8S_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/STUDIEL_AT91SAM7A3_EK
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/nil
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/os-less/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/rt
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/common/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DACv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DMAv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/osal
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/cmsis_os
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/IAR
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/RVCT
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/meta
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/accel
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/lcd
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/devices/LPC214x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/K20x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/KL2x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F0xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F1xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F3xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F4xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L0xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L1xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/KINETIS
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ARDUINO_MEGA
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_11C24
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1114
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_11U14
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1343
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_LPC812
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_K20D50M
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_KL25Z
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MAPLEMINI_STM32_F103
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MCHCK_K20
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NGX_BB_LPC11U14
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_CAN
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_MT_128
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1227
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1343
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_MSP430_P1611
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_EX256
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_P256
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_103STK
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407_REV_D
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H103
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H407
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_LCD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P103
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P107
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P407
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/PJRC_TEENSY_3
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/RAISONANCE_REVA_STM8S
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/simulator
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560B
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560BC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560D
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560P
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC563M
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC564A
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_INEMO_M1_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F030R8
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F103RB
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F302R8
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F334R8
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F401RE
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F411RE
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_L152RE
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210C_EVAL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210E_EVAL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3220G_EVAL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32373C_EVAL
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F072B_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F0_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F3_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F401C_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F429I_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F4_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32L_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32VL_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8L_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8S_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/STUDIEL_AT91SAM7A3_EK
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/nil
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/os-less/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/rt
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/common/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DACv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DMAv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/osal
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/nil/templates
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/include
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/cmsis_os
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/IAR
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/RVCT
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/meta
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/accel
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/lcd
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_NAND
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SDRAM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/FSMC_SRAM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/STM32/STM32F4xx/onewire
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/EXT
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/GPT
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/I2C
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/PWM
-community/testhal/STM32/STM32F4xx/EICU/community/testhal/TIVA/TM4C123x/SPI
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARM/devices/LPC214x
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/K20x
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/KL2x
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F0xx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F1xx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F3xx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32F4xx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L0xx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/ARMCMx/devices/STM32L1xx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560BCxx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Bxx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Dxx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC560Pxx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC563Mxx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC564Axx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ECxx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC56ELxx
-community/testhal/STM32/STM32F4xx/EICU/os/common/ports/e200/devices/SPC57EMxx_HSM
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/include
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/KINETIS
-community/testhal/STM32/STM32F4xx/EICU/os/ext/CMSIS/ST
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ARDUINO_MEGA
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_11C24
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1114
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_11U14
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_BB_1343
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/EA_LPCXPRESSO_LPC812
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_K20D50M
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/FREESCALE_FREEDOM_KL25Z
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MAPLEMINI_STM32_F103
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/MCHCK_K20
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NGX_BB_LPC11U14
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_CAN
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_AVR_MT_128
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1227
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P1343
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_LPC_P2148
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_MSP430_P1611
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_EX256
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_SAM7_P256
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_103STK
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_E407_REV_D
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H103
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_H407
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_LCD
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P103
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P107
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/OLIMEX_STM32_P407
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/PJRC_TEENSY_3
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/RAISONANCE_REVA_STM8S
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/simulator
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560B
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560BC
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560D
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC560P
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC563M
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC564A
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EC
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_EVB_SPC56EL
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_INEMO_M1_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F030R8
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F103RB
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F302R8
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F334R8
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F401RE
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_F411RE
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_NUCLEO_L152RE
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210C_EVAL
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3210E_EVAL
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM3220G_EVAL
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32373C_EVAL
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F072B_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F0_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F3_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F401C_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F429I_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32F4_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32L_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM32VL_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8L_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/ST_STM8S_DISCOVERY
-community/testhal/STM32/STM32F4xx/EICU/os/hal/boards/STUDIEL_AT91SAM7A3_EK
-community/testhal/STM32/STM32F4xx/EICU/os/hal/include
-community/testhal/STM32/STM32F4xx/EICU/os/hal/lib/streams
-community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/nil
-community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/os-less/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/os/hal/osal/rt
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/AVR
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/common/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/K20x
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/KL2x
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/KINETIS/LLD
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/LPC/LPC214x
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/simulator/win32
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DACv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/DMAv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/GPIOv2
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/I2Cv2
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/OTGv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/RTCv2
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/SPIv2
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/TIMv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USARTv2
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/LLD/USBv1
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F0xx
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F1xx
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F37x
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F3xx
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32F4xx
-community/testhal/STM32/STM32F4xx/EICU/os/hal/ports/STM32/STM32L1xx
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates
-community/testhal/STM32/STM32F4xx/EICU/os/hal/templates/osal
-community/testhal/STM32/STM32F4xx/EICU/os/nil/include
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/ARMCMx/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/AVR/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200
-community/testhal/STM32/STM32F4xx/EICU/os/nil/ports/e200/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/os/nil/templates
-community/testhal/STM32/STM32F4xx/EICU/os/rt/include
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARM/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/cmsis_os
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/IAR
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/ARMCMx/compilers/RVCT
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/AVR/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/e200/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32
-community/testhal/STM32/STM32F4xx/EICU/os/rt/ports/SIMIA32/compilers/GCC
-community/testhal/STM32/STM32F4xx/EICU/os/rt/templates
-community/testhal/STM32/STM32F4xx/EICU/os/rt/templates/meta
-community/testhal/STM32/STM32F4xx/EICU/os/various
-community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/accel
-community/testhal/STM32/STM32F4xx/EICU/os/various/devices_lib/lcd
-community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings
-community/testhal/STM32/STM32F4xx/EICU/os/various/lwip_bindings/arch
-community/testhal/STM32/STM32F4xx/FSMC_NAND
-community/testhal/STM32/STM32F4xx/FSMC_SDRAM
-community/testhal/STM32/STM32F4xx/FSMC_SRAM
-community/testhal/STM32/STM32F4xx/onewire
-community/testhal/TIVA/TM4C123x/EXT
-community/testhal/TIVA/TM4C123x/GPT
-community/testhal/TIVA/TM4C123x/I2C
-community/testhal/TIVA/TM4C123x/PWM
-community/testhal/TIVA/TM4C123x/SPI
-os/common/ports/ARM/devices/LPC214x
-os/common/ports/ARMCMx/devices/K20x
-os/common/ports/ARMCMx/devices/KL2x
-os/common/ports/ARMCMx/devices/STM32F0xx
-os/common/ports/ARMCMx/devices/STM32F1xx
-os/common/ports/ARMCMx/devices/STM32F3xx
-os/common/ports/ARMCMx/devices/STM32F4xx
-os/common/ports/ARMCMx/devices/STM32L0xx
-os/common/ports/ARMCMx/devices/STM32L1xx
-os/common/ports/e200/compilers/GCC
-os/common/ports/e200/devices/SPC560BCxx
-os/common/ports/e200/devices/SPC560Bxx
-os/common/ports/e200/devices/SPC560Dxx
-os/common/ports/e200/devices/SPC560Pxx
-os/common/ports/e200/devices/SPC563Mxx
-os/common/ports/e200/devices/SPC564Axx
-os/common/ports/e200/devices/SPC56ECxx
-os/common/ports/e200/devices/SPC56ELxx
-os/common/ports/e200/devices/SPC57EMxx_HSM
-os/ext/CMSIS/include
-os/ext/CMSIS/KINETIS
-os/ext/CMSIS/ST
-os/hal/boards/ARDUINO_MEGA
-os/hal/boards/EA_LPCXPRESSO_11C24
-os/hal/boards/EA_LPCXPRESSO_BB_1114
-os/hal/boards/EA_LPCXPRESSO_BB_11U14
-os/hal/boards/EA_LPCXPRESSO_BB_1343
-os/hal/boards/EA_LPCXPRESSO_LPC812
-os/hal/boards/FREESCALE_FREEDOM_K20D50M
-os/hal/boards/FREESCALE_FREEDOM_KL25Z
-os/hal/boards/MAPLEMINI_STM32_F103
-os/hal/boards/MCHCK_K20
-os/hal/boards/NGX_BB_LPC11U14
-os/hal/boards/NONSTANDARD_STM32F4_BARTHESS1
-os/hal/boards/OLIMEX_AVR_CAN
-os/hal/boards/OLIMEX_AVR_MT_128
-os/hal/boards/OLIMEX_LPC_P1227
-os/hal/boards/OLIMEX_LPC_P1343
-os/hal/boards/OLIMEX_LPC_P2148
-os/hal/boards/OLIMEX_MSP430_P1611
-os/hal/boards/OLIMEX_SAM7_EX256
-os/hal/boards/OLIMEX_SAM7_P256
-os/hal/boards/OLIMEX_STM32_103STK
-os/hal/boards/OLIMEX_STM32_E407
-os/hal/boards/OLIMEX_STM32_E407_REV_D
-os/hal/boards/OLIMEX_STM32_H103
-os/hal/boards/OLIMEX_STM32_H407
-os/hal/boards/OLIMEX_STM32_LCD
-os/hal/boards/OLIMEX_STM32_P103
-os/hal/boards/OLIMEX_STM32_P107
-os/hal/boards/OLIMEX_STM32_P407
-os/hal/boards/PJRC_TEENSY_3
-os/hal/boards/RAISONANCE_REVA_STM8S
-os/hal/boards/simulator
-os/hal/boards/ST_EVB_SPC560B
-os/hal/boards/ST_EVB_SPC560BC
-os/hal/boards/ST_EVB_SPC560D
-os/hal/boards/ST_EVB_SPC560P
-os/hal/boards/ST_EVB_SPC563M
-os/hal/boards/ST_EVB_SPC564A
-os/hal/boards/ST_EVB_SPC56EC
-os/hal/boards/ST_EVB_SPC56EL
-os/hal/boards/ST_INEMO_M1_DISCOVERY
-os/hal/boards/ST_NUCLEO_F030R8
-os/hal/boards/ST_NUCLEO_F103RB
-os/hal/boards/ST_NUCLEO_F302R8
-os/hal/boards/ST_NUCLEO_F334R8
-os/hal/boards/ST_NUCLEO_F401RE
-os/hal/boards/ST_NUCLEO_F411RE
-os/hal/boards/ST_NUCLEO_L152RE
-os/hal/boards/ST_STM3210C_EVAL
-os/hal/boards/ST_STM3210E_EVAL
-os/hal/boards/ST_STM3220G_EVAL
-os/hal/boards/ST_STM32373C_EVAL
-os/hal/boards/ST_STM32F072B_DISCOVERY
-os/hal/boards/ST_STM32F0_DISCOVERY
-os/hal/boards/ST_STM32F3_DISCOVERY
-os/hal/boards/ST_STM32F401C_DISCOVERY
-os/hal/boards/ST_STM32F429I_DISCOVERY
-os/hal/boards/ST_STM32F4_DISCOVERY
-os/hal/boards/ST_STM32L_DISCOVERY
-os/hal/boards/ST_STM32VL_DISCOVERY
-os/hal/boards/ST_STM8L_DISCOVERY
-os/hal/boards/ST_STM8S_DISCOVERY
-os/hal/boards/STUDIEL_AT91SAM7A3_EK
-os/hal/include
-os/hal/lib/streams
-os/hal/osal/nil
-os/hal/osal/os-less/ARMCMx
-os/hal/osal/rt
-os/hal/ports/AVR
-os/hal/ports/common/ARMCMx
-os/hal/ports/KINETIS/K20x
-os/hal/ports/KINETIS/KL2x
-os/hal/ports/KINETIS/LLD
-os/hal/ports/LPC/LPC214x
-os/hal/ports/simulator
-os/hal/ports/simulator/win32
-os/hal/ports/STM32/LLD
-os/hal/ports/STM32/LLD/DACv1
-os/hal/ports/STM32/LLD/DMAv1
-os/hal/ports/STM32/LLD/GPIOv1
-os/hal/ports/STM32/LLD/GPIOv2
-os/hal/ports/STM32/LLD/I2Cv1
-os/hal/ports/STM32/LLD/I2Cv2
-os/hal/ports/STM32/LLD/OTGv1
-os/hal/ports/STM32/LLD/RTCv1
-os/hal/ports/STM32/LLD/RTCv2
-os/hal/ports/STM32/LLD/SPIv1
-os/hal/ports/STM32/LLD/SPIv2
-os/hal/ports/STM32/LLD/TIMv1
-os/hal/ports/STM32/LLD/USARTv1
-os/hal/ports/STM32/LLD/USARTv2
-os/hal/ports/STM32/LLD/USBv1
-os/hal/ports/STM32/STM32F0xx
-os/hal/ports/STM32/STM32F1xx
-os/hal/ports/STM32/STM32F37x
-os/hal/ports/STM32/STM32F3xx
-os/hal/ports/STM32/STM32F4xx
-os/hal/ports/STM32/STM32L1xx
-os/hal/templates
-os/hal/templates/osal
-os/nil/include
-os/nil/ports/ARMCMx
-os/nil/ports/ARMCMx/compilers/GCC
-os/nil/ports/AVR
-os/nil/ports/AVR/compilers/GCC
-os/nil/ports/e200
-os/nil/ports/e200/compilers/GCC
-os/nil/templates
-os/rt/include
-os/rt/ports/ARM
-os/rt/ports/ARM/compilers/GCC
-os/rt/ports/ARMCMx
-os/rt/ports/ARMCMx/cmsis_os
-os/rt/ports/ARMCMx/compilers/GCC
-os/rt/ports/ARMCMx/compilers/IAR
-os/rt/ports/ARMCMx/compilers/RVCT
-os/rt/ports/AVR
-os/rt/ports/AVR/compilers/GCC
-os/rt/ports/e200
-os/rt/ports/e200/compilers/GCC
-os/rt/ports/SIMIA32
-os/rt/ports/SIMIA32/compilers/GCC
-os/rt/templates
-os/rt/templates/meta
-os/various
-os/various/devices_lib/accel
-os/various/devices_lib/lcd
-os/various/lwip_bindings
-os/various/lwip_bindings/arch
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/Makefile
deleted file mode 100644
index db59af2..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/Makefile
+++ /dev/null
@@ -1,217 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F4xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/STM32F407xG.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/chconf.h
deleted file mode 100644
index ad6b53a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf.h
deleted file mode 100644
index 93cc713..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf_community.h
deleted file mode 100644
index e967c6a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf_community.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU TRUE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM FALSE
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/main.c
deleted file mode 100644
index 90f8eb1..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/main.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * Make following connections on your discovery board:
- * PD13-PB4
- * PD12-PB5
- * PD14-PB0
- * PD15-PB1
- */
-
-#include "ch.h"
-#include "hal.h"
-#include "stdlib.h"
-
-typedef struct {
- systime_t high;
- systime_t low;
- uint32_t pad;
-} pulse_t;
-
-/*
- * Chose values suitable for measurement using 16-bit timer on 1MHz
- */
-static pulse_t pulse_led3 = {MS2ST(2), MS2ST(59), GPIOD_LED3};
-static pulse_t pulse_led4 = {MS2ST(3), MS2ST(53), GPIOD_LED4};
-static pulse_t pulse_led5 = {MS2ST(5), MS2ST(47), GPIOD_LED5};
-static pulse_t pulse_led6 = {MS2ST(7), MS2ST(43), GPIOD_LED6};
-
-/*
- *
- */
-static THD_WORKING_AREA(PulseThreadWA_LED3, 128);
-static THD_WORKING_AREA(PulseThreadWA_LED4, 128);
-static THD_WORKING_AREA(PulseThreadWA_LED5, 128);
-static THD_WORKING_AREA(PulseThreadWA_LED6, 128);
-
-static THD_FUNCTION(PulseThread, arg) {
- chRegSetThreadName("Pulse");
- pulse_t *pulse = arg;
-
- systime_t t = chVTGetSystemTimeX();
-
- while (!chThdShouldTerminateX()) {
- t += pulse->high;
- palSetPad(GPIOD, pulse->pad);
- chThdSleepUntil(t);
- palClearPad(GPIOD, pulse->pad);
- t+= pulse->low;
- chThdSleepUntil(t);
- }
-
- chThdExit(MSG_OK);
-}
-
-static const int32_t tolerance = 20; // uS
-void eicu_cb(EICUDriver *eicup, eicuchannel_t channel, uint32_t w, uint32_t p) {
- (void)eicup;
- (void)p;
- switch (channel) {
- case EICU_CHANNEL_1:
- if (abs((int32_t)w - (int32_t)ST2US(pulse_led3.high)) > tolerance)
- osalSysHalt("ch1");
- break;
- case EICU_CHANNEL_2:
- if (abs((int32_t)w - (int32_t)ST2US(pulse_led4.high)) > tolerance)
- osalSysHalt("ch2");
- break;
- case EICU_CHANNEL_3:
- if (abs((int32_t)w - (int32_t)ST2US(pulse_led5.high)) > tolerance)
- osalSysHalt("ch3");
- break;
- case EICU_CHANNEL_4:
- if (abs((int32_t)w - (int32_t)ST2US(pulse_led6.high)) > tolerance)
- osalSysHalt("ch4");
- break;
- default:
- osalSysHalt("unhandled case");
- break;
- }
-}
-
-static const EICUChannelConfig led3cfg = {
- EICU_INPUT_ACTIVE_HIGH,
- EICU_INPUT_PULSE,
- eicu_cb
-};
-
-static const EICUConfig eicucfg = {
- 1000000, /* EICU clock frequency in Hz.*/
- {
- &led3cfg,
- &led3cfg,
- &led3cfg,
- &led3cfg
- },
- 0
-};
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- palSetPadMode(GPIOB, GPIOB_PIN0, PAL_MODE_ALTERNATE(2));
- palSetPadMode(GPIOB, GPIOB_PIN1, PAL_MODE_ALTERNATE(2));
- palSetPadMode(GPIOB, GPIOB_PIN4, PAL_MODE_ALTERNATE(2));
- palSetPadMode(GPIOB, GPIOB_PIN5, PAL_MODE_ALTERNATE(2));
-
- eicuStart(&EICUD3, &eicucfg);
- eicuEnable(&EICUD3);
-
- osalThreadSleepMicroseconds(10); // need to stabilize input puns
-
- chThdCreateStatic(PulseThreadWA_LED3, sizeof(PulseThreadWA_LED3),
- NORMALPRIO+1, PulseThread, &pulse_led3);
- chThdCreateStatic(PulseThreadWA_LED4, sizeof(PulseThreadWA_LED4),
- NORMALPRIO+1, PulseThread, &pulse_led4);
- chThdCreateStatic(PulseThreadWA_LED5, sizeof(PulseThreadWA_LED5),
- NORMALPRIO+1, PulseThread, &pulse_led5);
- chThdCreateStatic(PulseThreadWA_LED6, sizeof(PulseThreadWA_LED6),
- NORMALPRIO+1, PulseThread, &pulse_led6);
-
- while (true) {
- osalThreadSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf.h
deleted file mode 100644
index c7671b7..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * STM32F4xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F4xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_CLOCK48_REQUIRED TRUE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PLLM_VALUE 8
-#define STM32_PLLN_VALUE 336
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 7
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV4
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-#define STM32_RTCPRE_VALUE 8
-#define STM32_MCO1SEL STM32_MCO1SEL_HSI
-#define STM32_MCO1PRE STM32_MCO1PRE_DIV1
-#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK
-#define STM32_MCO2PRE STM32_MCO2PRE_DIV5
-#define STM32_I2SSRC STM32_I2SSRC_CKIN
-#define STM32_PLLI2SN_VALUE 192
-#define STM32_PLLI2SR_VALUE 5
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_BKPRAM_ENABLE FALSE
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV4
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_USE_ADC2 FALSE
-#define STM32_ADC_USE_ADC3 FALSE
-#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
-#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_ADC2_DMA_PRIORITY 2
-#define STM32_ADC_ADC3_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 6
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 6
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_USE_CAN2 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-#define STM32_CAN_CAN2_IRQ_PRIORITY 11
-
-/*
- * DAC driver system settings.
- */
-#define STM32_DAC_DUAL_MODE FALSE
-#define STM32_DAC_USE_DAC1_CH1 FALSE
-#define STM32_DAC_USE_DAC1_CH2 FALSE
-#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI21_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI22_IRQ_PRIORITY 15
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM5 FALSE
-#define STM32_GPT_USE_TIM6 FALSE
-#define STM32_GPT_USE_TIM7 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_USE_TIM9 FALSE
-#define STM32_GPT_USE_TIM11 FALSE
-#define STM32_GPT_USE_TIM12 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM5_IRQ_PRIORITY 7
-#define STM32_GPT_TIM6_IRQ_PRIORITY 7
-#define STM32_GPT_TIM7_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-#define STM32_GPT_TIM9_IRQ_PRIORITY 7
-#define STM32_GPT_TIM11_IRQ_PRIORITY 7
-#define STM32_GPT_TIM12_IRQ_PRIORITY 7
-#define STM32_GPT_TIM14_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_USE_I2C3 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2C_I2C1_IRQ_PRIORITY 5
-#define STM32_I2C_I2C2_IRQ_PRIORITY 5
-#define STM32_I2C_I2C3_IRQ_PRIORITY 5
-#define STM32_I2C_I2C1_DMA_PRIORITY 3
-#define STM32_I2C_I2C2_DMA_PRIORITY 3
-#define STM32_I2C_I2C3_DMA_PRIORITY 3
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * I2S driver system settings.
- */
-#define STM32_I2S_USE_SPI2 FALSE
-#define STM32_I2S_USE_SPI3 FALSE
-#define STM32_I2S_SPI2_IRQ_PRIORITY 10
-#define STM32_I2S_SPI3_IRQ_PRIORITY 10
-#define STM32_I2S_SPI2_DMA_PRIORITY 1
-#define STM32_I2S_SPI3_DMA_PRIORITY 1
-#define STM32_I2S_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_I2S_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2S_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2S_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2S_DMA_ERROR_HOOK(i2sp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_USE_TIM9 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM5_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-#define STM32_ICU_TIM9_IRQ_PRIORITY 7
-
-/*
- * MAC driver system settings.
- */
-#define STM32_MAC_TRANSMIT_BUFFERS 2
-#define STM32_MAC_RECEIVE_BUFFERS 4
-#define STM32_MAC_BUFFERS_SIZE 1522
-#define STM32_MAC_PHY_TIMEOUT 100
-#define STM32_MAC_ETH1_CHANGE_PHY_STATE TRUE
-#define STM32_MAC_ETH1_IRQ_PRIORITY 13
-#define STM32_MAC_IP_CHECKSUM_OFFLOAD 0
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_USE_TIM9 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM5_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-#define STM32_PWM_TIM9_IRQ_PRIORITY 7
-
-/*
- * SDC driver system settings.
- */
-#define STM32_SDC_SDIO_DMA_PRIORITY 3
-#define STM32_SDC_SDIO_IRQ_PRIORITY 9
-#define STM32_SDC_WRITE_TIMEOUT_MS 250
-#define STM32_SDC_READ_TIMEOUT_MS 25
-#define STM32_SDC_CLOCK_ACTIVATION_DELAY 10
-#define STM32_SDC_SDIO_UNALIGNED_SUPPORT TRUE
-#define STM32_SDC_SDIO_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 TRUE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USE_USART6 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-#define STM32_SERIAL_USART6_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
-#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USE_UART4 FALSE
-#define STM32_UART_USE_UART5 FALSE
-#define STM32_UART_USE_USART6 FALSE
-#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
-#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_UART_USART3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
-#define STM32_UART_USART3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_UART_UART4_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_UART_UART4_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_UART_UART5_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_UART4_IRQ_PRIORITY 12
-#define STM32_UART_UART5_IRQ_PRIORITY 12
-#define STM32_UART_USART6_IRQ_PRIORITY 12
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_UART4_DMA_PRIORITY 0
-#define STM32_UART_UART5_DMA_PRIORITY 0
-#define STM32_UART_USART6_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_OTG1 FALSE
-#define STM32_USB_USE_OTG2 FALSE
-#define STM32_USB_OTG1_IRQ_PRIORITY 14
-#define STM32_USB_OTG2_IRQ_PRIORITY 14
-#define STM32_USB_OTG1_RX_FIFO_SIZE 512
-#define STM32_USB_OTG2_RX_FIFO_SIZE 1024
-#define STM32_USB_OTG_THREAD_PRIO LOWPRIO
-#define STM32_USB_OTG_THREAD_STACK_SIZE 128
-#define STM32_USB_OTGFIFO_FILL_BASEPRI 0
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG FALSE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* MCUCONF_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf_community.h
deleted file mode 100644
index 9d15f32..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf_community.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * FSMC driver system settings.
- */
-#define STM32_FSMC_USE_FSMC1 FALSE
-#define STM32_FSMC_FSMC1_IRQ_PRIORITY 10
-
-/*
- * FSMC NAND driver system settings.
- */
-#define STM32_NAND_USE_FSMC_NAND1 FALSE
-#define STM32_NAND_USE_FSMC_NAND2 FALSE
-#define STM32_NAND_USE_EXT_INT FALSE
-#define STM32_NAND_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_NAND_DMA_PRIORITY 0
-#define STM32_NAND_DMA_ERROR_HOOK(nandp) osalSysHalt("DMA failure")
-
-/*
- * FSMC SRAM driver system settings.
- */
-#define STM32_USE_FSMC_SRAM FALSE
-#define STM32_SRAM_USE_FSMC_SRAM1 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM2 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM3 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM4 FALSE
-
-/*
- * FSMC PC card driver system settings.
- */
-#define STM32_USE_FSMC_PCCARD FALSE
-
-/*
- * FSMC SDRAM driver system settings.
- */
-#define STM32_USE_FSMC_SDRAM FALSE
-
-/*
- * EICU driver system settings.
- */
-#define STM32_EICU_USE_TIM1 FALSE
-#define STM32_EICU_USE_TIM2 FALSE
-#define STM32_EICU_USE_TIM3 TRUE
-#define STM32_EICU_USE_TIM4 FALSE
-#define STM32_EICU_USE_TIM5 FALSE
-#define STM32_EICU_USE_TIM8 FALSE
-#define STM32_EICU_USE_TIM9 FALSE
-#define STM32_EICU_USE_TIM10 FALSE
-#define STM32_EICU_USE_TIM11 FALSE
-#define STM32_EICU_USE_TIM12 FALSE
-#define STM32_EICU_USE_TIM13 FALSE
-#define STM32_EICU_USE_TIM14 FALSE
-#define STM32_EICU_TIM1_IRQ_PRIORITY 7
-#define STM32_EICU_TIM2_IRQ_PRIORITY 7
-#define STM32_EICU_TIM3_IRQ_PRIORITY 7
-#define STM32_EICU_TIM4_IRQ_PRIORITY 7
-#define STM32_EICU_TIM5_IRQ_PRIORITY 7
-#define STM32_EICU_TIM8_IRQ_PRIORITY 7
-#define STM32_EICU_TIM9_IRQ_PRIORITY 7
-#define STM32_EICU_TIM10_IRQ_PRIORITY 7
-#define STM32_EICU_TIM11_IRQ_PRIORITY 7
-#define STM32_EICU_TIM12_IRQ_PRIORITY 7
-#define STM32_EICU_TIM13_IRQ_PRIORITY 7
-#define STM32_EICU_TIM14_IRQ_PRIORITY 7
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/readme.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/readme.txt
deleted file mode 100644
index 2f45f99..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/readme.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-*****************************************************************************
-** ChibiOS/RT HAL - 1-Wire driver demo for STM32F4xx. **
-*****************************************************************************
-
-** TARGET **
-
-The demo will on an STMicroelectronics STM32F4-Discovery board.
-
-** The Demo **
-
-The application demonstrates the use of the STM32F4xx 1-Wire driver.
-
-** Board Setup **
-
-To use demo you have to power your 1-wire device from 5V bus on board
-and connect DQ line to PB0 pin. Do not forget about external pullup
-resistor to 5V (4k7 recommended).
-
-** Build Procedure **
-
-The demo has been tested using the free Codesourcery GCC-based toolchain
-and YAGARTO.
-Just modify the TRGT line in the makefile in order to use different GCC ports.
-
-** Notes **
-
-Some files used by the demo are not part of ChibiOS/RT but are copyright of
-ST Microelectronics and are licensed under a different license.
-Also note that not all the files present in the ST library are distributed
-with ChibiOS/RT, you can find the whole library on the ST web site:
-
- http://www.st.com
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.cproject
deleted file mode 100644
index d5451e0..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.cproject
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.1641850078">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1641850078" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.1641850078" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.1641850078." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.380813788" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.380813788.1187386790" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.1142711675" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1750637121" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.736586711" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1939618102" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.309923753" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1871197231" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1841372361" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1747701731" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="FSMC_NAND.null.2075345386" name="FSMC_NAND"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.1570569554">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="0.1641850078">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.project
deleted file mode 100644
index 9dd1295..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F4xx-FSMC_NAND</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>os-community</name>
- <type>2</type>
- <locationURI>PARENT-4-PROJECT_LOC/os</locationURI>
- </link>
- <link>
- <name>os-git</name>
- <type>2</type>
- <locationURI>PARENT-5-PROJECT_LOC/ChibiOS-RT/os</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/Makefile
deleted file mode 100644
index 6ad8126..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/Makefile
+++ /dev/null
@@ -1,222 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F4xx/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/STM32F407xG.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(CHIBIOS_CONTRIB)/os/various/bitmap.c \
- dma_storm_adc.c \
- dma_storm_spi.c \
- dma_storm_uart.c \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various \
- $(CHIBIOS_CONTRIB)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h
deleted file mode 100644
index 1065821..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h
deleted file mode 100644
index 79dc76d..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef DMA_STORM_H_
-#define DMA_STORM_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void dma_storm_spi_start(void);
- uint32_t dma_storm_spi_stop(void);
- void dma_storm_adc_start(void);
- uint32_t dma_storm_adc_stop(void);
- void dma_storm_uart_start(void);
- uint32_t dma_storm_uart_stop(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* DMA_STORM_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c
deleted file mode 100644
index 2c2e1db..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#define ADC_NUM_CHANNELS 6
-#define ADC_BUF_DEPTH 8
-
-/* human readable names */
-#define ADC_CURRENT_SENS ADC_CHANNEL_IN10
-#define ADC_MAIN_SUPPLY ADC_CHANNEL_IN11
-#define ADC_6V_SUPPLY ADC_CHANNEL_IN12
-#define ADC_AN33_0 ADC_CHANNEL_IN13
-#define ADC_AN33_1 ADC_CHANNEL_IN14
-#define ADC_AN33_2 ADC_CHANNEL_IN15
-
-#define ADC_CURRENT_SENS_OFFSET (ADC_CHANNEL_IN10 - 10)
-#define ADC_MAIN_VOLTAGE_OFFSET (ADC_CHANNEL_IN11 - 10)
-#define ADC_6V_OFFSET (ADC_CHANNEL_IN12 - 10)
-#define ADC_AN33_0_OFFSET (ADC_CHANNEL_IN13 - 10)
-#define ADC_AN33_1_OFFSET (ADC_CHANNEL_IN14 - 10)
-#define ADC_AN33_2_OFFSET (ADC_CHANNEL_IN15 - 10)
-
-static void adcerrorcallback(ADCDriver *adcp, adcerror_t err);
-static void adccallback(ADCDriver *adcp, adcsample_t *buffer, size_t n);
-
-static adcsample_t samples[ADC_NUM_CHANNELS * ADC_BUF_DEPTH];
-
-static uint32_t ints = 0;
-static uint32_t errors = 0;
-
-static const ADCConversionGroup adccg = {
- TRUE,
- ADC_NUM_CHANNELS,
- adccallback,
- adcerrorcallback,
- 0, /* CR1 */
- ADC_CR2_SWSTART, /* CR2 */
- ADC_SMPR1_SMP_AN10(ADC_SAMPLE_3) |
- ADC_SMPR1_SMP_AN11(ADC_SAMPLE_3) |
- ADC_SMPR1_SMP_AN12(ADC_SAMPLE_3) |
- ADC_SMPR1_SMP_AN13(ADC_SAMPLE_3) |
- ADC_SMPR1_SMP_AN14(ADC_SAMPLE_3) |
- ADC_SMPR1_SMP_AN15(ADC_SAMPLE_3),
- 0, /* SMPR2 */
- ADC_SQR1_NUM_CH(ADC_NUM_CHANNELS),
- 0,
- ADC_SQR3_SQ6_N(ADC_AN33_2) |
- ADC_SQR3_SQ5_N(ADC_AN33_1) |
- ADC_SQR3_SQ4_N(ADC_AN33_0) |
- ADC_SQR3_SQ3_N(ADC_6V_SUPPLY) |
- ADC_SQR3_SQ2_N(ADC_MAIN_SUPPLY) |
- ADC_SQR3_SQ1_N(ADC_CURRENT_SENS)
-};
-
-static void adcerrorcallback(ADCDriver *adcp, adcerror_t err) {
- (void)adcp;
- (void)err;
-
- osalSysHalt("");
-}
-
-static void adccallback(ADCDriver *adcp, adcsample_t *buffer, size_t n) {
- (void)adcp;
- (void)buffer;
- (void)n;
- ints++;
-}
-
-/*
- *
- */
-void dma_storm_adc_start(void){
- ints = 0;
- errors = 0;
-
- /* Activates the ADC1 driver and the temperature sensor.*/
- adcStart(&ADCD1, NULL);
- adcSTM32EnableTSVREFE();
-
- /* Starts an ADC continuous conversion.*/
- adcStartConversion(&ADCD1, &adccg, samples, ADC_BUF_DEPTH);
-}
-
-/*
- *
- */
-uint32_t dma_storm_adc_stop(void){
- adcStopConversion(&ADCD1);
- adcSTM32DisableTSVREFE();
- adcStop(&ADCD1);
- return ints;
-}
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c
deleted file mode 100644
index e36fbc9..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-#define SPI_BUF_SIZE 512
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-static void spi_end_cb(SPIDriver *spip);
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-static uint8_t testbuf_ram[SPI_BUF_SIZE];
-static const uint8_t testbuf_flash[SPI_BUF_SIZE];
-
-/*
- *
- */
-static const SPIConfig spicfg = {
- spi_end_cb,
- GPIOA,
- GPIOA_SPI1_NSS,
- 0, //SPI_CR1_BR_1 | SPI_CR1_BR_0
-};
-
-static uint32_t ints;
-static binary_semaphore_t sem;
-static bool stop = false;
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-static void spi_end_cb(SPIDriver *spip){
- ints++;
-
- if (stop){
- chSysLockFromISR();
- chBSemSignalI(&sem);
- chSysUnlockFromISR();
- return;
- }
- else{
- chSysLockFromISR();
- spiStartExchangeI(spip, SPI_BUF_SIZE, testbuf_flash, testbuf_ram);
- chSysUnlockFromISR();
- }
-}
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-void dma_storm_spi_start(void){
- ints = 0;
- stop = false;
- chBSemObjectInit(&sem, true);
- spiStart(&SPID1, &spicfg);
- spiStartExchange(&SPID1, SPI_BUF_SIZE, testbuf_flash, testbuf_ram);
-}
-
-uint32_t dma_storm_spi_stop(void){
- stop = true;
- chBSemWait(&sem);
- spiStop(&SPID1);
- return ints;
-}
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c
deleted file mode 100644
index 7b8aa02..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-#define UART_STORM_BAUDRATE 3000000
-#define STORM_BUF_LEN 256
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-static void txend1(UARTDriver *uartp);
-static void txend2(UARTDriver *uartp);
-static void rxerr(UARTDriver *uartp, uartflags_t e);
-static void rxchar(UARTDriver *uartp, uint16_t c);
-static void rxend(UARTDriver *uartp);
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-static uint8_t rxbuf[STORM_BUF_LEN];
-static uint8_t txbuf[STORM_BUF_LEN];
-
-/*
- * UART driver configuration structure.
- */
-static const UARTConfig uart_cfg = {
- txend1,
- txend2,
- rxend,
- rxchar,
- rxerr,
- UART_STORM_BAUDRATE,
- 0,
- 0,
- 0
-};
-
-static uint32_t ints;
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-/*
- * This callback is invoked when a transmission buffer has been completely
- * read by the driver.
- */
-static void txend1(UARTDriver *uartp) {
-
- ints++;
- chSysLockFromISR();
- uartStartSendI(uartp, STORM_BUF_LEN, txbuf);
- chSysUnlockFromISR();
-}
-
-/*
- * This callback is invoked when a transmission has physically completed.
- */
-static void txend2(UARTDriver *uartp) {
- (void)uartp;
-
- chSysLockFromISR();
- chSysUnlockFromISR();
-}
-
-/*
- * This callback is invoked on a receive error, the errors mask is passed
- * as parameter.
- */
-static void rxerr(UARTDriver *uartp, uartflags_t e) {
- (void)uartp;
- (void)e;
- osalSysHalt("");
-}
-
-/*
- * This callback is invoked when a character is received but the application
- * was not ready to receive it, the character is passed as parameter.
- */
-static void rxchar(UARTDriver *uartp, uint16_t c) {
- (void)uartp;
- (void)c;
-}
-
-/*
- * This callback is invoked when a receive buffer has been completely written.
- */
-static void rxend(UARTDriver *uartp) {
- (void)uartp;
-
- chSysLockFromISR();
- uartStartReceiveI(&UARTD6, STORM_BUF_LEN, rxbuf);
- chSysUnlockFromISR();
-}
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/**
- *
- */
-void dma_storm_uart_start(void){
-
- uint32_t i;
-
- for (i=0; i<STORM_BUF_LEN; i++){
- txbuf[i] = 0x55;
- rxbuf[i] = 0;
- }
-
- ints = 0;
- uartStart(&UARTD6, &uart_cfg);
- uartStartReceive(&UARTD6, STORM_BUF_LEN, rxbuf);
- uartStartSend(&UARTD6, STORM_BUF_LEN, txbuf);
-}
-
-uint32_t dma_storm_uart_stop(void){
-
- uartStopSend(&UARTD6);
- uartStopReceive(&UARTD6);
- uartStop(&UARTD6);
-
- return ints;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h
deleted file mode 100644
index e690d15..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC TRUE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT TRUE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI TRUE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART TRUE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf_community.h
deleted file mode 100644
index f480707..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf_community.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC TRUE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND TRUE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/main.c
deleted file mode 100644
index 2379a12..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/main.c
+++ /dev/null
@@ -1,650 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * Hardware notes.
- *
- * Use external pullup on ready/busy pin of NAND IC for a speed reason.
- *
- * Chose MCU with 140 (or more) pins package because 100 pins packages
- * has no dedicated interrupt pins for FSMC.
- *
- * If your hardware already done using 100 pin package than you have to:
- * 1) connect ready/busy pin to GPIOD6 (NWAIT in terms of STM32)
- * 2) set GPIOD6 pin as input with pullup and connect it to alternate
- * function0 (not function12)
- * 3) set up EXTI to catch raising edge on GPIOD6 and call NAND driver's
- * isr_handler() function from an EXTI callback.
- *
- * If you use MLC flash memory do NOT use ECC to detect/correct
- * errors because of its weakness. Use Rid-Solomon on BCH code instead.
- * Yes, you have to realize it in sowftware yourself.
- */
-
-/*
- * Software notes.
- *
- * For correct calculation of timing values you need AN2784 document
- * from STMicro.
- */
-
-#include "ch.h"
-#include "hal.h"
-
-#include "bitmap.h"
-
-#include "dma_storm.h"
-#include "string.h"
-#include "stdlib.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-#define USE_BAD_MAP TRUE
-
-#define USE_KILL_BLOCK_TEST FALSE
-
-#define FSMCNAND_TIME_SET ((uint32_t) 2) //(8nS)
-#define FSMCNAND_TIME_WAIT ((uint32_t) 6) //(30nS)
-#define FSMCNAND_TIME_HOLD ((uint32_t) 1) //(5nS)
-#define FSMCNAND_TIME_HIZ ((uint32_t) 4) //(20nS)
-
-#define NAND_BLOCKS_COUNT 8192
-#define NAND_PAGE_DATA_SIZE 2048
-#define NAND_PAGE_SPARE_SIZE 64
-#define NAND_PAGE_SIZE (NAND_PAGE_SPARE_SIZE + NAND_PAGE_DATA_SIZE)
-#define NAND_PAGES_PER_BLOCK 64
-#define NAND_ROW_WRITE_CYCLES 3
-#define NAND_COL_WRITE_CYCLES 2
-
-#define NAND_TEST_START_BLOCK 1200
-#define NAND_TEST_END_BLOCK 1220
-
-#if USE_KILL_BLOCK_TEST
-#define NAND_TEST_KILL_BLOCK 8000
-#endif
-
-#if STM32_NAND_USE_FSMC_NAND1
- #define NAND NANDD1
-#elif STM32_NAND_USE_FSMC_NAND2
- #define NAND NANDD2
-#else
-#error "You should enable at least one NAND interface"
-#endif
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-#if STM32_NAND_USE_EXT_INT
-static void ready_isr_enable(void);
-static void ready_isr_disable(void);
-static void nand_ready_cb(EXTDriver *extp, expchannel_t channel);
-#endif
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-/*
- *
- */
-static uint8_t nand_buf[NAND_PAGE_SIZE];
-static uint8_t ref_buf[NAND_PAGE_SIZE];
-
-/*
- *
- */
-static time_measurement_t tmu_erase;
-static time_measurement_t tmu_write_data;
-static time_measurement_t tmu_write_spare;
-static time_measurement_t tmu_read_data;
-static time_measurement_t tmu_read_spare;
-static time_measurement_t tmu_driver_start;
-
-#if USE_BAD_MAP
-#define BAD_MAP_LEN (NAND_BLOCKS_COUNT / (sizeof(bitmap_word_t) * 8))
-static bitmap_word_t badblock_map_array[BAD_MAP_LEN];
-static bitmap_t badblock_map = {
- badblock_map_array,
- BAD_MAP_LEN
-};
-#endif
-
-/*
- *
- */
-static const NANDConfig nandcfg = {
- NAND_BLOCKS_COUNT,
- NAND_PAGE_DATA_SIZE,
- NAND_PAGE_SPARE_SIZE,
- NAND_PAGES_PER_BLOCK,
- NAND_ROW_WRITE_CYCLES,
- NAND_COL_WRITE_CYCLES,
- /* stm32 specific fields */
- ((FSMCNAND_TIME_HIZ << 24) | (FSMCNAND_TIME_HOLD << 16) | \
- (FSMCNAND_TIME_WAIT << 8) | FSMCNAND_TIME_SET),
-#if STM32_NAND_USE_EXT_INT
- ready_isr_enable,
- ready_isr_disable
-#endif
-};
-
-/**
- *
- */
-#if STM32_NAND_USE_EXT_INT
-static const EXTConfig extcfg = {
- {
- {EXT_CH_MODE_DISABLED, NULL}, //0
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL}, //4
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_RISING_EDGE | EXT_MODE_GPIOD, nand_ready_cb},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL}, //8
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL}, //12
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL}, //16
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL}, //20
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- }
-};
-#endif /* STM32_NAND_USE_EXT_INT */
-
-static volatile uint32_t BackgroundThdCnt = 0;
-
-#if USE_KILL_BLOCK_TEST
-static uint32_t KillCycle = 0;
-#endif
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-static void nand_wp_assert(void) {palClearPad(GPIOB, GPIOB_NAND_WP);}
-static void nand_wp_release(void) {palSetPad(GPIOB, GPIOB_NAND_WP);}
-static void red_led_on(void) {palSetPad(GPIOI, GPIOI_LED_R);}
-static void red_led_off(void) {palClearPad(GPIOI, GPIOI_LED_R);}
-
-#if STM32_NAND_USE_EXT_INT
-static void nand_ready_cb(EXTDriver *extp, expchannel_t channel){
- (void)extp;
- (void)channel;
-
- NAND.isr_handler(&NAND);
-}
-
-static void ready_isr_enable(void) {
- extChannelEnable(&EXTD1, GPIOD_NAND_RB_NWAIT);
-}
-
-static void ready_isr_disable(void) {
- extChannelDisable(&EXTD1, GPIOD_NAND_RB_NWAIT);
-}
-#endif /* STM32_NAND_USE_EXT_INT */
-
-/**
- *
- */
-static THD_WORKING_AREA(BackgroundThreadWA, 128);
-static THD_FUNCTION(BackgroundThread, arg) {
- (void)arg;
-
- while(true){
- BackgroundThdCnt++;
- }
-}
-
-/*
- *
- */
-static bool is_erased(NANDDriver *dp, size_t block){
- uint32_t page = 0;
- size_t i = 0;
-
- for (page=0; page<NAND.config->pages_per_block; page++){
- nandReadPageData(dp, block, page, nand_buf, NAND.config->page_data_size, NULL);
- nandReadPageSpare(dp, block, page, &nand_buf[2048], NAND.config->page_spare_size);
- for (i=0; i<sizeof(nand_buf); i++) {
- if (nand_buf[i] != 0xFF)
- return false;
- }
- }
-
- return true;
-}
-
-/*
- *
- */
-static void pattern_fill(void) {
-
- size_t i;
-
- srand(chSysGetRealtimeCounterX());
-
- for(i=0; i<NAND_PAGE_SIZE; i++){
- ref_buf[i] = rand() & 0xFF;
- }
-
- /* protect bad mark */
- ref_buf[NAND_PAGE_DATA_SIZE] = 0xFF;
- ref_buf[NAND_PAGE_DATA_SIZE + 1] = 0xFF;
- memcpy(nand_buf, ref_buf, NAND_PAGE_SIZE);
-
- /* paranoid mode ON */
- osalDbgCheck(0 == memcmp(ref_buf, nand_buf, NAND_PAGE_SIZE));
-}
-
-/*
- *
- */
-#if USE_KILL_BLOCK_TEST
-static void kill_block(NANDDriver *nandp, uint32_t block){
-
- size_t i = 0;
- size_t page = 0;
- uint8_t op_status;
-
- /* This test requires good block.*/
- osalDbgCheck(!nandIsBad(nandp, block));
-
- while(true){
- op_status = nandErase(&NAND, block);
- if (0 != (op_status & 1)){
- if(!is_erased(nandp, block))
- osalSysHalt("Block successfully killed");
- }
- if(!is_erased(nandp, block))
- osalSysHalt("Block block not erased, but erase operation report success");
-
- for (page=0; page<nandp->config->pages_per_block; page++){
- memset(nand_buf, 0, NAND_PAGE_SIZE);
- op_status = nandWritePageWhole(nandp, block, page, nand_buf, NAND_PAGE_SIZE);
- if (0 != (op_status & 1)){
- nandReadPageWhole(nandp, block, page, nand_buf, NAND_PAGE_SIZE);
- for (i=0; i<NAND_PAGE_SIZE; i++){
- if (nand_buf[i] != 0)
- osalSysHalt("Block successfully killed");
- }
- }
-
- nandReadPageWhole(nandp, block, page, nand_buf, NAND_PAGE_SIZE);
- for (i=0; i<NAND_PAGE_SIZE; i++){
- if (nand_buf[i] != 0)
- osalSysHalt("Page write failed, but write operation report success");
- }
- }
- KillCycle++;
- }
-}
-#endif /* USE_KILL_BLOCK_TEST */
-
-/*
- *
- */
-typedef enum {
- ECC_NO_ERROR = 0,
- ECC_CORRECTABLE_ERROR = 1,
- ECC_UNCORRECTABLE_ERROR = 2,
- ECC_CORRUPTED = 3,
-} ecc_result_t;
-
-/*
- *
- */
-static ecc_result_t parse_ecc(uint32_t ecclen,
- uint32_t ecc1, uint32_t ecc2, uint32_t *corrupted){
-
- size_t i = 0;
- uint32_t corr = 0;
- uint32_t e = 0;
- uint32_t shift = (32 - ecclen);
- uint32_t b0, b1;
-
- ecc1 <<= shift;
- ecc1 >>= shift;
- ecc2 <<= shift;
- ecc2 >>= shift;
- e = ecc1 ^ ecc2;
-
- if (0 == e){
- return ECC_NO_ERROR;
- }
- else if (((e - 1) & e) == 0){
- return ECC_CORRUPTED;
- }
- else {
- for (i=0; i<ecclen/2; i++){
- b0 = e & 1;
- e >>= 1;
- b1 = e & 1;
- e >>= 1;
- if ((b0 + b1) != 1)
- return ECC_UNCORRECTABLE_ERROR;
- corr |= b1 << i;
- }
- *corrupted = corr;
- return ECC_CORRECTABLE_ERROR;
- }
-}
-
-/*
- *
- */
-static void invert_bit(uint8_t *buf, uint32_t byte, uint32_t bit){
- osalDbgCheck((byte < NAND_PAGE_DATA_SIZE) && (bit < 8));
- buf[byte] ^= ((uint8_t)1) << bit;
-}
-
-/*
- *
- */
-static void ecc_test(NANDDriver *nandp, uint32_t block){
-
- uint32_t corrupted;
- uint32_t byte, bit;
- const uint32_t ecclen = 28;
- uint32_t ecc_ref, ecc_broken;
- uint8_t op_status;
- ecc_result_t ecc_result = ECC_NO_ERROR;
-
- /* This test requires good block.*/
- osalDbgCheck(!nandIsBad(nandp, block));
- if (!is_erased(nandp, block))
- nandErase(&NAND, block);
-
- pattern_fill();
-
- /*** Correctable errors ***/
- op_status = nandWritePageData(nandp, block, 0,
- nand_buf, nandp->config->page_data_size, &ecc_ref);
- osalDbgCheck(0 == (op_status & 1)); /* operation failed */
- nandReadPageData(nandp, block, 0,
- nand_buf, nandp->config->page_data_size, &ecc_broken);
- ecc_result = parse_ecc(ecclen, ecc_ref, ecc_broken, &corrupted);
- osalDbgCheck(ECC_NO_ERROR == ecc_result); /* unexpected error */
-
- /**/
- byte = 0;
- bit = 7;
- invert_bit(nand_buf, byte, bit);
- op_status = nandWritePageData(nandp, block, 1,
- nand_buf, nandp->config->page_data_size, &ecc_broken);
- osalDbgCheck(0 == (op_status & 1)); /* operation failed */
- invert_bit(nand_buf, byte, bit);
- ecc_result = parse_ecc(ecclen, ecc_ref, ecc_broken, &corrupted);
- osalDbgCheck(ECC_CORRECTABLE_ERROR == ecc_result); /* this error must be correctable */
- osalDbgCheck(corrupted == (byte * 8 + bit)); /* wrong correction code */
-
- /**/
- byte = 2047;
- bit = 0;
- invert_bit(nand_buf, byte, bit);
- op_status = nandWritePageData(nandp, block, 2,
- nand_buf, nandp->config->page_data_size, &ecc_broken);
- osalDbgCheck(0 == (op_status & 1)); /* operation failed */
- invert_bit(nand_buf, byte, bit);
- ecc_result = parse_ecc(ecclen, ecc_ref, ecc_broken, &corrupted);
- osalDbgCheck(ECC_CORRECTABLE_ERROR == ecc_result); /* this error must be correctable */
- osalDbgCheck(corrupted == (byte * 8 + bit)); /* wrong correction code */
-
- /**/
- byte = 1027;
- bit = 3;
- invert_bit(nand_buf, byte, bit);
- op_status = nandWritePageData(nandp, block, 3,
- nand_buf, nandp->config->page_data_size, &ecc_broken);
- osalDbgCheck(0 == (op_status & 1)); /* operation failed */
- invert_bit(nand_buf, byte, bit);
- ecc_result = parse_ecc(ecclen, ecc_ref, ecc_broken, &corrupted);
- osalDbgCheck(ECC_CORRECTABLE_ERROR == ecc_result); /* this error must be correctable */
- osalDbgCheck(corrupted == (byte * 8 + bit)); /* wrong correction code */
-
- /*** Uncorrectable error ***/
- byte = 1027;
- invert_bit(nand_buf, byte, 3);
- invert_bit(nand_buf, byte, 4);
- op_status = nandWritePageData(nandp, block, 4,
- nand_buf, nandp->config->page_data_size, &ecc_broken);
- osalDbgCheck(0 == (op_status & 1)); /* operation failed */
- invert_bit(nand_buf, byte, 3);
- invert_bit(nand_buf, byte, 4);
- ecc_result = parse_ecc(28, ecc_ref, ecc_broken, &corrupted);
- osalDbgCheck(ECC_UNCORRECTABLE_ERROR == ecc_result); /* This error must be NOT correctable */
-
- /*** make clean ***/
- nandErase(&NAND, block);
-}
-
-/*
- *
- */
-static void general_test (NANDDriver *nandp, size_t first,
- size_t last, size_t read_rounds){
-
- size_t block, page, round;
- bool status;
- uint8_t op_status;
- uint32_t recc, wecc;
-
- red_led_on();
-
- /* initialize time measurement units */
- chTMObjectInit(&tmu_erase);
- chTMObjectInit(&tmu_write_data);
- chTMObjectInit(&tmu_write_spare);
- chTMObjectInit(&tmu_read_data);
- chTMObjectInit(&tmu_read_spare);
-
- /* perform basic checks */
- for (block=first; block<last; block++){
- if (!nandIsBad(nandp, block)){
- if (!is_erased(nandp, block)){
- op_status = nandErase(nandp, block);
- osalDbgCheck(0 == (op_status & 1)); /* operation failed */
- }
- }
- }
-
- /* write block with pattern, read it back and compare */
- for (block=first; block<last; block++){
- if (!nandIsBad(nandp, block)){
- for (page=0; page<nandp->config->pages_per_block; page++){
- pattern_fill();
-
- chTMStartMeasurementX(&tmu_write_data);
- op_status = nandWritePageData(nandp, block, page,
- nand_buf, nandp->config->page_data_size, &wecc);
- chTMStopMeasurementX(&tmu_write_data);
- osalDbgCheck(0 == (op_status & 1)); /* operation failed */
-
- chTMStartMeasurementX(&tmu_write_spare);
- op_status = nandWritePageSpare(nandp, block, page,
- nand_buf + nandp->config->page_data_size,
- nandp->config->page_spare_size);
- chTMStopMeasurementX(&tmu_write_spare);
- osalDbgCheck(0 == (op_status & 1)); /* operation failed */
-
- /* read back and compare */
- for (round=0; round<read_rounds; round++){
- memset(nand_buf, 0, NAND_PAGE_SIZE);
-
- chTMStartMeasurementX(&tmu_read_data);
- nandReadPageData(nandp, block, page,
- nand_buf, nandp->config->page_data_size, &recc);
- chTMStopMeasurementX(&tmu_read_data);
- osalDbgCheck(0 == (recc ^ wecc)); /* ECC error detected */
-
- chTMStartMeasurementX(&tmu_read_spare);
- nandReadPageSpare(nandp, block, page,
- nand_buf + nandp->config->page_data_size,
- nandp->config->page_spare_size);
- chTMStopMeasurementX(&tmu_read_spare);
-
- osalDbgCheck(0 == memcmp(ref_buf, nand_buf, NAND_PAGE_SIZE)); /* Read back failed */
- }
- }
-
- /* make clean */
- chTMStartMeasurementX(&tmu_erase);
- op_status = nandErase(nandp, block);
- chTMStopMeasurementX(&tmu_erase);
- osalDbgCheck(0 == (op_status & 1)); /* operation failed */
-
- status = is_erased(nandp, block);
- osalDbgCheck(true == status); /* blocks was not erased successfully */
- }/* if (!nandIsBad(nandp, block)){ */
- }
- red_led_off();
-}
-
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /* performance counters */
- int32_t adc_ints = 0;
- int32_t spi_ints = 0;
- int32_t uart_ints = 0;
- int32_t adc_idle_ints = 0;
- int32_t spi_idle_ints = 0;
- int32_t uart_idle_ints = 0;
- uint32_t background_cnt = 0;
- systime_t T = 0;
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
-#if STM32_NAND_USE_EXT_INT
- extStart(&EXTD1, &extcfg);
-#endif
- chTMObjectInit(&tmu_driver_start);
- chTMStartMeasurementX(&tmu_driver_start);
-#if USE_BAD_MAP
- nandStart(&NAND, &nandcfg, &badblock_map);
-#else
- nandStart(&NAND, &nandcfg, NULL);
-#endif
- chTMStopMeasurementX(&tmu_driver_start);
-
- chThdSleepMilliseconds(4000);
-
- chThdCreateStatic(BackgroundThreadWA,
- sizeof(BackgroundThreadWA),
- NORMALPRIO - 20,
- BackgroundThread,
- NULL);
-
- nand_wp_release();
-
- /*
- * run NAND test in parallel with DMA load and background thread
- */
- dma_storm_adc_start();
- dma_storm_uart_start();
- dma_storm_spi_start();
- T = chVTGetSystemTimeX();
- general_test(&NAND, NAND_TEST_START_BLOCK, NAND_TEST_END_BLOCK, 1);
- T = chVTGetSystemTimeX() - T;
- adc_ints = dma_storm_adc_stop();
- uart_ints = dma_storm_uart_stop();
- spi_ints = dma_storm_spi_stop();
- chSysLock();
- background_cnt = BackgroundThdCnt;
- BackgroundThdCnt = 0;
- chSysUnlock();
-
- /*
- * run DMA load and background thread _without_ NAND test
- */
- dma_storm_adc_start();
- dma_storm_uart_start();
- dma_storm_spi_start();
- chThdSleep(T);
- adc_idle_ints = dma_storm_adc_stop();
- uart_idle_ints = dma_storm_uart_stop();
- spi_idle_ints = dma_storm_spi_stop();
-
- /*
- * ensure that NAND code have negligible impact on other subsystems
- */
- osalDbgCheck(background_cnt > (BackgroundThdCnt / 4));
- osalDbgCheck(abs(adc_ints - adc_idle_ints) < (adc_idle_ints / 20));
- osalDbgCheck(abs(uart_ints - uart_idle_ints) < (uart_idle_ints / 20));
- osalDbgCheck(abs(spi_ints - spi_idle_ints) < (spi_idle_ints / 10));
-
- /*
- * perform ECC calculation test
- */
- ecc_test(&NAND, NAND_TEST_END_BLOCK);
-
-#if USE_KILL_BLOCK_TEST
- kill_block(&NAND, NAND_TEST_KILL_BLOCK);
-#endif
-
- nand_wp_assert();
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (true) {
- chThdSleepMilliseconds(500);
- }
-}
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h
deleted file mode 100644
index d2333ba..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * STM32F4xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F4xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_CLOCK48_REQUIRED TRUE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PLLM_VALUE 12
-#define STM32_PLLN_VALUE 336
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 7
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV4
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-#define STM32_RTCPRE_VALUE 8
-#define STM32_MCO1SEL STM32_MCO1SEL_HSI
-#define STM32_MCO1PRE STM32_MCO1PRE_DIV1
-#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK
-#define STM32_MCO2PRE STM32_MCO2PRE_DIV5
-#define STM32_I2SSRC STM32_I2SSRC_CKIN
-#define STM32_PLLI2SN_VALUE 192
-#define STM32_PLLI2SR_VALUE 5
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_BKPRAM_ENABLE FALSE
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV4
-#define STM32_ADC_USE_ADC1 TRUE
-#define STM32_ADC_USE_ADC2 FALSE
-#define STM32_ADC_USE_ADC3 FALSE
-#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
-#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_ADC_ADC1_DMA_PRIORITY 3
-#define STM32_ADC_ADC2_DMA_PRIORITY 2
-#define STM32_ADC_ADC3_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 6
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 6
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_USE_CAN2 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-#define STM32_CAN_CAN2_IRQ_PRIORITY 11
-
-/*
- * DAC driver system settings.
- */
-#define STM32_DAC_DUAL_MODE FALSE
-#define STM32_DAC_USE_DAC1_CH1 FALSE
-#define STM32_DAC_USE_DAC1_CH2 FALSE
-#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI21_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI22_IRQ_PRIORITY 15
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM5 FALSE
-#define STM32_GPT_USE_TIM6 FALSE
-#define STM32_GPT_USE_TIM7 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_USE_TIM9 FALSE
-#define STM32_GPT_USE_TIM11 FALSE
-#define STM32_GPT_USE_TIM12 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM5_IRQ_PRIORITY 7
-#define STM32_GPT_TIM6_IRQ_PRIORITY 7
-#define STM32_GPT_TIM7_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-#define STM32_GPT_TIM9_IRQ_PRIORITY 7
-#define STM32_GPT_TIM11_IRQ_PRIORITY 7
-#define STM32_GPT_TIM12_IRQ_PRIORITY 7
-#define STM32_GPT_TIM14_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_USE_I2C3 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2C_I2C1_IRQ_PRIORITY 5
-#define STM32_I2C_I2C2_IRQ_PRIORITY 5
-#define STM32_I2C_I2C3_IRQ_PRIORITY 5
-#define STM32_I2C_I2C1_DMA_PRIORITY 3
-#define STM32_I2C_I2C2_DMA_PRIORITY 3
-#define STM32_I2C_I2C3_DMA_PRIORITY 3
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * I2S driver system settings.
- */
-#define STM32_I2S_USE_SPI2 FALSE
-#define STM32_I2S_USE_SPI3 FALSE
-#define STM32_I2S_SPI2_IRQ_PRIORITY 10
-#define STM32_I2S_SPI3_IRQ_PRIORITY 10
-#define STM32_I2S_SPI2_DMA_PRIORITY 1
-#define STM32_I2S_SPI3_DMA_PRIORITY 1
-#define STM32_I2S_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_I2S_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2S_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2S_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2S_DMA_ERROR_HOOK(i2sp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_USE_TIM9 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM5_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-#define STM32_ICU_TIM9_IRQ_PRIORITY 7
-
-/*
- * MAC driver system settings.
- */
-#define STM32_MAC_TRANSMIT_BUFFERS 2
-#define STM32_MAC_RECEIVE_BUFFERS 4
-#define STM32_MAC_BUFFERS_SIZE 1522
-#define STM32_MAC_PHY_TIMEOUT 100
-#define STM32_MAC_ETH1_CHANGE_PHY_STATE TRUE
-#define STM32_MAC_ETH1_IRQ_PRIORITY 13
-#define STM32_MAC_IP_CHECKSUM_OFFLOAD 0
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_USE_TIM9 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM5_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-#define STM32_PWM_TIM9_IRQ_PRIORITY 7
-
-/*
- * SDC driver system settings.
- */
-#define STM32_SDC_SDIO_DMA_PRIORITY 3
-#define STM32_SDC_SDIO_IRQ_PRIORITY 9
-#define STM32_SDC_WRITE_TIMEOUT_MS 250
-#define STM32_SDC_READ_TIMEOUT_MS 25
-#define STM32_SDC_CLOCK_ACTIVATION_DELAY 10
-#define STM32_SDC_SDIO_UNALIGNED_SUPPORT TRUE
-#define STM32_SDC_SDIO_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USE_USART6 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-#define STM32_SERIAL_USART6_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 TRUE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
-#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USE_UART4 FALSE
-#define STM32_UART_USE_UART5 FALSE
-#define STM32_UART_USE_USART6 TRUE
-#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
-#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_UART_USART3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
-#define STM32_UART_USART3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_UART_UART4_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_UART_UART4_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_UART_UART5_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 6)
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_UART4_IRQ_PRIORITY 12
-#define STM32_UART_UART5_IRQ_PRIORITY 12
-#define STM32_UART_USART6_IRQ_PRIORITY 6
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_UART4_DMA_PRIORITY 0
-#define STM32_UART_UART5_DMA_PRIORITY 0
-#define STM32_UART_USART6_DMA_PRIORITY 2
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_OTG1 FALSE
-#define STM32_USB_USE_OTG2 FALSE
-#define STM32_USB_OTG1_IRQ_PRIORITY 14
-#define STM32_USB_OTG2_IRQ_PRIORITY 14
-#define STM32_USB_OTG1_RX_FIFO_SIZE 512
-#define STM32_USB_OTG2_RX_FIFO_SIZE 1024
-#define STM32_USB_OTG_THREAD_PRIO LOWPRIO
-#define STM32_USB_OTG_THREAD_STACK_SIZE 128
-#define STM32_USB_OTGFIFO_FILL_BASEPRI 0
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG FALSE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* MCUCONF_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h
deleted file mode 100644
index 9638dbe..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * FSMC driver system settings.
- */
-#define STM32_FSMC_USE_FSMC1 TRUE
-#define STM32_FSMC_FSMC1_IRQ_PRIORITY 10
-#define STM32_FSMC_DMA_CHN 0x03010201
-
-/*
- * FSMC NAND driver system settings.
- */
-#define STM32_NAND_USE_FSMC_NAND1 TRUE
-#define STM32_NAND_USE_FSMC_NAND2 FALSE
-#define STM32_NAND_USE_EXT_INT FALSE
-#define STM32_NAND_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_NAND_DMA_PRIORITY 0
-#define STM32_NAND_DMA_ERROR_HOOK(nandp) osalSysHalt("DMA failure")
-
-/*
- * FSMC SRAM driver system settings.
- */
-#define STM32_USE_FSMC_SRAM FALSE
-#define STM32_SRAM_USE_FSMC_SRAM1 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM2 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM3 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM4 FALSE
-
-/*
- * FSMC PC card driver system settings.
- */
-#define STM32_USE_FSMC_PCCARD FALSE
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.cproject
deleted file mode 100644
index eb50c83..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.cproject
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.540416394">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.540416394" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.540416394" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.540416394." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1041020153" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1041020153.521734579" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.153638853" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.4307390" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.451248847" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1826488232" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1748705125" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.318165866" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.2132390577" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1878879847" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="FSMC_SDRAM.null.1657986104" name="FSMC_SDRAM"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.1570569554">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="0.540416394">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.project
deleted file mode 100644
index 5f87dc8..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F4xx-FSMC_SDRAM</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>os-community</name>
- <type>2</type>
- <locationURI>PARENT-4-PROJECT_LOC/os</locationURI>
- </link>
- <link>
- <name>os-git</name>
- <type>2</type>
- <locationURI>PARENT-5-PROJECT_LOC/ChibiOS-RT/os</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/Makefile
deleted file mode 100644
index c786de6..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/Makefile
+++ /dev/null
@@ -1,224 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti -std=c++11
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F4xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/ST_STM32F429I_DISCOVERY/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-include $(CHIBIOS)/os/various/cpp_wrappers/chcpp.mk
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/STM32F429xI.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c \
- memcpy_dma.c \
- membench.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC = $(CHCPPSRC) \
- $(CHIBIOS_CONTRIB)/os/various/memtest.cpp
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various/cpp_wrappers \
- $(CHIBIOS)/os/various \
- $(CHIBIOS_CONTRIB)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h
deleted file mode 100644
index 1065821..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h
deleted file mode 100644
index e690d15..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC TRUE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT TRUE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI TRUE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART TRUE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h
deleted file mode 100644
index 606fed4..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC TRUE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c
deleted file mode 100644
index 1ec34d2..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-/*
- Concepts and parts of this file have been contributed by Uladzimir Pylinsky
- aka barthess.
- */
-
-#include "ch.h"
-#include "hal.h"
-
-#include "string.h"
-
-#include "hal_fsmc_sdram.h"
-#include "membench.h"
-#include "memtest.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-/*
- * FMC SDRAM Mode definition register defines
- */
-#define FMC_SDCMR_MRD_BURST_LENGTH_1 ((uint16_t)0x0000)
-#define FMC_SDCMR_MRD_BURST_LENGTH_2 ((uint16_t)0x0001)
-#define FMC_SDCMR_MRD_BURST_LENGTH_4 ((uint16_t)0x0002)
-#define FMC_SDCMR_MRD_BURST_LENGTH_8 ((uint16_t)0x0004)
-#define FMC_SDCMR_MRD_BURST_TYPE_SEQUENTIAL ((uint16_t)0x0000)
-#define FMC_SDCMR_MRD_BURST_TYPE_INTERLEAVED ((uint16_t)0x0008)
-#define FMC_SDCMR_MRD_CAS_LATENCY_2 ((uint16_t)0x0020)
-#define FMC_SDCMR_MRD_CAS_LATENCY_3 ((uint16_t)0x0030)
-#define FMC_SDCMR_MRD_OPERATING_MODE_STANDARD ((uint16_t)0x0000)
-#define FMC_SDCMR_MRD_WRITEBURST_MODE_PROGRAMMED ((uint16_t)0x0000)
-#define FMC_SDCMR_MRD_WRITEBURST_MODE_SINGLE ((uint16_t)0x0200)
-
-/*
- * FMC_ReadPipe_Delay
- */
-#define FMC_ReadPipe_Delay_0 ((uint32_t)0x00000000)
-#define FMC_ReadPipe_Delay_1 ((uint32_t)0x00002000)
-#define FMC_ReadPipe_Delay_2 ((uint32_t)0x00004000)
-#define FMC_ReadPipe_Delay_Mask ((uint32_t)0x00006000)
-
-/*
- * FMC_Read_Burst
- */
-#define FMC_Read_Burst_Disable ((uint32_t)0x00000000)
-#define FMC_Read_Burst_Enable ((uint32_t)0x00001000)
-#define FMC_Read_Burst_Mask ((uint32_t)0x00001000)
-
-/*
- * FMC_SDClock_Period
- */
-#define FMC_SDClock_Disable ((uint32_t)0x00000000)
-#define FMC_SDClock_Period_2 ((uint32_t)0x00000800)
-#define FMC_SDClock_Period_3 ((uint32_t)0x00000C00)
-#define FMC_SDClock_Period_Mask ((uint32_t)0x00000C00)
-
-/*
- * FMC_ColumnBits_Number
- */
-#define FMC_ColumnBits_Number_8b ((uint32_t)0x00000000)
-#define FMC_ColumnBits_Number_9b ((uint32_t)0x00000001)
-#define FMC_ColumnBits_Number_10b ((uint32_t)0x00000002)
-#define FMC_ColumnBits_Number_11b ((uint32_t)0x00000003)
-
-/*
- * FMC_RowBits_Number
- */
-#define FMC_RowBits_Number_11b ((uint32_t)0x00000000)
-#define FMC_RowBits_Number_12b ((uint32_t)0x00000004)
-#define FMC_RowBits_Number_13b ((uint32_t)0x00000008)
-
-/*
- * FMC_SDMemory_Data_Width
- */
-#define FMC_SDMemory_Width_8b ((uint32_t)0x00000000)
-#define FMC_SDMemory_Width_16b ((uint32_t)0x00000010)
-#define FMC_SDMemory_Width_32b ((uint32_t)0x00000020)
-
-/*
- * FMC_InternalBank_Number
- */
-#define FMC_InternalBank_Number_2 ((uint32_t)0x00000000)
-#define FMC_InternalBank_Number_4 ((uint32_t)0x00000040)
-
-/*
- * FMC_CAS_Latency
- */
-#define FMC_CAS_Latency_1 ((uint32_t)0x00000080)
-#define FMC_CAS_Latency_2 ((uint32_t)0x00000100)
-#define FMC_CAS_Latency_3 ((uint32_t)0x00000180)
-
-/*
- * FMC_Write_Protection
- */
-#define FMC_Write_Protection_Disable ((uint32_t)0x00000000)
-#define FMC_Write_Protection_Enable ((uint32_t)0x00000200)
-
-#define SDRAM_SIZE (8 * 1024 * 1024)
-#define SDRAM_START ((void *)FSMC_Bank6_MAP_BASE)
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-
-static void mem_error_cb(memtest_t *memp, testtype type, size_t index,
- size_t width, uint32_t got, uint32_t expect);
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-
-/*
- * SDRAM driver configuration structure.
- */
-static const SDRAMConfig sdram_cfg = {
- .sdcr = (uint32_t) FMC_ColumnBits_Number_9b |
- FMC_RowBits_Number_13b |
- FMC_SDMemory_Width_16b |
- FMC_InternalBank_Number_4 |
- FMC_CAS_Latency_3 |
- FMC_Write_Protection_Disable |
- FMC_SDClock_Period_3 |
- FMC_Read_Burst_Enable |
- FMC_ReadPipe_Delay_1,
- .sdtr = (uint32_t) (2 - 1) | // FMC_LoadToActiveDelay = 2 (TMRD: 2 Clock cycles)
- (7 << 4) | // FMC_ExitSelfRefreshDelay = 7 (TXSR: min=70ns (7x11.11ns))
- (4 << 8) | // FMC_SelfRefreshTime = 4 (TRAS: min=42ns (4x11.11ns) max=120k (ns))
- (7 << 12) | // FMC_RowCycleDelay = 7 (TRC: min=70 (7x11.11ns))
- (2 << 16) | // FMC_WriteRecoveryTime = 2 (TWR: min=1+ 7ns (1+1x11.11ns))
- (2 << 20) | // FMC_RPDelay = 2 (TRP: 20ns => 2x11.11ns)
- (2 << 24), // FMC_RCDDelay = 2 (TRCD: 20ns => 2x11.11ns)
- /* NRFS = 4-1*/
- .sdcmr = (3 << 5) | (FMC_SDCMR_MRD_BURST_LENGTH_2 |
- FMC_SDCMR_MRD_BURST_TYPE_SEQUENTIAL |
- FMC_SDCMR_MRD_CAS_LATENCY_3 |
- FMC_SDCMR_MRD_OPERATING_MODE_STANDARD |
- FMC_SDCMR_MRD_WRITEBURST_MODE_SINGLE) << 9,
-
- .sdrtr = (uint32_t)(683 << 1),
-};
-
-/*
- *
- */
-static uint8_t int_buf[64*1024];
-
-/*
- *
- */
-static memtest_t memtest_struct = {
- SDRAM_START,
- SDRAM_SIZE,
- MEMTEST_WIDTH_32,
- mem_error_cb
-};
-
-/*
- *
- */
-static membench_t membench_ext = {
- SDRAM_START,
- SDRAM_SIZE,
-};
-
-/*
- *
- */
-static membench_t membench_int = {
- int_buf,
- sizeof(int_buf),
-};
-
-/*
- *
- */
-static membench_result_t membench_result_ext2int;
-static membench_result_t membench_result_int2ext;
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-static void mem_error_cb(memtest_t *memp, testtype type, size_t index,
- size_t width, uint32_t got, uint32_t expect) {
- (void)memp;
- (void)type;
- (void)index;
- (void)width;
- (void)got;
- (void)expect;
-
- osalSysHalt("Memory broken");
-}
-
-/*
- *
- */
-static void memtest(void) {
-
- while (true) {
- memtest_run(&memtest_struct, MEMTEST_RUN_ALL);
- }
-}
-
-/*
- *
- */
-static void membench(void) {
- membench_run(&membench_ext, &membench_int, &membench_result_int2ext);
- membench_run(&membench_int, &membench_ext, &membench_result_ext2int);
-}
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- fsmcSdramInit();
- fsmcSdramStart(&SDRAMD, &sdram_cfg);
-
- membench();
- memtest();
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (TRUE) {
- chThdSleepMilliseconds(500);
- }
-}
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h
deleted file mode 100644
index 4737002..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * STM32F4xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F4xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_CLOCK48_REQUIRED TRUE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PLLM_VALUE 8
-#define STM32_PLLN_VALUE 336
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 7
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV4
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-#define STM32_RTCPRE_VALUE 8
-#define STM32_MCO1SEL STM32_MCO1SEL_HSI
-#define STM32_MCO1PRE STM32_MCO1PRE_DIV1
-#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK
-#define STM32_MCO2PRE STM32_MCO2PRE_DIV5
-#define STM32_I2SSRC STM32_I2SSRC_CKIN
-#define STM32_PLLI2SN_VALUE 192
-#define STM32_PLLI2SR_VALUE 5
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_BKPRAM_ENABLE FALSE
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV4
-#define STM32_ADC_USE_ADC1 TRUE
-#define STM32_ADC_USE_ADC2 FALSE
-#define STM32_ADC_USE_ADC3 FALSE
-#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
-#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_ADC_ADC1_DMA_PRIORITY 3
-#define STM32_ADC_ADC2_DMA_PRIORITY 2
-#define STM32_ADC_ADC3_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 6
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 6
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_USE_CAN2 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-#define STM32_CAN_CAN2_IRQ_PRIORITY 11
-
-/*
- * DAC driver system settings.
- */
-#define STM32_DAC_DUAL_MODE FALSE
-#define STM32_DAC_USE_DAC1_CH1 FALSE
-#define STM32_DAC_USE_DAC1_CH2 FALSE
-#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI21_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI22_IRQ_PRIORITY 15
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM5 FALSE
-#define STM32_GPT_USE_TIM6 FALSE
-#define STM32_GPT_USE_TIM7 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_USE_TIM9 FALSE
-#define STM32_GPT_USE_TIM11 FALSE
-#define STM32_GPT_USE_TIM12 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM5_IRQ_PRIORITY 7
-#define STM32_GPT_TIM6_IRQ_PRIORITY 7
-#define STM32_GPT_TIM7_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-#define STM32_GPT_TIM9_IRQ_PRIORITY 7
-#define STM32_GPT_TIM11_IRQ_PRIORITY 7
-#define STM32_GPT_TIM12_IRQ_PRIORITY 7
-#define STM32_GPT_TIM14_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_USE_I2C3 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2C_I2C1_IRQ_PRIORITY 5
-#define STM32_I2C_I2C2_IRQ_PRIORITY 5
-#define STM32_I2C_I2C3_IRQ_PRIORITY 5
-#define STM32_I2C_I2C1_DMA_PRIORITY 3
-#define STM32_I2C_I2C2_DMA_PRIORITY 3
-#define STM32_I2C_I2C3_DMA_PRIORITY 3
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * I2S driver system settings.
- */
-#define STM32_I2S_USE_SPI2 FALSE
-#define STM32_I2S_USE_SPI3 FALSE
-#define STM32_I2S_SPI2_IRQ_PRIORITY 10
-#define STM32_I2S_SPI3_IRQ_PRIORITY 10
-#define STM32_I2S_SPI2_DMA_PRIORITY 1
-#define STM32_I2S_SPI3_DMA_PRIORITY 1
-#define STM32_I2S_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_I2S_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2S_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2S_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2S_DMA_ERROR_HOOK(i2sp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_USE_TIM9 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM5_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-#define STM32_ICU_TIM9_IRQ_PRIORITY 7
-
-/*
- * MAC driver system settings.
- */
-#define STM32_MAC_TRANSMIT_BUFFERS 2
-#define STM32_MAC_RECEIVE_BUFFERS 4
-#define STM32_MAC_BUFFERS_SIZE 1522
-#define STM32_MAC_PHY_TIMEOUT 100
-#define STM32_MAC_ETH1_CHANGE_PHY_STATE TRUE
-#define STM32_MAC_ETH1_IRQ_PRIORITY 13
-#define STM32_MAC_IP_CHECKSUM_OFFLOAD 0
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_USE_TIM9 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM5_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-#define STM32_PWM_TIM9_IRQ_PRIORITY 7
-
-/*
- * SDC driver system settings.
- */
-#define STM32_SDC_SDIO_DMA_PRIORITY 3
-#define STM32_SDC_SDIO_IRQ_PRIORITY 9
-#define STM32_SDC_WRITE_TIMEOUT_MS 250
-#define STM32_SDC_READ_TIMEOUT_MS 25
-#define STM32_SDC_CLOCK_ACTIVATION_DELAY 10
-#define STM32_SDC_SDIO_UNALIGNED_SUPPORT TRUE
-#define STM32_SDC_SDIO_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USE_USART6 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-#define STM32_SERIAL_USART6_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 TRUE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
-#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USE_UART4 FALSE
-#define STM32_UART_USE_UART5 FALSE
-#define STM32_UART_USE_USART6 TRUE
-#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
-#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_UART_USART3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
-#define STM32_UART_USART3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_UART_UART4_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_UART_UART4_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_UART_UART5_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 6)
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_UART4_IRQ_PRIORITY 12
-#define STM32_UART_UART5_IRQ_PRIORITY 12
-#define STM32_UART_USART6_IRQ_PRIORITY 6
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_UART4_DMA_PRIORITY 0
-#define STM32_UART_UART5_DMA_PRIORITY 0
-#define STM32_UART_USART6_DMA_PRIORITY 2
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_OTG1 FALSE
-#define STM32_USB_USE_OTG2 FALSE
-#define STM32_USB_OTG1_IRQ_PRIORITY 14
-#define STM32_USB_OTG2_IRQ_PRIORITY 14
-#define STM32_USB_OTG1_RX_FIFO_SIZE 512
-#define STM32_USB_OTG2_RX_FIFO_SIZE 1024
-#define STM32_USB_OTG_THREAD_PRIO LOWPRIO
-#define STM32_USB_OTG_THREAD_STACK_SIZE 128
-#define STM32_USB_OTGFIFO_FILL_BASEPRI 0
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG FALSE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* MCUCONF_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h
deleted file mode 100644
index f60cbee..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * FSMC driver system settings.
- */
-#define STM32_FSMC_USE_FSMC1 TRUE
-#define STM32_FSMC_FSMC1_IRQ_PRIORITY 10
-
-/*
- * FSMC NAND driver system settings.
- */
-#define STM32_NAND_USE_FSMC_NAND1 FALSE
-#define STM32_NAND_USE_FSMC_NAND2 FALSE
-
-/*
- * FSMC SDRAM driver system settings.
- */
-#define STM32_USE_FSMC_SDRAM TRUE
-#define STM32_SDRAM_USE_FSMC_SDRAM1 FALSE
-#define STM32_SDRAM_USE_FSMC_SDRAM2 TRUE
-
-/*
- * FSMC SRAM driver system settings.
- */
-#define STM32_USE_FSMC_SRAM FALSE
-#define STM32_SRAM_USE_FSMC_SRAM1 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM2 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM3 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM4 FALSE
-
-/*
- * FSMC PC card driver system settings.
- */
-#define STM32_USE_FSMC_PCCARD FALSE
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c
deleted file mode 100644
index 91b9aee..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <string.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#include "membench.h"
-#include "memcpy_dma.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-volatile int warning_suppressor;
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-/*
- * Calculates memory access time in MiB/s.
- */
-double speed_mibps(const time_measurement_t *tmu, size_t len) {
- double size; // MiB
- double time; // sec
-
- size = len;
- size /= 1024 * 1024;
-
- time = tmu->last;
- time /= STM32_SYSCLK;
-
- return size / time;
-}
-
-/*
- * Calculates memory access time in B/s.
- */
-uint32_t speed_bps(const time_measurement_t *tmu, size_t len) {
-
- uint64_t tmp = len;
- tmp *= STM32_SYSCLK;
-
- return tmp / tmu->last;
-}
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/*
- *
- */
-void membench_run(membench_t *dest, const membench_t *src,
- membench_result_t *result) {
- time_measurement_t mem_tmu;
- size_t len;
-
- if (src->size < dest->size)
- len = src->size;
- else
- len = dest->size;
-
- /* memset */
- chTMObjectInit(&mem_tmu);
- chTMStartMeasurementX(&mem_tmu);
- memset(dest->start, 0x55, dest->size);
- chTMStopMeasurementX(&mem_tmu);
- result->memset = speed_bps(&mem_tmu, dest->size);
-
- /* memcpy */
- chTMObjectInit(&mem_tmu);
- chTMStartMeasurementX(&mem_tmu);
- memcpy(dest->start, src->start, len);
- chTMStopMeasurementX(&mem_tmu);
- result->memcpy = speed_bps(&mem_tmu, len);
-
- /* memcmp */
- chTMObjectInit(&mem_tmu);
- chTMStartMeasurementX(&mem_tmu);
- warning_suppressor = memcmp(dest->start, src->start, len);
- chTMStopMeasurementX(&mem_tmu);
- result->memcmp = speed_bps(&mem_tmu, len);
-
- /* memcpy DMA */
- memcpy_dma_start();
- chTMObjectInit(&mem_tmu);
- chTMStartMeasurementX(&mem_tmu);
- memcpy_dma(dest->start, src->start, len);
- chTMStopMeasurementX(&mem_tmu);
- result->memcpy_dma = speed_bps(&mem_tmu, len);
- memcpy_dma_stop();
-}
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h
deleted file mode 100644
index 1169145..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MEMBENCH_H_
-#define MEMBENCH_H_
-
-/*
- *
- */
-typedef struct {
- void *start;
- size_t size;
-} membench_t;
-
-/*
- * all values in B/s
- */
-typedef struct {
- uint32_t memset;
- uint32_t memcpy;
- uint32_t memcpy_dma;
- uint32_t memcmp;
-} membench_result_t;
-
-/*
- *
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
- void membench_run(membench_t *dest, const membench_t *src, membench_result_t *ret);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MEMBENCH_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c
deleted file mode 100644
index 4961c7c..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <string.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#include "memcpy_dma.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-#define STM32_MEMCPY_DMA_PRIORITY 0
-#define STM32_MEMCPY_DMA_STREAM STM32_DMA_STREAM_ID(2, 6)
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-static memcpy_dma_engine_t engine;
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-/*
- *
- */
-void memcpy_dma_start(void) {
- bool b;
-
- engine.dma = STM32_DMA_STREAM(STM32_MEMCPY_DMA_STREAM);
- b = dmaStreamAllocate(engine.dma, STM32_MEMCPY_DMA_PRIORITY, NULL, NULL);
- osalDbgAssert(!b, "stream already allocated");
-}
-
-/*
- *
- */
-void memcpy_dma_stop(void) {
- dmaStreamRelease(engine.dma);
-}
-
-/*
- *
- */
-void memcpy_dma(void *dest, const void *src, size_t size) {
-
- size_t words = size / 4;
- size_t remainder = size % 4;
- size_t max_block = 0xFFFF; /* DMA limitation */
-
- uint32_t cr = STM32_DMA_CR_PSIZE_WORD | STM32_DMA_CR_MSIZE_WORD;
-
- while (words > max_block) {
- dmaStartMemCopy(engine.dma, cr, src, dest, max_block)
- dmaWaitCompletion(engine.dma);
- words -= max_block;
- }
-
- dmaStartMemCopy(engine.dma, cr, src, dest, words)
- dmaWaitCompletion(engine.dma);
-
- if (remainder > 0)
- memcpy(dest+size-remainder, src+size-remainder, remainder);
-}
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h
deleted file mode 100644
index 8d6212c..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MEMCPY_DMA_H_
-#define MEMCPY_DMA_H_
-
-/*
- *
- */
-typedef struct {
- const stm32_dma_stream_t *dma;
-} memcpy_dma_engine_t;
-
-/*
- *
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
- void memcpy_dma_start(void);
- void memcpy_dma_stop(void);
- void memcpy_dma(void *dest, const void *src, size_t size);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MEMCPY_DMA_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.cproject
deleted file mode 100644
index 64d4678..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.cproject
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.1112498294">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1112498294" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.1112498294" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.1112498294." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.444619306" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.444619306.600062866" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.1469303736" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1468019764" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.493977967" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.916424736" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.867308786" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1963638511" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1262253514" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.947519896" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="FSMC_SRAM.null.1769651517" name="FSMC_SRAM"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.1112498294">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="0.1570569554">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.project
deleted file mode 100644
index 38b4c10..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F4xx-FSMC_SRAM</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>os-community</name>
- <type>2</type>
- <locationURI>PARENT-4-PROJECT_LOC/os</locationURI>
- </link>
- <link>
- <name>os-git</name>
- <type>2</type>
- <locationURI>PARENT-5-PROJECT_LOC/ChibiOS-RT/os</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/Makefile
deleted file mode 100644
index c0db393..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/Makefile
+++ /dev/null
@@ -1,224 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti -std=c++11
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F4xx/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/NONSTANDARD_STM32F4_BARTHESS2/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-include $(CHIBIOS)/os/various/cpp_wrappers/chcpp.mk
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/STM32F407xG.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c \
- membench.c \
- memcpy_dma.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC = $(CHCPPSRC) \
- $(CHIBIOS_CONTRIB)/os/various/memtest.cpp
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various/cpp_wrappers \
- $(CHIBIOS)/os/various \
- $(CHIBIOS_CONTRIB)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h
deleted file mode 100644
index 1065821..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h
deleted file mode 100644
index e690d15..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC TRUE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT TRUE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI TRUE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART TRUE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf_community.h
deleted file mode 100644
index 606fed4..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf_community.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC TRUE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/main.c
deleted file mode 100644
index c94bd73..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/main.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#include "hal_fsmc_sram.h"
-#include "membench.h"
-#include "memtest.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-#define SRAM_SIZE (512 * 1024)
-#define SRAM_START ((void *)FSMC_Bank1_4_MAP)
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-
-static void mem_error_cb(memtest_t *memp, testtype type, size_t index,
- size_t width, uint32_t got, uint32_t expect);
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-
-static size_t errors = 0;
-
-/*
- *
- */
-static uint8_t int_buf[64*1024];
-
-/*
- * SRAM driver configuration structure.
- */
-static const SRAMConfig sram_cfg = {
- .bcr = (FSMC_BCR_MWID_16 | FSMC_BCR_MTYP_SRAM | FSMC_BCR_WREN),
- .btr = (0 << 16) | (2 << 8) | (1 << 0),
- .bwtr = (0 << 16) | (2 << 8) | (1 << 0)
-};
-
-/*
- *
- */
-static memtest_t memtest_struct = {
- SRAM_START,
- SRAM_SIZE,
- MEMTEST_WIDTH_32,
- mem_error_cb
-};
-
-/*
- *
- */
-static membench_t membench_ext = {
- SRAM_START,
- SRAM_SIZE,
-};
-
-/*
- *
- */
-static membench_t membench_int = {
- int_buf,
- sizeof(int_buf),
-};
-
-/*
- *
- */
-static membench_result_t membench_result_ext2int;
-static membench_result_t membench_result_int2ext;
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-static inline void red_led_on(void) {palSetPad(GPIOI, GPIOI_LED_R);}
-static inline void red_led_off(void) {palClearPad(GPIOI, GPIOI_LED_R);}
-static inline void green_led_on(void) {palSetPad(GPIOI, GPIOI_LED_G);}
-static inline void green_led_off(void) {palClearPad(GPIOI, GPIOI_LED_G);}
-static inline void green_led_toggle(void) {palTogglePad(GPIOI, GPIOI_LED_G);}
-
-static void mem_error_cb(memtest_t *memp, testtype type, size_t index,
- size_t width, uint32_t got, uint32_t expect) {
- (void)memp;
- (void)type;
- (void)index;
- (void)width;
- (void)got;
- (void)expect;
-
- green_led_off();
- red_led_on();
- osalThreadSleepMilliseconds(10);
- errors++;
- osalSysHalt("Memory broken");
-}
-
-/*
- *
- */
-static void memtest(void) {
-
- red_led_off();
-
- while (true) {
- memtest_run(&memtest_struct, MEMTEST_RUN_ALL);
- green_led_toggle();
- }
-
- green_led_on();
- green_led_off();
-}
-
-/*
- *
- */
-static void membench(void) {
- membench_run(&membench_ext, &membench_int, &membench_result_int2ext);
- membench_run(&membench_int, &membench_ext, &membench_result_ext2int);
-}
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- fsmcSramInit();
- fsmcSramStart(&SRAMD4, &sram_cfg);
-
- membench();
- memtest();
-
- /*
- * Normal main() thread activity, in this demo it does nothing.
- */
- while (TRUE) {
- chThdSleepMilliseconds(500);
- }
-}
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h
deleted file mode 100644
index d2333ba..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * STM32F4xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F4xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_CLOCK48_REQUIRED TRUE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PLLM_VALUE 12
-#define STM32_PLLN_VALUE 336
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 7
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV4
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-#define STM32_RTCPRE_VALUE 8
-#define STM32_MCO1SEL STM32_MCO1SEL_HSI
-#define STM32_MCO1PRE STM32_MCO1PRE_DIV1
-#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK
-#define STM32_MCO2PRE STM32_MCO2PRE_DIV5
-#define STM32_I2SSRC STM32_I2SSRC_CKIN
-#define STM32_PLLI2SN_VALUE 192
-#define STM32_PLLI2SR_VALUE 5
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_BKPRAM_ENABLE FALSE
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV4
-#define STM32_ADC_USE_ADC1 TRUE
-#define STM32_ADC_USE_ADC2 FALSE
-#define STM32_ADC_USE_ADC3 FALSE
-#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
-#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_ADC_ADC1_DMA_PRIORITY 3
-#define STM32_ADC_ADC2_DMA_PRIORITY 2
-#define STM32_ADC_ADC3_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 6
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 6
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_USE_CAN2 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-#define STM32_CAN_CAN2_IRQ_PRIORITY 11
-
-/*
- * DAC driver system settings.
- */
-#define STM32_DAC_DUAL_MODE FALSE
-#define STM32_DAC_USE_DAC1_CH1 FALSE
-#define STM32_DAC_USE_DAC1_CH2 FALSE
-#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI21_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI22_IRQ_PRIORITY 15
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM5 FALSE
-#define STM32_GPT_USE_TIM6 FALSE
-#define STM32_GPT_USE_TIM7 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_USE_TIM9 FALSE
-#define STM32_GPT_USE_TIM11 FALSE
-#define STM32_GPT_USE_TIM12 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM5_IRQ_PRIORITY 7
-#define STM32_GPT_TIM6_IRQ_PRIORITY 7
-#define STM32_GPT_TIM7_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-#define STM32_GPT_TIM9_IRQ_PRIORITY 7
-#define STM32_GPT_TIM11_IRQ_PRIORITY 7
-#define STM32_GPT_TIM12_IRQ_PRIORITY 7
-#define STM32_GPT_TIM14_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_USE_I2C3 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2C_I2C1_IRQ_PRIORITY 5
-#define STM32_I2C_I2C2_IRQ_PRIORITY 5
-#define STM32_I2C_I2C3_IRQ_PRIORITY 5
-#define STM32_I2C_I2C1_DMA_PRIORITY 3
-#define STM32_I2C_I2C2_DMA_PRIORITY 3
-#define STM32_I2C_I2C3_DMA_PRIORITY 3
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * I2S driver system settings.
- */
-#define STM32_I2S_USE_SPI2 FALSE
-#define STM32_I2S_USE_SPI3 FALSE
-#define STM32_I2S_SPI2_IRQ_PRIORITY 10
-#define STM32_I2S_SPI3_IRQ_PRIORITY 10
-#define STM32_I2S_SPI2_DMA_PRIORITY 1
-#define STM32_I2S_SPI3_DMA_PRIORITY 1
-#define STM32_I2S_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_I2S_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2S_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2S_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2S_DMA_ERROR_HOOK(i2sp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_USE_TIM9 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM5_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-#define STM32_ICU_TIM9_IRQ_PRIORITY 7
-
-/*
- * MAC driver system settings.
- */
-#define STM32_MAC_TRANSMIT_BUFFERS 2
-#define STM32_MAC_RECEIVE_BUFFERS 4
-#define STM32_MAC_BUFFERS_SIZE 1522
-#define STM32_MAC_PHY_TIMEOUT 100
-#define STM32_MAC_ETH1_CHANGE_PHY_STATE TRUE
-#define STM32_MAC_ETH1_IRQ_PRIORITY 13
-#define STM32_MAC_IP_CHECKSUM_OFFLOAD 0
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_USE_TIM9 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM5_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-#define STM32_PWM_TIM9_IRQ_PRIORITY 7
-
-/*
- * SDC driver system settings.
- */
-#define STM32_SDC_SDIO_DMA_PRIORITY 3
-#define STM32_SDC_SDIO_IRQ_PRIORITY 9
-#define STM32_SDC_WRITE_TIMEOUT_MS 250
-#define STM32_SDC_READ_TIMEOUT_MS 25
-#define STM32_SDC_CLOCK_ACTIVATION_DELAY 10
-#define STM32_SDC_SDIO_UNALIGNED_SUPPORT TRUE
-#define STM32_SDC_SDIO_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 FALSE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USE_USART6 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-#define STM32_SERIAL_USART6_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 TRUE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
-#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USE_UART4 FALSE
-#define STM32_UART_USE_UART5 FALSE
-#define STM32_UART_USE_USART6 TRUE
-#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
-#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_UART_USART3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
-#define STM32_UART_USART3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_UART_UART4_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_UART_UART4_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_UART_UART5_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 6)
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_UART4_IRQ_PRIORITY 12
-#define STM32_UART_UART5_IRQ_PRIORITY 12
-#define STM32_UART_USART6_IRQ_PRIORITY 6
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_UART4_DMA_PRIORITY 0
-#define STM32_UART_UART5_DMA_PRIORITY 0
-#define STM32_UART_USART6_DMA_PRIORITY 2
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_OTG1 FALSE
-#define STM32_USB_USE_OTG2 FALSE
-#define STM32_USB_OTG1_IRQ_PRIORITY 14
-#define STM32_USB_OTG2_IRQ_PRIORITY 14
-#define STM32_USB_OTG1_RX_FIFO_SIZE 512
-#define STM32_USB_OTG2_RX_FIFO_SIZE 1024
-#define STM32_USB_OTG_THREAD_PRIO LOWPRIO
-#define STM32_USB_OTG_THREAD_STACK_SIZE 128
-#define STM32_USB_OTGFIFO_FILL_BASEPRI 0
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG FALSE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* MCUCONF_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h
deleted file mode 100644
index c439a31..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * FSMC driver system settings.
- */
-#define STM32_FSMC_USE_FSMC1 TRUE
-#define STM32_FSMC_FSMC1_IRQ_PRIORITY 10
-#define STM32_FSMC_DMA_CHN 0x03010201
-
-/*
- * FSMC NAND driver system settings.
- */
-#define STM32_NAND_USE_FSMC_NAND1 FALSE
-#define STM32_NAND_USE_FSMC_NAND2 FALSE
-#define STM32_NAND_USE_EXT_INT FALSE
-#define STM32_NAND_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_NAND_DMA_PRIORITY 0
-#define STM32_NAND_DMA_ERROR_HOOK(nandp) osalSysHalt("DMA failure")
-
-/*
- * FSMC SRAM driver system settings.
- */
-#define STM32_USE_FSMC_SRAM TRUE
-#define STM32_SRAM_USE_FSMC_SRAM1 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM2 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM3 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM4 TRUE
-
-/*
- * FSMC PC card driver system settings.
- */
-#define STM32_USE_FSMC_PCCARD FALSE
-
-/*
- * FSMC SDRAM driver system settings.
- */
-#define STM32_USE_FSMC_SDRAM FALSE
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c
deleted file mode 100644
index 91b9aee..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <string.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#include "membench.h"
-#include "memcpy_dma.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-volatile int warning_suppressor;
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-/*
- * Calculates memory access time in MiB/s.
- */
-double speed_mibps(const time_measurement_t *tmu, size_t len) {
- double size; // MiB
- double time; // sec
-
- size = len;
- size /= 1024 * 1024;
-
- time = tmu->last;
- time /= STM32_SYSCLK;
-
- return size / time;
-}
-
-/*
- * Calculates memory access time in B/s.
- */
-uint32_t speed_bps(const time_measurement_t *tmu, size_t len) {
-
- uint64_t tmp = len;
- tmp *= STM32_SYSCLK;
-
- return tmp / tmu->last;
-}
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/*
- *
- */
-void membench_run(membench_t *dest, const membench_t *src,
- membench_result_t *result) {
- time_measurement_t mem_tmu;
- size_t len;
-
- if (src->size < dest->size)
- len = src->size;
- else
- len = dest->size;
-
- /* memset */
- chTMObjectInit(&mem_tmu);
- chTMStartMeasurementX(&mem_tmu);
- memset(dest->start, 0x55, dest->size);
- chTMStopMeasurementX(&mem_tmu);
- result->memset = speed_bps(&mem_tmu, dest->size);
-
- /* memcpy */
- chTMObjectInit(&mem_tmu);
- chTMStartMeasurementX(&mem_tmu);
- memcpy(dest->start, src->start, len);
- chTMStopMeasurementX(&mem_tmu);
- result->memcpy = speed_bps(&mem_tmu, len);
-
- /* memcmp */
- chTMObjectInit(&mem_tmu);
- chTMStartMeasurementX(&mem_tmu);
- warning_suppressor = memcmp(dest->start, src->start, len);
- chTMStopMeasurementX(&mem_tmu);
- result->memcmp = speed_bps(&mem_tmu, len);
-
- /* memcpy DMA */
- memcpy_dma_start();
- chTMObjectInit(&mem_tmu);
- chTMStartMeasurementX(&mem_tmu);
- memcpy_dma(dest->start, src->start, len);
- chTMStopMeasurementX(&mem_tmu);
- result->memcpy_dma = speed_bps(&mem_tmu, len);
- memcpy_dma_stop();
-}
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h
deleted file mode 100644
index 1169145..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MEMBENCH_H_
-#define MEMBENCH_H_
-
-/*
- *
- */
-typedef struct {
- void *start;
- size_t size;
-} membench_t;
-
-/*
- * all values in B/s
- */
-typedef struct {
- uint32_t memset;
- uint32_t memcpy;
- uint32_t memcpy_dma;
- uint32_t memcmp;
-} membench_result_t;
-
-/*
- *
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
- void membench_run(membench_t *dest, const membench_t *src, membench_result_t *ret);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MEMBENCH_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c
deleted file mode 100644
index 4961c7c..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <string.h>
-
-#include "ch.h"
-#include "hal.h"
-
-#include "memcpy_dma.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-#define STM32_MEMCPY_DMA_PRIORITY 0
-#define STM32_MEMCPY_DMA_STREAM STM32_DMA_STREAM_ID(2, 6)
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-static memcpy_dma_engine_t engine;
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-/*
- *
- */
-void memcpy_dma_start(void) {
- bool b;
-
- engine.dma = STM32_DMA_STREAM(STM32_MEMCPY_DMA_STREAM);
- b = dmaStreamAllocate(engine.dma, STM32_MEMCPY_DMA_PRIORITY, NULL, NULL);
- osalDbgAssert(!b, "stream already allocated");
-}
-
-/*
- *
- */
-void memcpy_dma_stop(void) {
- dmaStreamRelease(engine.dma);
-}
-
-/*
- *
- */
-void memcpy_dma(void *dest, const void *src, size_t size) {
-
- size_t words = size / 4;
- size_t remainder = size % 4;
- size_t max_block = 0xFFFF; /* DMA limitation */
-
- uint32_t cr = STM32_DMA_CR_PSIZE_WORD | STM32_DMA_CR_MSIZE_WORD;
-
- while (words > max_block) {
- dmaStartMemCopy(engine.dma, cr, src, dest, max_block)
- dmaWaitCompletion(engine.dma);
- words -= max_block;
- }
-
- dmaStartMemCopy(engine.dma, cr, src, dest, words)
- dmaWaitCompletion(engine.dma);
-
- if (remainder > 0)
- memcpy(dest+size-remainder, src+size-remainder, remainder);
-}
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h
deleted file mode 100644
index 8d6212c..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2013-2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MEMCPY_DMA_H_
-#define MEMCPY_DMA_H_
-
-/*
- *
- */
-typedef struct {
- const stm32_dma_stream_t *dma;
-} memcpy_dma_engine_t;
-
-/*
- *
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
- void memcpy_dma_start(void);
- void memcpy_dma_stop(void);
- void memcpy_dma(void *dest, const void *src, size_t size);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MEMCPY_DMA_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.cproject
deleted file mode 100644
index 4b2c0cd..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.cproject
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.1003150841">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1003150841" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.1003150841" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.1003150841." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.748316353" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.748316353.81353447" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.1044649944" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.883535580" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.97391908" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.133315636" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1219834036" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.102572797" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1804605315" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1871558460" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="STM32F4xx-USB_HOST.null.1232072164" name="STM32F4xx-USB_HOST"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.1003150841">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.project
deleted file mode 100644
index 8b3c1a2..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F4xx-USB_HOST</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/Makefile
deleted file mode 100644
index 4946cba..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/Makefile
+++ /dev/null
@@ -1,226 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -Os -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x800
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x800
-endif
-
-# Enables the use of FPU (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F4xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-include $(CHIBIOS)/test/rt/test.mk
-include $(CHIBIOS)/os/hal/lib/streams/streams.mk
-include $(CHIBIOS)/os/various/shell/shell.mk
-include $(CHIBIOS)/os/various/fatfs_bindings/fatfs.mk
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/STM32F407xG.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(FATFSSRC) \
- $(STREAMSSRC) \
- $(SHELLSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(STREAMSINC) $(SHELLINC) $(FATFSINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra -Wundef
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/chconf.h
deleted file mode 100644
index 449cb3d..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/chconf.h
+++ /dev/null
@@ -1,522 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK TRUE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS TRUE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS TRUE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK TRUE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS TRUE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
- void usbDbgSystemHalted(void); \
- usbDbgSystemHalted(); \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/diskio.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/diskio.h
deleted file mode 100644
index 9650f68..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/diskio.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*-----------------------------------------------------------------------/
-/ Low level disk interface modlue include file (C)ChaN, 2014 /
-/-----------------------------------------------------------------------*/
-
-#ifndef _DISKIO_DEFINED
-#define _DISKIO_DEFINED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define _USE_WRITE 1 /* 1: Enable disk_write function */
-#define _USE_IOCTL 1 /* 1: Enable disk_ioctl fucntion */
-
-#include "integer.h"
-
-
-/* Status of Disk Functions */
-typedef BYTE DSTATUS;
-
-/* Results of Disk Functions */
-typedef enum {
- RES_OK = 0, /* 0: Successful */
- RES_ERROR, /* 1: R/W Error */
- RES_WRPRT, /* 2: Write Protected */
- RES_NOTRDY, /* 3: Not Ready */
- RES_PARERR /* 4: Invalid Parameter */
-} DRESULT;
-
-
-/*---------------------------------------*/
-/* Prototypes for disk control functions */
-
-
-DSTATUS disk_initialize (BYTE pdrv);
-DSTATUS disk_status (BYTE pdrv);
-DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count);
-DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count);
-DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff);
-
-
-/* Disk Status Bits (DSTATUS) */
-
-#define STA_NOINIT 0x01 /* Drive not initialized */
-#define STA_NODISK 0x02 /* No medium in the drive */
-#define STA_PROTECT 0x04 /* Write protected */
-
-
-/* Command code for disk_ioctrl fucntion */
-
-/* Generic command (Used by FatFs) */
-#define CTRL_SYNC 0 /* Complete pending write process (needed at _FS_READONLY == 0) */
-#define GET_SECTOR_COUNT 1 /* Get media size (needed at _USE_MKFS == 1) */
-#define GET_SECTOR_SIZE 2 /* Get sector size (needed at _MAX_SS != _MIN_SS) */
-#define GET_BLOCK_SIZE 3 /* Get erase block size (needed at _USE_MKFS == 1) */
-#define CTRL_TRIM 4 /* Inform device that the data on the block of sectors is no longer used (needed at _USE_TRIM == 1) */
-
-/* Generic command (Not used by FatFs) */
-#define CTRL_POWER 5 /* Get/Set power status */
-#define CTRL_LOCK 6 /* Lock/Unlock media removal */
-#define CTRL_EJECT 7 /* Eject media */
-#define CTRL_FORMAT 8 /* Create physical format on the media */
-
-/* MMC/SDC specific ioctl command */
-#define MMC_GET_TYPE 10 /* Get card type */
-#define MMC_GET_CSD 11 /* Get CSD */
-#define MMC_GET_CID 12 /* Get CID */
-#define MMC_GET_OCR 13 /* Get OCR */
-#define MMC_GET_SDSTAT 14 /* Get SD status */
-
-/* ATA/CF specific ioctl command */
-#define ATA_GET_REV 20 /* Get F/W revision */
-#define ATA_GET_MODEL 21 /* Get model name */
-#define ATA_GET_SN 22 /* Get serial number */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/fatfs_diskio.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/fatfs_diskio.c
deleted file mode 100644
index 98a7edf..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/fatfs_diskio.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*-----------------------------------------------------------------------*/
-/* Low level disk I/O module skeleton for FatFs (C)ChaN, 2007 */
-/*-----------------------------------------------------------------------*/
-/* This is a stub disk I/O module that acts as front end of the existing */
-/* disk I/O modules and attach it to FatFs module with common interface. */
-/*-----------------------------------------------------------------------*/
-
-#include "hal.h"
-#include "ffconf.h"
-#include "diskio.h"
-
-#include "usbh.h"
-#include "usbh/dev/msd.h"
-
-/*-----------------------------------------------------------------------*/
-/* Correspondence between physical drive number and physical drive. */
-#define MSDLUN0 0
-
-/*-----------------------------------------------------------------------*/
-/* Inidialize a Drive */
-
-DSTATUS disk_initialize (
- BYTE pdrv /* Physical drive nmuber (0..) */
-)
-{
- DSTATUS stat;
-
- switch (pdrv) {
- case MSDLUN0:
- stat = 0;
- /* It is initialized externally, just reads the status.*/
- if (blkGetDriverState(&MSBLKD[0]) != BLK_READY)
- stat |= STA_NOINIT;
- return stat;
- }
- return STA_NOINIT;
-}
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Return Disk Status */
-
-DSTATUS disk_status (
- BYTE pdrv /* Physical drive nmuber (0..) */
-)
-{
- DSTATUS stat;
-
- switch (pdrv) {
- case MSDLUN0:
- stat = 0;
- /* It is initialized externally, just reads the status.*/
- if (blkGetDriverState(&MSBLKD[0]) != BLK_READY)
- stat |= STA_NOINIT;
- return stat;
- }
- return STA_NOINIT;
-}
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Read Sector(s) */
-
-DRESULT disk_read (
- BYTE pdrv, /* Physical drive nmuber (0..) */
- BYTE *buff, /* Data buffer to store read data */
- DWORD sector, /* Sector address (LBA) */
- UINT count /* Number of sectors to read (1..255) */
-)
-{
- switch (pdrv) {
- case MSDLUN0:
- /* It is initialized externally, just reads the status.*/
- if (blkGetDriverState(&MSBLKD[0]) != BLK_READY)
- return RES_NOTRDY;
- if (usbhmsdLUNRead(&MSBLKD[0], sector, buff, count))
- return RES_ERROR;
- return RES_OK;
- }
- return RES_PARERR;
-}
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Write Sector(s) */
-
-#if _USE_WRITE
-DRESULT disk_write (
- BYTE pdrv, /* Physical drive nmuber (0..) */
- const BYTE *buff, /* Data to be written */
- DWORD sector, /* Sector address (LBA) */
- UINT count /* Number of sectors to write (1..255) */
-)
-{
- switch (pdrv) {
- case MSDLUN0:
- /* It is initialized externally, just reads the status.*/
- if (blkGetDriverState(&MSBLKD[0]) != BLK_READY)
- return RES_NOTRDY;
- if (usbhmsdLUNWrite(&MSBLKD[0], sector, buff, count))
- return RES_ERROR;
- return RES_OK;
- }
- return RES_PARERR;
-}
-#endif /* _USE_WRITE */
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Miscellaneous Functions */
-
-#if _USE_IOCTL
-DRESULT disk_ioctl (
- BYTE pdrv, /* Physical drive nmuber (0..) */
- BYTE cmd, /* Control code */
- void *buff /* Buffer to send/receive control data */
-)
-{
- switch (pdrv) {
- case MSDLUN0:
- switch (cmd) {
- case CTRL_SYNC:
- return RES_OK;
- case GET_SECTOR_COUNT:
- *((DWORD *)buff) = MSBLKD[0].info.blk_num;
- return RES_OK;
- case GET_SECTOR_SIZE:
- *((WORD *)buff) = MSBLKD[0].info.blk_size;
- return RES_OK;
- default:
- return RES_PARERR;
- }
- }
- return RES_PARERR;
-}
-#endif /* _USE_IOCTL */
-
-DWORD get_fattime(void) {
- return ((uint32_t)0 | (1 << 16)) | (1 << 21); /* wrong but valid time */
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.c
deleted file mode 100644
index 45e20ce..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.c
+++ /dev/null
@@ -1,4611 +0,0 @@
-/*----------------------------------------------------------------------------/
-/ FatFs - FAT file system module R0.10c (C)ChaN, 2014
-/-----------------------------------------------------------------------------/
-/ FatFs module is a generic FAT file system module for small embedded systems.
-/ This is a free software that opened for education, research and commercial
-/ developments under license policy of following terms.
-/
-/ Copyright (C) 2014, ChaN, all right reserved.
-/
-/ * The FatFs module is a free software and there is NO WARRANTY.
-/ * No restriction on use. You can use, modify and redistribute it for
-/ personal, non-profit or commercial products UNDER YOUR RESPONSIBILITY.
-/ * Redistributions of source code must retain the above copyright notice.
-/
-/-----------------------------------------------------------------------------/
-/ Feb 26,'06 R0.00 Prototype.
-/
-/ Apr 29,'06 R0.01 First stable version.
-/
-/ Jun 01,'06 R0.02 Added FAT12 support.
-/ Removed unbuffered mode.
-/ Fixed a problem on small (<32M) partition.
-/ Jun 10,'06 R0.02a Added a configuration option (_FS_MINIMUM).
-/
-/ Sep 22,'06 R0.03 Added f_rename().
-/ Changed option _FS_MINIMUM to _FS_MINIMIZE.
-/ Dec 11,'06 R0.03a Improved cluster scan algorithm to write files fast.
-/ Fixed f_mkdir() creates incorrect directory on FAT32.
-/
-/ Feb 04,'07 R0.04 Supported multiple drive system.
-/ Changed some interfaces for multiple drive system.
-/ Changed f_mountdrv() to f_mount().
-/ Added f_mkfs().
-/ Apr 01,'07 R0.04a Supported multiple partitions on a physical drive.
-/ Added a capability of extending file size to f_lseek().
-/ Added minimization level 3.
-/ Fixed an endian sensitive code in f_mkfs().
-/ May 05,'07 R0.04b Added a configuration option _USE_NTFLAG.
-/ Added FSINFO support.
-/ Fixed DBCS name can result FR_INVALID_NAME.
-/ Fixed short seek (<= csize) collapses the file object.
-/
-/ Aug 25,'07 R0.05 Changed arguments of f_read(), f_write() and f_mkfs().
-/ Fixed f_mkfs() on FAT32 creates incorrect FSINFO.
-/ Fixed f_mkdir() on FAT32 creates incorrect directory.
-/ Feb 03,'08 R0.05a Added f_truncate() and f_utime().
-/ Fixed off by one error at FAT sub-type determination.
-/ Fixed btr in f_read() can be mistruncated.
-/ Fixed cached sector is not flushed when create and close without write.
-/
-/ Apr 01,'08 R0.06 Added fputc(), fputs(), fprintf() and fgets().
-/ Improved performance of f_lseek() on moving to the same or following cluster.
-/
-/ Apr 01,'09 R0.07 Merged Tiny-FatFs as a configuration option. (_FS_TINY)
-/ Added long file name feature.
-/ Added multiple code page feature.
-/ Added re-entrancy for multitask operation.
-/ Added auto cluster size selection to f_mkfs().
-/ Added rewind option to f_readdir().
-/ Changed result code of critical errors.
-/ Renamed string functions to avoid name collision.
-/ Apr 14,'09 R0.07a Separated out OS dependent code on reentrant cfg.
-/ Added multiple sector size feature.
-/ Jun 21,'09 R0.07c Fixed f_unlink() can return FR_OK on error.
-/ Fixed wrong cache control in f_lseek().
-/ Added relative path feature.
-/ Added f_chdir() and f_chdrive().
-/ Added proper case conversion to extended character.
-/ Nov 03,'09 R0.07e Separated out configuration options from ff.h to ffconf.h.
-/ Fixed f_unlink() fails to remove a sub-directory on _FS_RPATH.
-/ Fixed name matching error on the 13 character boundary.
-/ Added a configuration option, _LFN_UNICODE.
-/ Changed f_readdir() to return the SFN with always upper case on non-LFN cfg.
-/
-/ May 15,'10 R0.08 Added a memory configuration option. (_USE_LFN = 3)
-/ Added file lock feature. (_FS_SHARE)
-/ Added fast seek feature. (_USE_FASTSEEK)
-/ Changed some types on the API, XCHAR->TCHAR.
-/ Changed .fname in the FILINFO structure on Unicode cfg.
-/ String functions support UTF-8 encoding files on Unicode cfg.
-/ Aug 16,'10 R0.08a Added f_getcwd().
-/ Added sector erase feature. (_USE_ERASE)
-/ Moved file lock semaphore table from fs object to the bss.
-/ Fixed a wrong directory entry is created on non-LFN cfg when the given name contains ';'.
-/ Fixed f_mkfs() creates wrong FAT32 volume.
-/ Jan 15,'11 R0.08b Fast seek feature is also applied to f_read() and f_write().
-/ f_lseek() reports required table size on creating CLMP.
-/ Extended format syntax of f_printf().
-/ Ignores duplicated directory separators in given path name.
-/
-/ Sep 06,'11 R0.09 f_mkfs() supports multiple partition to complete the multiple partition feature.
-/ Added f_fdisk().
-/ Aug 27,'12 R0.09a Changed f_open() and f_opendir() reject null object pointer to avoid crash.
-/ Changed option name _FS_SHARE to _FS_LOCK.
-/ Fixed assertion failure due to OS/2 EA on FAT12/16 volume.
-/ Jan 24,'13 R0.09b Added f_setlabel() and f_getlabel().
-/
-/ Oct 02,'13 R0.10 Added selection of character encoding on the file. (_STRF_ENCODE)
-/ Added f_closedir().
-/ Added forced full FAT scan for f_getfree(). (_FS_NOFSINFO)
-/ Added forced mount feature with changes of f_mount().
-/ Improved behavior of volume auto detection.
-/ Improved write throughput of f_puts() and f_printf().
-/ Changed argument of f_chdrive(), f_mkfs(), disk_read() and disk_write().
-/ Fixed f_write() can be truncated when the file size is close to 4GB.
-/ Fixed f_open(), f_mkdir() and f_setlabel() can return incorrect error code.
-/ Jan 15,'14 R0.10a Added arbitrary strings as drive number in the path name. (_STR_VOLUME_ID)
-/ Added a configuration option of minimum sector size. (_MIN_SS)
-/ 2nd argument of f_rename() can have a drive number and it will be ignored.
-/ Fixed f_mount() with forced mount fails when drive number is >= 1.
-/ Fixed f_close() invalidates the file object without volume lock.
-/ Fixed f_closedir() returns but the volume lock is left acquired.
-/ Fixed creation of an entry with LFN fails on too many SFN collisions.
-/ May 19,'14 R0.10b Fixed a hard error in the disk I/O layer can collapse the directory entry.
-/ Fixed LFN entry is not deleted on delete/rename an object with lossy converted SFN.
-/ Nov 09,'14 R0.10c Added a configuration option for the platforms without RTC. (_FS_NORTC)
-/ Fixed volume label created by Mac OS X cannot be retrieved with f_getlabel().
-/ Fixed a potential problem of FAT access that can appear on disk error.
-/ Fixed null pointer dereference on attempting to delete the root direcotry.
-/---------------------------------------------------------------------------*/
-
-#include "ff.h" /* Declarations of FatFs API */
-#include "diskio.h" /* Declarations of disk I/O functions */
-
-
-
-
-/*--------------------------------------------------------------------------
-
- Module Private Definitions
-
----------------------------------------------------------------------------*/
-
-#if _FATFS != 80376 /* Revision ID */
-#error Wrong include file (ff.h).
-#endif
-
-
-/* Reentrancy related */
-#if _FS_REENTRANT
-#if _USE_LFN == 1
-#error Static LFN work area cannot be used at thread-safe configuration
-#endif
-#define ENTER_FF(fs) { if (!lock_fs(fs)) return FR_TIMEOUT; }
-#define LEAVE_FF(fs, res) { unlock_fs(fs, res); return res; }
-#else
-#define ENTER_FF(fs)
-#define LEAVE_FF(fs, res) return res
-#endif
-
-#define ABORT(fs, res) { fp->err = (BYTE)(res); LEAVE_FF(fs, res); }
-
-
-/* Definitions of sector size */
-#if (_MAX_SS < _MIN_SS) || (_MAX_SS != 512 && _MAX_SS != 1024 && _MAX_SS != 2048 && _MAX_SS != 4096) || (_MIN_SS != 512 && _MIN_SS != 1024 && _MIN_SS != 2048 && _MIN_SS != 4096)
-#error Wrong sector size configuration
-#endif
-#if _MAX_SS == _MIN_SS
-#define SS(fs) ((UINT)_MAX_SS) /* Fixed sector size */
-#else
-#define SS(fs) ((fs)->ssize) /* Variable sector size */
-#endif
-
-
-/* Timestamp feature */
-#if _FS_NORTC == 1
-#if _NORTC_YEAR < 1980 || _NORTC_YEAR > 2107 || _NORTC_MON < 1 || _NORTC_MON > 12 || _NORTC_MDAY < 1 || _NORTC_MDAY > 31
-#error Invalid _FS_NORTC settings
-#endif
-#define GET_FATTIME() ((DWORD)(_NORTC_YEAR - 1980) << 25 | (DWORD)_NORTC_MON << 21 | (DWORD)_NORTC_MDAY << 16)
-#else
-#define GET_FATTIME() get_fattime()
-#endif
-
-
-/* File access control feature */
-#if _FS_LOCK
-#if _FS_READONLY
-#error _FS_LOCK must be 0 at read-only configuration
-#endif
-typedef struct {
- FATFS *fs; /* Object ID 1, volume (NULL:blank entry) */
- DWORD clu; /* Object ID 2, directory (0:root) */
- WORD idx; /* Object ID 3, directory index */
- WORD ctr; /* Object open counter, 0:none, 0x01..0xFF:read mode open count, 0x100:write mode */
-} FILESEM;
-#endif
-
-
-
-/* DBCS code ranges and SBCS extend character conversion table */
-
-#if _CODE_PAGE == 932 /* Japanese Shift-JIS */
-#define _DF1S 0x81 /* DBC 1st byte range 1 start */
-#define _DF1E 0x9F /* DBC 1st byte range 1 end */
-#define _DF2S 0xE0 /* DBC 1st byte range 2 start */
-#define _DF2E 0xFC /* DBC 1st byte range 2 end */
-#define _DS1S 0x40 /* DBC 2nd byte range 1 start */
-#define _DS1E 0x7E /* DBC 2nd byte range 1 end */
-#define _DS2S 0x80 /* DBC 2nd byte range 2 start */
-#define _DS2E 0xFC /* DBC 2nd byte range 2 end */
-
-#elif _CODE_PAGE == 936 /* Simplified Chinese GBK */
-#define _DF1S 0x81
-#define _DF1E 0xFE
-#define _DS1S 0x40
-#define _DS1E 0x7E
-#define _DS2S 0x80
-#define _DS2E 0xFE
-
-#elif _CODE_PAGE == 949 /* Korean */
-#define _DF1S 0x81
-#define _DF1E 0xFE
-#define _DS1S 0x41
-#define _DS1E 0x5A
-#define _DS2S 0x61
-#define _DS2E 0x7A
-#define _DS3S 0x81
-#define _DS3E 0xFE
-
-#elif _CODE_PAGE == 950 /* Traditional Chinese Big5 */
-#define _DF1S 0x81
-#define _DF1E 0xFE
-#define _DS1S 0x40
-#define _DS1E 0x7E
-#define _DS2S 0xA1
-#define _DS2E 0xFE
-
-#elif _CODE_PAGE == 437 /* U.S. (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x9A,0x90,0x41,0x8E,0x41,0x8F,0x80,0x45,0x45,0x45,0x49,0x49,0x49,0x8E,0x8F,0x90,0x92,0x92,0x4F,0x99,0x4F,0x55,0x55,0x59,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \
- 0x41,0x49,0x4F,0x55,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0x21,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 720 /* Arabic (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x45,0x41,0x84,0x41,0x86,0x43,0x45,0x45,0x45,0x49,0x49,0x8D,0x8E,0x8F,0x90,0x92,0x92,0x93,0x94,0x95,0x49,0x49,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \
- 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 737 /* Greek (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x92,0x92,0x93,0x94,0x95,0x96,0x97,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, \
- 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0xAA,0x92,0x93,0x94,0x95,0x96,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0x97,0xEA,0xEB,0xEC,0xE4,0xED,0xEE,0xE7,0xE8,0xF1,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 775 /* Baltic (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x9A,0x91,0xA0,0x8E,0x95,0x8F,0x80,0xAD,0xED,0x8A,0x8A,0xA1,0x8D,0x8E,0x8F,0x90,0x92,0x92,0xE2,0x99,0x95,0x96,0x97,0x97,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9F, \
- 0xA0,0xA1,0xE0,0xA3,0xA3,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xB5,0xB6,0xB7,0xB8,0xBD,0xBE,0xC6,0xC7,0xA5,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE5,0xE5,0xE6,0xE3,0xE8,0xE8,0xEA,0xEA,0xEE,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 850 /* Multilingual Latin 1 (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x9A,0x90,0xB6,0x8E,0xB7,0x8F,0x80,0xD2,0xD3,0xD4,0xD8,0xD7,0xDE,0x8E,0x8F,0x90,0x92,0x92,0xE2,0x99,0xE3,0xEA,0xEB,0x59,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9F, \
- 0xB5,0xD6,0xE0,0xE9,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0x21,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC7,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE5,0xE5,0xE6,0xE7,0xE7,0xE9,0xEA,0xEB,0xED,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 852 /* Latin 2 (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x9A,0x90,0xB6,0x8E,0xDE,0x8F,0x80,0x9D,0xD3,0x8A,0x8A,0xD7,0x8D,0x8E,0x8F,0x90,0x91,0x91,0xE2,0x99,0x95,0x95,0x97,0x97,0x99,0x9A,0x9B,0x9B,0x9D,0x9E,0x9F, \
- 0xB5,0xD6,0xE0,0xE9,0xA4,0xA4,0xA6,0xA6,0xA8,0xA8,0xAA,0x8D,0xAC,0xB8,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBD,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC6,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD1,0xD1,0xD2,0xD3,0xD2,0xD5,0xD6,0xD7,0xB7,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE3,0xD5,0xE6,0xE6,0xE8,0xE9,0xE8,0xEB,0xED,0xED,0xDD,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xEB,0xFC,0xFC,0xFE,0xFF}
-
-#elif _CODE_PAGE == 855 /* Cyrillic (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x81,0x81,0x83,0x83,0x85,0x85,0x87,0x87,0x89,0x89,0x8B,0x8B,0x8D,0x8D,0x8F,0x8F,0x91,0x91,0x93,0x93,0x95,0x95,0x97,0x97,0x99,0x99,0x9B,0x9B,0x9D,0x9D,0x9F,0x9F, \
- 0xA1,0xA1,0xA3,0xA3,0xA5,0xA5,0xA7,0xA7,0xA9,0xA9,0xAB,0xAB,0xAD,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB6,0xB6,0xB8,0xB8,0xB9,0xBA,0xBB,0xBC,0xBE,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC7,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD1,0xD1,0xD3,0xD3,0xD5,0xD5,0xD7,0xD7,0xDD,0xD9,0xDA,0xDB,0xDC,0xDD,0xE0,0xDF, \
- 0xE0,0xE2,0xE2,0xE4,0xE4,0xE6,0xE6,0xE8,0xE8,0xEA,0xEA,0xEC,0xEC,0xEE,0xEE,0xEF,0xF0,0xF2,0xF2,0xF4,0xF4,0xF6,0xF6,0xF8,0xF8,0xFA,0xFA,0xFC,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 857 /* Turkish (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x9A,0x90,0xB6,0x8E,0xB7,0x8F,0x80,0xD2,0xD3,0xD4,0xD8,0xD7,0x98,0x8E,0x8F,0x90,0x92,0x92,0xE2,0x99,0xE3,0xEA,0xEB,0x98,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9E, \
- 0xB5,0xD6,0xE0,0xE9,0xA5,0xA5,0xA6,0xA6,0xA8,0xA9,0xAA,0xAB,0xAC,0x21,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC7,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE5,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xDE,0x59,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 858 /* Multilingual Latin 1 + Euro (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x9A,0x90,0xB6,0x8E,0xB7,0x8F,0x80,0xD2,0xD3,0xD4,0xD8,0xD7,0xDE,0x8E,0x8F,0x90,0x92,0x92,0xE2,0x99,0xE3,0xEA,0xEB,0x59,0x99,0x9A,0x9D,0x9C,0x9D,0x9E,0x9F, \
- 0xB5,0xD6,0xE0,0xE9,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0x21,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC7,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD1,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE5,0xE5,0xE6,0xE7,0xE7,0xE9,0xEA,0xEB,0xED,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 862 /* Hebrew (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \
- 0x41,0x49,0x4F,0x55,0xA5,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0x21,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 866 /* Russian (OEM) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0x90,0x91,0x92,0x93,0x9d,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,0xF0,0xF0,0xF2,0xF2,0xF4,0xF4,0xF6,0xF6,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 874 /* Thai (OEM, Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \
- 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 1250 /* Central Europe (Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x8A,0x9B,0x8C,0x8D,0x8E,0x8F, \
- 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xA3,0xB4,0xB5,0xB6,0xB7,0xB8,0xA5,0xAA,0xBB,0xBC,0xBD,0xBC,0xAF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xF7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xFF}
-
-#elif _CODE_PAGE == 1251 /* Cyrillic (Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x82,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x80,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x8A,0x9B,0x8C,0x8D,0x8E,0x8F, \
- 0xA0,0xA2,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB2,0xA5,0xB5,0xB6,0xB7,0xA8,0xB9,0xAA,0xBB,0xA3,0xBD,0xBD,0xAF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF}
-
-#elif _CODE_PAGE == 1252 /* Latin 1 (Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0xAd,0x9B,0x8C,0x9D,0xAE,0x9F, \
- 0xA0,0x21,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xF7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0x9F}
-
-#elif _CODE_PAGE == 1253 /* Greek (Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \
- 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xA2,0xB8,0xB9,0xBA, \
- 0xE0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xF2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xFB,0xBC,0xFD,0xBF,0xFF}
-
-#elif _CODE_PAGE == 1254 /* Turkish (Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x8A,0x9B,0x8C,0x9D,0x9E,0x9F, \
- 0xA0,0x21,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xF7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0x9F}
-
-#elif _CODE_PAGE == 1255 /* Hebrew (Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \
- 0xA0,0x21,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xE0,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xEB,0xEC,0xED,0xEE,0xEF,0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 1256 /* Arabic (Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x8C,0x9D,0x9E,0x9F, \
- 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0x41,0xE1,0x41,0xE3,0xE4,0xE5,0xE6,0x43,0x45,0x45,0x45,0x45,0xEC,0xED,0x49,0x49,0xF0,0xF1,0xF2,0xF3,0x4F,0xF5,0xF6,0xF7,0xF8,0x55,0xFA,0x55,0x55,0xFD,0xFE,0xFF}
-
-#elif _CODE_PAGE == 1257 /* Baltic (Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F, \
- 0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xA8,0xB9,0xAA,0xBB,0xBC,0xBD,0xBE,0xAF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xF7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xFF}
-
-#elif _CODE_PAGE == 1258 /* Vietnam (OEM, Windows) */
-#define _DF1S 0
-#define _EXCVT {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0xAC,0x9D,0x9E,0x9F, \
- 0xA0,0x21,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,0xD0,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF, \
- 0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xEC,0xCD,0xCE,0xCF,0xD0,0xD1,0xF2,0xD3,0xD4,0xD5,0xD6,0xF7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xFE,0x9F}
-
-#elif _CODE_PAGE == 1 /* ASCII (for only non-LFN cfg) */
-#if _USE_LFN
-#error Cannot use LFN feature without valid code page.
-#endif
-#define _DF1S 0
-
-#else
-#error Unknown code page
-
-#endif
-
-
-/* Character code support macros */
-#define IsUpper(c) (((c)>='A')&&((c)<='Z'))
-#define IsLower(c) (((c)>='a')&&((c)<='z'))
-#define IsDigit(c) (((c)>='0')&&((c)<='9'))
-
-#if _DF1S /* Code page is DBCS */
-
-#ifdef _DF2S /* Two 1st byte areas */
-#define IsDBCS1(c) (((BYTE)(c) >= _DF1S && (BYTE)(c) <= _DF1E) || ((BYTE)(c) >= _DF2S && (BYTE)(c) <= _DF2E))
-#else /* One 1st byte area */
-#define IsDBCS1(c) ((BYTE)(c) >= _DF1S && (BYTE)(c) <= _DF1E)
-#endif
-
-#ifdef _DS3S /* Three 2nd byte areas */
-#define IsDBCS2(c) (((BYTE)(c) >= _DS1S && (BYTE)(c) <= _DS1E) || ((BYTE)(c) >= _DS2S && (BYTE)(c) <= _DS2E) || ((BYTE)(c) >= _DS3S && (BYTE)(c) <= _DS3E))
-#else /* Two 2nd byte areas */
-#define IsDBCS2(c) (((BYTE)(c) >= _DS1S && (BYTE)(c) <= _DS1E) || ((BYTE)(c) >= _DS2S && (BYTE)(c) <= _DS2E))
-#endif
-
-#else /* Code page is SBCS */
-
-#define IsDBCS1(c) 0
-#define IsDBCS2(c) 0
-
-#endif /* _DF1S */
-
-
-/* Name status flags */
-#define NSFLAG 11 /* Index of name status byte in fn[] */
-#define NS_LOSS 0x01 /* Out of 8.3 format */
-#define NS_LFN 0x02 /* Force to create LFN entry */
-#define NS_LAST 0x04 /* Last segment */
-#define NS_BODY 0x08 /* Lower case flag (body) */
-#define NS_EXT 0x10 /* Lower case flag (ext) */
-#define NS_DOT 0x20 /* Dot entry */
-
-
-/* FAT sub-type boundaries (Differ from specs but correct for real DOS/Windows) */
-#define MIN_FAT16 4086U /* Minimum number of clusters as FAT16 */
-#define MIN_FAT32 65526U /* Minimum number of clusters as FAT32 */
-
-
-/* FatFs refers the members in the FAT structures as byte array instead of
-/ structure member because the structure is not binary compatible between
-/ different platforms */
-
-#define BS_jmpBoot 0 /* x86 jump instruction (3) */
-#define BS_OEMName 3 /* OEM name (8) */
-#define BPB_BytsPerSec 11 /* Sector size [byte] (2) */
-#define BPB_SecPerClus 13 /* Cluster size [sector] (1) */
-#define BPB_RsvdSecCnt 14 /* Size of reserved area [sector] (2) */
-#define BPB_NumFATs 16 /* Number of FAT copies (1) */
-#define BPB_RootEntCnt 17 /* Number of root directory entries for FAT12/16 (2) */
-#define BPB_TotSec16 19 /* Volume size [sector] (2) */
-#define BPB_Media 21 /* Media descriptor (1) */
-#define BPB_FATSz16 22 /* FAT size [sector] (2) */
-#define BPB_SecPerTrk 24 /* Track size [sector] (2) */
-#define BPB_NumHeads 26 /* Number of heads (2) */
-#define BPB_HiddSec 28 /* Number of special hidden sectors (4) */
-#define BPB_TotSec32 32 /* Volume size [sector] (4) */
-#define BS_DrvNum 36 /* Physical drive number (2) */
-#define BS_BootSig 38 /* Extended boot signature (1) */
-#define BS_VolID 39 /* Volume serial number (4) */
-#define BS_VolLab 43 /* Volume label (8) */
-#define BS_FilSysType 54 /* File system type (1) */
-#define BPB_FATSz32 36 /* FAT size [sector] (4) */
-#define BPB_ExtFlags 40 /* Extended flags (2) */
-#define BPB_FSVer 42 /* File system version (2) */
-#define BPB_RootClus 44 /* Root directory first cluster (4) */
-#define BPB_FSInfo 48 /* Offset of FSINFO sector (2) */
-#define BPB_BkBootSec 50 /* Offset of backup boot sector (2) */
-#define BS_DrvNum32 64 /* Physical drive number (2) */
-#define BS_BootSig32 66 /* Extended boot signature (1) */
-#define BS_VolID32 67 /* Volume serial number (4) */
-#define BS_VolLab32 71 /* Volume label (8) */
-#define BS_FilSysType32 82 /* File system type (1) */
-#define FSI_LeadSig 0 /* FSI: Leading signature (4) */
-#define FSI_StrucSig 484 /* FSI: Structure signature (4) */
-#define FSI_Free_Count 488 /* FSI: Number of free clusters (4) */
-#define FSI_Nxt_Free 492 /* FSI: Last allocated cluster (4) */
-#define MBR_Table 446 /* MBR: Partition table offset (2) */
-#define SZ_PTE 16 /* MBR: Size of a partition table entry */
-#define BS_55AA 510 /* Signature word (2) */
-
-#define DIR_Name 0 /* Short file name (11) */
-#define DIR_Attr 11 /* Attribute (1) */
-#define DIR_NTres 12 /* NT flag (1) */
-#define DIR_CrtTimeTenth 13 /* Created time sub-second (1) */
-#define DIR_CrtTime 14 /* Created time (2) */
-#define DIR_CrtDate 16 /* Created date (2) */
-#define DIR_LstAccDate 18 /* Last accessed date (2) */
-#define DIR_FstClusHI 20 /* Higher 16-bit of first cluster (2) */
-#define DIR_WrtTime 22 /* Modified time (2) */
-#define DIR_WrtDate 24 /* Modified date (2) */
-#define DIR_FstClusLO 26 /* Lower 16-bit of first cluster (2) */
-#define DIR_FileSize 28 /* File size (4) */
-#define LDIR_Ord 0 /* LFN entry order and LLE flag (1) */
-#define LDIR_Attr 11 /* LFN attribute (1) */
-#define LDIR_Type 12 /* LFN type (1) */
-#define LDIR_Chksum 13 /* Sum of corresponding SFN entry */
-#define LDIR_FstClusLO 26 /* Filled by zero (0) */
-#define SZ_DIR 32 /* Size of a directory entry */
-#define LLE 0x40 /* Last long entry flag in LDIR_Ord */
-#define DDE 0xE5 /* Deleted directory entry mark in DIR_Name[0] */
-#define NDDE 0x05 /* Replacement of the character collides with DDE */
-
-
-
-
-/*------------------------------------------------------------*/
-/* Module private work area */
-/*------------------------------------------------------------*/
-/* Remark: Uninitialized variables with static duration are
-/ guaranteed zero/null at start-up. If not, either the linker
-/ or start-up routine being used is out of ANSI-C standard.
-*/
-
-#if _VOLUMES < 1 || _VOLUMES > 9
-#error Wrong _VOLUMES setting
-#endif
-static FATFS *FatFs[_VOLUMES]; /* Pointer to the file system objects (logical drives) */
-static WORD Fsid; /* File system mount ID */
-
-#if _FS_RPATH && _VOLUMES >= 2
-static BYTE CurrVol; /* Current drive */
-#endif
-
-#if _FS_LOCK
-static FILESEM Files[_FS_LOCK]; /* Open object lock semaphores */
-#endif
-
-#if _USE_LFN == 0 /* Non LFN feature */
-#define DEF_NAMEBUF BYTE sfn[12]
-#define INIT_BUF(dobj) (dobj).fn = sfn
-#define FREE_BUF()
-#else
-#if _MAX_LFN < 12 || _MAX_LFN > 255
-#error Wrong _MAX_LFN setting
-#endif
-#if _USE_LFN == 1 /* LFN feature with static working buffer */
-static WCHAR LfnBuf[_MAX_LFN+1];
-#define DEF_NAMEBUF BYTE sfn[12]
-#define INIT_BUF(dobj) { (dobj).fn = sfn; (dobj).lfn = LfnBuf; }
-#define FREE_BUF()
-#elif _USE_LFN == 2 /* LFN feature with dynamic working buffer on the stack */
-#define DEF_NAMEBUF BYTE sfn[12]; WCHAR lbuf[_MAX_LFN+1]
-#define INIT_BUF(dobj) { (dobj).fn = sfn; (dobj).lfn = lbuf; }
-#define FREE_BUF()
-#elif _USE_LFN == 3 /* LFN feature with dynamic working buffer on the heap */
-#define DEF_NAMEBUF BYTE sfn[12]; WCHAR *lfn
-#define INIT_BUF(dobj) { lfn = ff_memalloc((_MAX_LFN + 1) * 2); if (!lfn) LEAVE_FF((dobj).fs, FR_NOT_ENOUGH_CORE); (dobj).lfn = lfn; (dobj).fn = sfn; }
-#define FREE_BUF() ff_memfree(lfn)
-#else
-#error Wrong _USE_LFN setting
-#endif
-#endif
-
-#ifdef _EXCVT
-static const BYTE ExCvt[] = _EXCVT; /* Upper conversion table for extended characters */
-#endif
-
-
-
-
-
-
-/*--------------------------------------------------------------------------
-
- Module Private Functions
-
----------------------------------------------------------------------------*/
-
-
-/*-----------------------------------------------------------------------*/
-/* String functions */
-/*-----------------------------------------------------------------------*/
-
-/* Copy memory to memory */
-static
-void mem_cpy (void* dst, const void* src, UINT cnt) {
- BYTE *d = (BYTE*)dst;
- const BYTE *s = (const BYTE*)src;
-
-#if _WORD_ACCESS == 1
- while (cnt >= sizeof (int)) {
- *(int*)d = *(int*)s;
- d += sizeof (int); s += sizeof (int);
- cnt -= sizeof (int);
- }
-#endif
- while (cnt--)
- *d++ = *s++;
-}
-
-/* Fill memory */
-static
-void mem_set (void* dst, int val, UINT cnt) {
- BYTE *d = (BYTE*)dst;
-
- while (cnt--)
- *d++ = (BYTE)val;
-}
-
-/* Compare memory to memory */
-static
-int mem_cmp (const void* dst, const void* src, UINT cnt) {
- const BYTE *d = (const BYTE *)dst, *s = (const BYTE *)src;
- int r = 0;
-
- while (cnt-- && (r = *d++ - *s++) == 0) ;
- return r;
-}
-
-/* Check if chr is contained in the string */
-static
-int chk_chr (const char* str, int chr) {
- while (*str && *str != chr) str++;
- return *str;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Request/Release grant to access the volume */
-/*-----------------------------------------------------------------------*/
-#if _FS_REENTRANT
-static
-int lock_fs (
- FATFS* fs /* File system object */
-)
-{
- return ff_req_grant(fs->sobj);
-}
-
-
-static
-void unlock_fs (
- FATFS* fs, /* File system object */
- FRESULT res /* Result code to be returned */
-)
-{
- if (fs &&
- res != FR_NOT_ENABLED &&
- res != FR_INVALID_DRIVE &&
- res != FR_INVALID_OBJECT &&
- res != FR_TIMEOUT) {
- ff_rel_grant(fs->sobj);
- }
-}
-#endif
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* File lock control functions */
-/*-----------------------------------------------------------------------*/
-#if _FS_LOCK
-
-static
-FRESULT chk_lock ( /* Check if the file can be accessed */
- DIR* dp, /* Directory object pointing the file to be checked */
- int acc /* Desired access type (0:Read, 1:Write, 2:Delete/Rename) */
-)
-{
- UINT i, be;
-
- /* Search file semaphore table */
- for (i = be = 0; i < _FS_LOCK; i++) {
- if (Files[i].fs) { /* Existing entry */
- if (Files[i].fs == dp->fs && /* Check if the object matched with an open object */
- Files[i].clu == dp->sclust &&
- Files[i].idx == dp->index) break;
- } else { /* Blank entry */
- be = 1;
- }
- }
- if (i == _FS_LOCK) /* The object is not opened */
- return (be || acc == 2) ? FR_OK : FR_TOO_MANY_OPEN_FILES; /* Is there a blank entry for new object? */
-
- /* The object has been opened. Reject any open against writing file and all write mode open */
- return (acc || Files[i].ctr == 0x100) ? FR_LOCKED : FR_OK;
-}
-
-
-static
-int enq_lock (void) /* Check if an entry is available for a new object */
-{
- UINT i;
-
- for (i = 0; i < _FS_LOCK && Files[i].fs; i++) ;
- return (i == _FS_LOCK) ? 0 : 1;
-}
-
-
-static
-UINT inc_lock ( /* Increment object open counter and returns its index (0:Internal error) */
- DIR* dp, /* Directory object pointing the file to register or increment */
- int acc /* Desired access (0:Read, 1:Write, 2:Delete/Rename) */
-)
-{
- UINT i;
-
-
- for (i = 0; i < _FS_LOCK; i++) { /* Find the object */
- if (Files[i].fs == dp->fs &&
- Files[i].clu == dp->sclust &&
- Files[i].idx == dp->index) break;
- }
-
- if (i == _FS_LOCK) { /* Not opened. Register it as new. */
- for (i = 0; i < _FS_LOCK && Files[i].fs; i++) ;
- if (i == _FS_LOCK) return 0; /* No free entry to register (int err) */
- Files[i].fs = dp->fs;
- Files[i].clu = dp->sclust;
- Files[i].idx = dp->index;
- Files[i].ctr = 0;
- }
-
- if (acc && Files[i].ctr) return 0; /* Access violation (int err) */
-
- Files[i].ctr = acc ? 0x100 : Files[i].ctr + 1; /* Set semaphore value */
-
- return i + 1;
-}
-
-
-static
-FRESULT dec_lock ( /* Decrement object open counter */
- UINT i /* Semaphore index (1..) */
-)
-{
- WORD n;
- FRESULT res;
-
-
- if (--i < _FS_LOCK) { /* Shift index number origin from 0 */
- n = Files[i].ctr;
- if (n == 0x100) n = 0; /* If write mode open, delete the entry */
- if (n) n--; /* Decrement read mode open count */
- Files[i].ctr = n;
- if (!n) Files[i].fs = 0; /* Delete the entry if open count gets zero */
- res = FR_OK;
- } else {
- res = FR_INT_ERR; /* Invalid index nunber */
- }
- return res;
-}
-
-
-static
-void clear_lock ( /* Clear lock entries of the volume */
- FATFS *fs
-)
-{
- UINT i;
-
- for (i = 0; i < _FS_LOCK; i++) {
- if (Files[i].fs == fs) Files[i].fs = 0;
- }
-}
-#endif
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Move/Flush disk access window in the file system object */
-/*-----------------------------------------------------------------------*/
-#if !_FS_READONLY
-static
-FRESULT sync_window (
- FATFS* fs /* File system object */
-)
-{
- DWORD wsect;
- UINT nf;
- FRESULT res = FR_OK;
-
-
- if (fs->wflag) { /* Write back the sector if it is dirty */
- wsect = fs->winsect; /* Current sector number */
- if (disk_write(fs->drv, fs->win, wsect, 1) != RES_OK) {
- res = FR_DISK_ERR;
- } else {
- fs->wflag = 0;
- if (wsect - fs->fatbase < fs->fsize) { /* Is it in the FAT area? */
- for (nf = fs->n_fats; nf >= 2; nf--) { /* Reflect the change to all FAT copies */
- wsect += fs->fsize;
- disk_write(fs->drv, fs->win, wsect, 1);
- }
- }
- }
- }
- return res;
-}
-#endif
-
-
-static
-FRESULT move_window (
- FATFS* fs, /* File system object */
- DWORD sector /* Sector number to make appearance in the fs->win[] */
-)
-{
- FRESULT res = FR_OK;
-
-
- if (sector != fs->winsect) { /* Window offset changed? */
-#if !_FS_READONLY
- res = sync_window(fs); /* Write-back changes */
-#endif
- if (res == FR_OK) { /* Fill sector window with new data */
- if (disk_read(fs->drv, fs->win, sector, 1) != RES_OK) {
- sector = 0xFFFFFFFF; /* Invalidate window if data is not reliable */
- res = FR_DISK_ERR;
- }
- fs->winsect = sector;
- }
- }
- return res;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Synchronize file system and strage device */
-/*-----------------------------------------------------------------------*/
-#if !_FS_READONLY
-static
-FRESULT sync_fs ( /* FR_OK: successful, FR_DISK_ERR: failed */
- FATFS* fs /* File system object */
-)
-{
- FRESULT res;
-
-
- res = sync_window(fs);
- if (res == FR_OK) {
- /* Update FSINFO sector if needed */
- if (fs->fs_type == FS_FAT32 && fs->fsi_flag == 1) {
- /* Create FSINFO structure */
- mem_set(fs->win, 0, SS(fs));
- ST_WORD(fs->win+BS_55AA, 0xAA55);
- ST_DWORD(fs->win+FSI_LeadSig, 0x41615252);
- ST_DWORD(fs->win+FSI_StrucSig, 0x61417272);
- ST_DWORD(fs->win+FSI_Free_Count, fs->free_clust);
- ST_DWORD(fs->win+FSI_Nxt_Free, fs->last_clust);
- /* Write it into the FSINFO sector */
- fs->winsect = fs->volbase + 1;
- disk_write(fs->drv, fs->win, fs->winsect, 1);
- fs->fsi_flag = 0;
- }
- /* Make sure that no pending write process in the physical drive */
- if (disk_ioctl(fs->drv, CTRL_SYNC, 0) != RES_OK)
- res = FR_DISK_ERR;
- }
-
- return res;
-}
-#endif
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Get sector# from cluster# */
-/*-----------------------------------------------------------------------*/
-/* Hidden API for hacks and disk tools */
-
-DWORD clust2sect ( /* !=0: Sector number, 0: Failed - invalid cluster# */
- FATFS* fs, /* File system object */
- DWORD clst /* Cluster# to be converted */
-)
-{
- clst -= 2;
- if (clst >= fs->n_fatent - 2) return 0; /* Invalid cluster# */
- return clst * fs->csize + fs->database;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* FAT access - Read value of a FAT entry */
-/*-----------------------------------------------------------------------*/
-/* Hidden API for hacks and disk tools */
-
-DWORD get_fat ( /* 0xFFFFFFFF:Disk error, 1:Internal error, 2..0x0FFFFFFF:Cluster status */
- FATFS* fs, /* File system object */
- DWORD clst /* FAT item index (cluster#) to get the value */
-)
-{
- UINT wc, bc;
- BYTE *p;
- DWORD val;
-
-
- if (clst < 2 || clst >= fs->n_fatent) { /* Check range */
- val = 1; /* Internal error */
-
- } else {
- val = 0xFFFFFFFF; /* Default value falls on disk error */
-
- switch (fs->fs_type) {
- case FS_FAT12 :
- bc = (UINT)clst; bc += bc / 2;
- if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break;
- wc = fs->win[bc++ % SS(fs)];
- if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break;
- wc |= fs->win[bc % SS(fs)] << 8;
- val = clst & 1 ? wc >> 4 : (wc & 0xFFF);
- break;
-
- case FS_FAT16 :
- if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break;
- p = &fs->win[clst * 2 % SS(fs)];
- val = LD_WORD(p);
- break;
-
- case FS_FAT32 :
- if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break;
- p = &fs->win[clst * 4 % SS(fs)];
- val = LD_DWORD(p) & 0x0FFFFFFF;
- break;
-
- default:
- val = 1; /* Internal error */
- }
- }
-
- return val;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* FAT access - Change value of a FAT entry */
-/*-----------------------------------------------------------------------*/
-/* Hidden API for hacks and disk tools */
-
-#if !_FS_READONLY
-FRESULT put_fat (
- FATFS* fs, /* File system object */
- DWORD clst, /* FAT item index (cluster#) to be set */
- DWORD val /* New value to mark the cluster */
-)
-{
- UINT bc;
- BYTE *p;
- FRESULT res;
-
-
- if (clst < 2 || clst >= fs->n_fatent) { /* Check range */
- res = FR_INT_ERR;
-
- } else {
- switch (fs->fs_type) {
- case FS_FAT12 :
- bc = (UINT)clst; bc += bc / 2;
- res = move_window(fs, fs->fatbase + (bc / SS(fs)));
- if (res != FR_OK) break;
- p = &fs->win[bc++ % SS(fs)];
- *p = (clst & 1) ? ((*p & 0x0F) | ((BYTE)val << 4)) : (BYTE)val;
- fs->wflag = 1;
- res = move_window(fs, fs->fatbase + (bc / SS(fs)));
- if (res != FR_OK) break;
- p = &fs->win[bc % SS(fs)];
- *p = (clst & 1) ? (BYTE)(val >> 4) : ((*p & 0xF0) | ((BYTE)(val >> 8) & 0x0F));
- fs->wflag = 1;
- break;
-
- case FS_FAT16 :
- res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 2)));
- if (res != FR_OK) break;
- p = &fs->win[clst * 2 % SS(fs)];
- ST_WORD(p, (WORD)val);
- fs->wflag = 1;
- break;
-
- case FS_FAT32 :
- res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 4)));
- if (res != FR_OK) break;
- p = &fs->win[clst * 4 % SS(fs)];
- val |= LD_DWORD(p) & 0xF0000000;
- ST_DWORD(p, val);
- fs->wflag = 1;
- break;
-
- default :
- res = FR_INT_ERR;
- }
- }
-
- return res;
-}
-#endif /* !_FS_READONLY */
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* FAT handling - Remove a cluster chain */
-/*-----------------------------------------------------------------------*/
-#if !_FS_READONLY
-static
-FRESULT remove_chain (
- FATFS* fs, /* File system object */
- DWORD clst /* Cluster# to remove a chain from */
-)
-{
- FRESULT res;
- DWORD nxt;
-#if _USE_TRIM
- DWORD scl = clst, ecl = clst, rt[2];
-#endif
-
- if (clst < 2 || clst >= fs->n_fatent) { /* Check range */
- res = FR_INT_ERR;
-
- } else {
- res = FR_OK;
- while (clst < fs->n_fatent) { /* Not a last link? */
- nxt = get_fat(fs, clst); /* Get cluster status */
- if (nxt == 0) break; /* Empty cluster? */
- if (nxt == 1) { res = FR_INT_ERR; break; } /* Internal error? */
- if (nxt == 0xFFFFFFFF) { res = FR_DISK_ERR; break; } /* Disk error? */
- res = put_fat(fs, clst, 0); /* Mark the cluster "empty" */
- if (res != FR_OK) break;
- if (fs->free_clust != 0xFFFFFFFF) { /* Update FSINFO */
- fs->free_clust++;
- fs->fsi_flag |= 1;
- }
-#if _USE_TRIM
- if (ecl + 1 == nxt) { /* Is next cluster contiguous? */
- ecl = nxt;
- } else { /* End of contiguous clusters */
- rt[0] = clust2sect(fs, scl); /* Start sector */
- rt[1] = clust2sect(fs, ecl) + fs->csize - 1; /* End sector */
- disk_ioctl(fs->drv, CTRL_TRIM, rt); /* Erase the block */
- scl = ecl = nxt;
- }
-#endif
- clst = nxt; /* Next cluster */
- }
- }
-
- return res;
-}
-#endif
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* FAT handling - Stretch or Create a cluster chain */
-/*-----------------------------------------------------------------------*/
-#if !_FS_READONLY
-static
-DWORD create_chain ( /* 0:No free cluster, 1:Internal error, 0xFFFFFFFF:Disk error, >=2:New cluster# */
- FATFS* fs, /* File system object */
- DWORD clst /* Cluster# to stretch. 0 means create a new chain. */
-)
-{
- DWORD cs, ncl, scl;
- FRESULT res;
-
-
- if (clst == 0) { /* Create a new chain */
- scl = fs->last_clust; /* Get suggested start point */
- if (!scl || scl >= fs->n_fatent) scl = 1;
- }
- else { /* Stretch the current chain */
- cs = get_fat(fs, clst); /* Check the cluster status */
- if (cs < 2) return 1; /* Invalid value */
- if (cs == 0xFFFFFFFF) return cs; /* A disk error occurred */
- if (cs < fs->n_fatent) return cs; /* It is already followed by next cluster */
- scl = clst;
- }
-
- ncl = scl; /* Start cluster */
- for (;;) {
- ncl++; /* Next cluster */
- if (ncl >= fs->n_fatent) { /* Check wrap around */
- ncl = 2;
- if (ncl > scl) return 0; /* No free cluster */
- }
- cs = get_fat(fs, ncl); /* Get the cluster status */
- if (cs == 0) break; /* Found a free cluster */
- if (cs == 0xFFFFFFFF || cs == 1)/* An error occurred */
- return cs;
- if (ncl == scl) return 0; /* No free cluster */
- }
-
- res = put_fat(fs, ncl, 0x0FFFFFFF); /* Mark the new cluster "last link" */
- if (res == FR_OK && clst != 0) {
- res = put_fat(fs, clst, ncl); /* Link it to the previous one if needed */
- }
- if (res == FR_OK) {
- fs->last_clust = ncl; /* Update FSINFO */
- if (fs->free_clust != 0xFFFFFFFF) {
- fs->free_clust--;
- fs->fsi_flag |= 1;
- }
- } else {
- ncl = (res == FR_DISK_ERR) ? 0xFFFFFFFF : 1;
- }
-
- return ncl; /* Return new cluster number or error code */
-}
-#endif /* !_FS_READONLY */
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* FAT handling - Convert offset into cluster with link map table */
-/*-----------------------------------------------------------------------*/
-
-#if _USE_FASTSEEK
-static
-DWORD clmt_clust ( /* <2:Error, >=2:Cluster number */
- FIL* fp, /* Pointer to the file object */
- DWORD ofs /* File offset to be converted to cluster# */
-)
-{
- DWORD cl, ncl, *tbl;
-
-
- tbl = fp->cltbl + 1; /* Top of CLMT */
- cl = ofs / SS(fp->fs) / fp->fs->csize; /* Cluster order from top of the file */
- for (;;) {
- ncl = *tbl++; /* Number of cluters in the fragment */
- if (!ncl) return 0; /* End of table? (error) */
- if (cl < ncl) break; /* In this fragment? */
- cl -= ncl; tbl++; /* Next fragment */
- }
- return cl + *tbl; /* Return the cluster number */
-}
-#endif /* _USE_FASTSEEK */
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Directory handling - Set directory index */
-/*-----------------------------------------------------------------------*/
-
-static
-FRESULT dir_sdi (
- DIR* dp, /* Pointer to directory object */
- UINT idx /* Index of directory table */
-)
-{
- DWORD clst, sect;
- UINT ic;
-
-
- dp->index = (WORD)idx; /* Current index */
- clst = dp->sclust; /* Table start cluster (0:root) */
- if (clst == 1 || clst >= dp->fs->n_fatent) /* Check start cluster range */
- return FR_INT_ERR;
- if (!clst && dp->fs->fs_type == FS_FAT32) /* Replace cluster# 0 with root cluster# if in FAT32 */
- clst = dp->fs->dirbase;
-
- if (clst == 0) { /* Static table (root-directory in FAT12/16) */
- if (idx >= dp->fs->n_rootdir) /* Is index out of range? */
- return FR_INT_ERR;
- sect = dp->fs->dirbase;
- }
- else { /* Dynamic table (root-directory in FAT32 or sub-directory) */
- ic = SS(dp->fs) / SZ_DIR * dp->fs->csize; /* Entries per cluster */
- while (idx >= ic) { /* Follow cluster chain */
- clst = get_fat(dp->fs, clst); /* Get next cluster */
- if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */
- if (clst < 2 || clst >= dp->fs->n_fatent) /* Reached to end of table or internal error */
- return FR_INT_ERR;
- idx -= ic;
- }
- sect = clust2sect(dp->fs, clst);
- }
- dp->clust = clst; /* Current cluster# */
- if (!sect) return FR_INT_ERR;
- dp->sect = sect + idx / (SS(dp->fs) / SZ_DIR); /* Sector# of the directory entry */
- dp->dir = dp->fs->win + (idx % (SS(dp->fs) / SZ_DIR)) * SZ_DIR; /* Ptr to the entry in the sector */
-
- return FR_OK;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Directory handling - Move directory table index next */
-/*-----------------------------------------------------------------------*/
-
-static
-FRESULT dir_next ( /* FR_OK:Succeeded, FR_NO_FILE:End of table, FR_DENIED:Could not stretch */
- DIR* dp, /* Pointer to the directory object */
- int stretch /* 0: Do not stretch table, 1: Stretch table if needed */
-)
-{
- DWORD clst;
- UINT i;
-
-
- i = dp->index + 1;
- if (!(i & 0xFFFF) || !dp->sect) /* Report EOT when index has reached 65535 */
- return FR_NO_FILE;
-
- if (!(i % (SS(dp->fs) / SZ_DIR))) { /* Sector changed? */
- dp->sect++; /* Next sector */
-
- if (!dp->clust) { /* Static table */
- if (i >= dp->fs->n_rootdir) /* Report EOT if it reached end of static table */
- return FR_NO_FILE;
- }
- else { /* Dynamic table */
- if (((i / (SS(dp->fs) / SZ_DIR)) & (dp->fs->csize - 1)) == 0) { /* Cluster changed? */
- clst = get_fat(dp->fs, dp->clust); /* Get next cluster */
- if (clst <= 1) return FR_INT_ERR;
- if (clst == 0xFFFFFFFF) return FR_DISK_ERR;
- if (clst >= dp->fs->n_fatent) { /* If it reached end of dynamic table, */
-#if !_FS_READONLY
- UINT c;
- if (!stretch) return FR_NO_FILE; /* If do not stretch, report EOT */
- clst = create_chain(dp->fs, dp->clust); /* Stretch cluster chain */
- if (clst == 0) return FR_DENIED; /* No free cluster */
- if (clst == 1) return FR_INT_ERR;
- if (clst == 0xFFFFFFFF) return FR_DISK_ERR;
- /* Clean-up stretched table */
- if (sync_window(dp->fs)) return FR_DISK_ERR;/* Flush disk access window */
- mem_set(dp->fs->win, 0, SS(dp->fs)); /* Clear window buffer */
- dp->fs->winsect = clust2sect(dp->fs, clst); /* Cluster start sector */
- for (c = 0; c < dp->fs->csize; c++) { /* Fill the new cluster with 0 */
- dp->fs->wflag = 1;
- if (sync_window(dp->fs)) return FR_DISK_ERR;
- dp->fs->winsect++;
- }
- dp->fs->winsect -= c; /* Rewind window offset */
-#else
- if (!stretch) return FR_NO_FILE; /* If do not stretch, report EOT (this is to suppress warning) */
- return FR_NO_FILE; /* Report EOT */
-#endif
- }
- dp->clust = clst; /* Initialize data for new cluster */
- dp->sect = clust2sect(dp->fs, clst);
- }
- }
- }
-
- dp->index = (WORD)i; /* Current index */
- dp->dir = dp->fs->win + (i % (SS(dp->fs) / SZ_DIR)) * SZ_DIR; /* Current entry in the window */
-
- return FR_OK;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Directory handling - Reserve directory entry */
-/*-----------------------------------------------------------------------*/
-
-#if !_FS_READONLY
-static
-FRESULT dir_alloc (
- DIR* dp, /* Pointer to the directory object */
- UINT nent /* Number of contiguous entries to allocate (1-21) */
-)
-{
- FRESULT res;
- UINT n;
-
-
- res = dir_sdi(dp, 0);
- if (res == FR_OK) {
- n = 0;
- do {
- res = move_window(dp->fs, dp->sect);
- if (res != FR_OK) break;
- if (dp->dir[0] == DDE || dp->dir[0] == 0) { /* Is it a free entry? */
- if (++n == nent) break; /* A block of contiguous free entries is found */
- } else {
- n = 0; /* Not a blank entry. Restart to search */
- }
- res = dir_next(dp, 1); /* Next entry with table stretch enabled */
- } while (res == FR_OK);
- }
- if (res == FR_NO_FILE) res = FR_DENIED; /* No directory entry to allocate */
- return res;
-}
-#endif
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Directory handling - Load/Store start cluster number */
-/*-----------------------------------------------------------------------*/
-
-static
-DWORD ld_clust (
- FATFS* fs, /* Pointer to the fs object */
- BYTE* dir /* Pointer to the directory entry */
-)
-{
- DWORD cl;
-
- cl = LD_WORD(dir+DIR_FstClusLO);
- if (fs->fs_type == FS_FAT32)
- cl |= (DWORD)LD_WORD(dir+DIR_FstClusHI) << 16;
-
- return cl;
-}
-
-
-#if !_FS_READONLY
-static
-void st_clust (
- BYTE* dir, /* Pointer to the directory entry */
- DWORD cl /* Value to be set */
-)
-{
- ST_WORD(dir+DIR_FstClusLO, cl);
- ST_WORD(dir+DIR_FstClusHI, cl >> 16);
-}
-#endif
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* LFN handling - Test/Pick/Fit an LFN segment from/to directory entry */
-/*-----------------------------------------------------------------------*/
-#if _USE_LFN
-static
-const BYTE LfnOfs[] = {1,3,5,7,9,14,16,18,20,22,24,28,30}; /* Offset of LFN characters in the directory entry */
-
-
-static
-int cmp_lfn ( /* 1:Matched, 0:Not matched */
- WCHAR* lfnbuf, /* Pointer to the LFN to be compared */
- BYTE* dir /* Pointer to the directory entry containing a part of LFN */
-)
-{
- UINT i, s;
- WCHAR wc, uc;
-
-
- i = ((dir[LDIR_Ord] & ~LLE) - 1) * 13; /* Get offset in the LFN buffer */
- s = 0; wc = 1;
- do {
- uc = LD_WORD(dir+LfnOfs[s]); /* Pick an LFN character from the entry */
- if (wc) { /* Last character has not been processed */
- wc = ff_wtoupper(uc); /* Convert it to upper case */
- if (i >= _MAX_LFN || wc != ff_wtoupper(lfnbuf[i++])) /* Compare it */
- return 0; /* Not matched */
- } else {
- if (uc != 0xFFFF) return 0; /* Check filler */
- }
- } while (++s < 13); /* Repeat until all characters in the entry are checked */
-
- if ((dir[LDIR_Ord] & LLE) && wc && lfnbuf[i]) /* Last segment matched but different length */
- return 0;
-
- return 1; /* The part of LFN matched */
-}
-
-
-
-static
-int pick_lfn ( /* 1:Succeeded, 0:Buffer overflow */
- WCHAR* lfnbuf, /* Pointer to the Unicode-LFN buffer */
- BYTE* dir /* Pointer to the directory entry */
-)
-{
- UINT i, s;
- WCHAR wc, uc;
-
-
- i = ((dir[LDIR_Ord] & 0x3F) - 1) * 13; /* Offset in the LFN buffer */
-
- s = 0; wc = 1;
- do {
- uc = LD_WORD(dir+LfnOfs[s]); /* Pick an LFN character from the entry */
- if (wc) { /* Last character has not been processed */
- if (i >= _MAX_LFN) return 0; /* Buffer overflow? */
- lfnbuf[i++] = wc = uc; /* Store it */
- } else {
- if (uc != 0xFFFF) return 0; /* Check filler */
- }
- } while (++s < 13); /* Read all character in the entry */
-
- if (dir[LDIR_Ord] & LLE) { /* Put terminator if it is the last LFN part */
- if (i >= _MAX_LFN) return 0; /* Buffer overflow? */
- lfnbuf[i] = 0;
- }
-
- return 1;
-}
-
-
-#if !_FS_READONLY
-static
-void fit_lfn (
- const WCHAR* lfnbuf, /* Pointer to the LFN buffer */
- BYTE* dir, /* Pointer to the directory entry */
- BYTE ord, /* LFN order (1-20) */
- BYTE sum /* SFN sum */
-)
-{
- UINT i, s;
- WCHAR wc;
-
-
- dir[LDIR_Chksum] = sum; /* Set check sum */
- dir[LDIR_Attr] = AM_LFN; /* Set attribute. LFN entry */
- dir[LDIR_Type] = 0;
- ST_WORD(dir+LDIR_FstClusLO, 0);
-
- i = (ord - 1) * 13; /* Get offset in the LFN buffer */
- s = wc = 0;
- do {
- if (wc != 0xFFFF) wc = lfnbuf[i++]; /* Get an effective character */
- ST_WORD(dir+LfnOfs[s], wc); /* Put it */
- if (!wc) wc = 0xFFFF; /* Padding characters following last character */
- } while (++s < 13);
- if (wc == 0xFFFF || !lfnbuf[i]) ord |= LLE; /* Bottom LFN part is the start of LFN sequence */
- dir[LDIR_Ord] = ord; /* Set the LFN order */
-}
-
-#endif
-#endif
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Create numbered name */
-/*-----------------------------------------------------------------------*/
-#if _USE_LFN
-static
-void gen_numname (
- BYTE* dst, /* Pointer to the buffer to store numbered SFN */
- const BYTE* src, /* Pointer to SFN */
- const WCHAR* lfn, /* Pointer to LFN */
- UINT seq /* Sequence number */
-)
-{
- BYTE ns[8], c;
- UINT i, j;
-
-
- mem_cpy(dst, src, 11);
-
- if (seq > 5) { /* On many collisions, generate a hash number instead of sequential number */
- WCHAR wc;
- DWORD sr = seq;
-
- while (*lfn) { /* Create a CRC */
- wc = *lfn++;
- for (i = 0; i < 16; i++) {
- sr = (sr << 1) + (wc & 1);
- wc >>= 1;
- if (sr & 0x10000) sr ^= 0x11021;
- }
- }
- seq = (UINT)sr;
- }
-
- /* itoa (hexdecimal) */
- i = 7;
- do {
- c = (seq % 16) + '0';
- if (c > '9') c += 7;
- ns[i--] = c;
- seq /= 16;
- } while (seq);
- ns[i] = '~';
-
- /* Append the number */
- for (j = 0; j < i && dst[j] != ' '; j++) {
- if (IsDBCS1(dst[j])) {
- if (j == i - 1) break;
- j++;
- }
- }
- do {
- dst[j++] = (i < 8) ? ns[i++] : ' ';
- } while (j < 8);
-}
-#endif
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Calculate sum of an SFN */
-/*-----------------------------------------------------------------------*/
-#if _USE_LFN
-static
-BYTE sum_sfn (
- const BYTE* dir /* Pointer to the SFN entry */
-)
-{
- BYTE sum = 0;
- UINT n = 11;
-
- do sum = (sum >> 1) + (sum << 7) + *dir++; while (--n);
- return sum;
-}
-#endif
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Directory handling - Find an object in the directory */
-/*-----------------------------------------------------------------------*/
-
-static
-FRESULT dir_find (
- DIR* dp /* Pointer to the directory object linked to the file name */
-)
-{
- FRESULT res;
- BYTE c, *dir;
-#if _USE_LFN
- BYTE a, ord, sum;
-#endif
-
- res = dir_sdi(dp, 0); /* Rewind directory object */
- if (res != FR_OK) return res;
-
-#if _USE_LFN
- ord = sum = 0xFF; dp->lfn_idx = 0xFFFF; /* Reset LFN sequence */
-#endif
- do {
- res = move_window(dp->fs, dp->sect);
- if (res != FR_OK) break;
- dir = dp->dir; /* Ptr to the directory entry of current index */
- c = dir[DIR_Name];
- if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */
-#if _USE_LFN /* LFN configuration */
- a = dir[DIR_Attr] & AM_MASK;
- if (c == DDE || ((a & AM_VOL) && a != AM_LFN)) { /* An entry without valid data */
- ord = 0xFF; dp->lfn_idx = 0xFFFF; /* Reset LFN sequence */
- } else {
- if (a == AM_LFN) { /* An LFN entry is found */
- if (dp->lfn) {
- if (c & LLE) { /* Is it start of LFN sequence? */
- sum = dir[LDIR_Chksum];
- c &= ~LLE; ord = c; /* LFN start order */
- dp->lfn_idx = dp->index; /* Start index of LFN */
- }
- /* Check validity of the LFN entry and compare it with given name */
- ord = (c == ord && sum == dir[LDIR_Chksum] && cmp_lfn(dp->lfn, dir)) ? ord - 1 : 0xFF;
- }
- } else { /* An SFN entry is found */
- if (!ord && sum == sum_sfn(dir)) break; /* LFN matched? */
- if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dir, dp->fn, 11)) break; /* SFN matched? */
- ord = 0xFF; dp->lfn_idx = 0xFFFF; /* Reset LFN sequence */
- }
- }
-#else /* Non LFN configuration */
- if (!(dir[DIR_Attr] & AM_VOL) && !mem_cmp(dir, dp->fn, 11)) /* Is it a valid entry? */
- break;
-#endif
- res = dir_next(dp, 0); /* Next entry */
- } while (res == FR_OK);
-
- return res;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Read an object from the directory */
-/*-----------------------------------------------------------------------*/
-#if _FS_MINIMIZE <= 1 || _USE_LABEL || _FS_RPATH >= 2
-static
-FRESULT dir_read (
- DIR* dp, /* Pointer to the directory object */
- int vol /* Filtered by 0:file/directory or 1:volume label */
-)
-{
- FRESULT res;
- BYTE a, c, *dir;
-#if _USE_LFN
- BYTE ord = 0xFF, sum = 0xFF;
-#endif
-
- res = FR_NO_FILE;
- while (dp->sect) {
- res = move_window(dp->fs, dp->sect);
- if (res != FR_OK) break;
- dir = dp->dir; /* Ptr to the directory entry of current index */
- c = dir[DIR_Name];
- if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */
- a = dir[DIR_Attr] & AM_MASK;
-#if _USE_LFN /* LFN configuration */
- if (c == DDE || (!_FS_RPATH && c == '.') || (int)((a & ~AM_ARC) == AM_VOL) != vol) { /* An entry without valid data */
- ord = 0xFF;
- } else {
- if (a == AM_LFN) { /* An LFN entry is found */
- if (c & LLE) { /* Is it start of LFN sequence? */
- sum = dir[LDIR_Chksum];
- c &= ~LLE; ord = c;
- dp->lfn_idx = dp->index;
- }
- /* Check LFN validity and capture it */
- ord = (c == ord && sum == dir[LDIR_Chksum] && pick_lfn(dp->lfn, dir)) ? ord - 1 : 0xFF;
- } else { /* An SFN entry is found */
- if (ord || sum != sum_sfn(dir)) /* Is there a valid LFN? */
- dp->lfn_idx = 0xFFFF; /* It has no LFN. */
- break;
- }
- }
-#else /* Non LFN configuration */
- if (c != DDE && (_FS_RPATH || c != '.') && a != AM_LFN && (int)((a & ~AM_ARC) == AM_VOL) == vol) /* Is it a valid entry? */
- break;
-#endif
- res = dir_next(dp, 0); /* Next entry */
- if (res != FR_OK) break;
- }
-
- if (res != FR_OK) dp->sect = 0;
-
- return res;
-}
-#endif /* _FS_MINIMIZE <= 1 || _USE_LABEL || _FS_RPATH >= 2 */
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Register an object to the directory */
-/*-----------------------------------------------------------------------*/
-#if !_FS_READONLY
-static
-FRESULT dir_register ( /* FR_OK:Successful, FR_DENIED:No free entry or too many SFN collision, FR_DISK_ERR:Disk error */
- DIR* dp /* Target directory with object name to be created */
-)
-{
- FRESULT res;
-#if _USE_LFN /* LFN configuration */
- UINT n, nent;
- BYTE sn[12], *fn, sum;
- WCHAR *lfn;
-
-
- fn = dp->fn; lfn = dp->lfn;
- mem_cpy(sn, fn, 12);
-
- if (_FS_RPATH && (sn[NSFLAG] & NS_DOT)) /* Cannot create dot entry */
- return FR_INVALID_NAME;
-
- if (sn[NSFLAG] & NS_LOSS) { /* When LFN is out of 8.3 format, generate a numbered name */
- fn[NSFLAG] = 0; dp->lfn = 0; /* Find only SFN */
- for (n = 1; n < 100; n++) {
- gen_numname(fn, sn, lfn, n); /* Generate a numbered name */
- res = dir_find(dp); /* Check if the name collides with existing SFN */
- if (res != FR_OK) break;
- }
- if (n == 100) return FR_DENIED; /* Abort if too many collisions */
- if (res != FR_NO_FILE) return res; /* Abort if the result is other than 'not collided' */
- fn[NSFLAG] = sn[NSFLAG]; dp->lfn = lfn;
- }
-
- if (sn[NSFLAG] & NS_LFN) { /* When LFN is to be created, allocate entries for an SFN + LFNs. */
- for (n = 0; lfn[n]; n++) ;
- nent = (n + 25) / 13;
- } else { /* Otherwise allocate an entry for an SFN */
- nent = 1;
- }
- res = dir_alloc(dp, nent); /* Allocate entries */
-
- if (res == FR_OK && --nent) { /* Set LFN entry if needed */
- res = dir_sdi(dp, dp->index - nent);
- if (res == FR_OK) {
- sum = sum_sfn(dp->fn); /* Sum value of the SFN tied to the LFN */
- do { /* Store LFN entries in bottom first */
- res = move_window(dp->fs, dp->sect);
- if (res != FR_OK) break;
- fit_lfn(dp->lfn, dp->dir, (BYTE)nent, sum);
- dp->fs->wflag = 1;
- res = dir_next(dp, 0); /* Next entry */
- } while (res == FR_OK && --nent);
- }
- }
-#else /* Non LFN configuration */
- res = dir_alloc(dp, 1); /* Allocate an entry for SFN */
-#endif
-
- if (res == FR_OK) { /* Set SFN entry */
- res = move_window(dp->fs, dp->sect);
- if (res == FR_OK) {
- mem_set(dp->dir, 0, SZ_DIR); /* Clean the entry */
- mem_cpy(dp->dir, dp->fn, 11); /* Put SFN */
-#if _USE_LFN
- dp->dir[DIR_NTres] = dp->fn[NSFLAG] & (NS_BODY | NS_EXT); /* Put NT flag */
-#endif
- dp->fs->wflag = 1;
- }
- }
-
- return res;
-}
-#endif /* !_FS_READONLY */
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Remove an object from the directory */
-/*-----------------------------------------------------------------------*/
-#if !_FS_READONLY && !_FS_MINIMIZE
-static
-FRESULT dir_remove ( /* FR_OK: Successful, FR_DISK_ERR: A disk error */
- DIR* dp /* Directory object pointing the entry to be removed */
-)
-{
- FRESULT res;
-#if _USE_LFN /* LFN configuration */
- UINT i;
-
- i = dp->index; /* SFN index */
- res = dir_sdi(dp, (dp->lfn_idx == 0xFFFF) ? i : dp->lfn_idx); /* Goto the SFN or top of the LFN entries */
- if (res == FR_OK) {
- do {
- res = move_window(dp->fs, dp->sect);
- if (res != FR_OK) break;
- mem_set(dp->dir, 0, SZ_DIR); /* Clear and mark the entry "deleted" */
- *dp->dir = DDE;
- dp->fs->wflag = 1;
- if (dp->index >= i) break; /* When reached SFN, all entries of the object has been deleted. */
- res = dir_next(dp, 0); /* Next entry */
- } while (res == FR_OK);
- if (res == FR_NO_FILE) res = FR_INT_ERR;
- }
-
-#else /* Non LFN configuration */
- res = dir_sdi(dp, dp->index);
- if (res == FR_OK) {
- res = move_window(dp->fs, dp->sect);
- if (res == FR_OK) {
- mem_set(dp->dir, 0, SZ_DIR); /* Clear and mark the entry "deleted" */
- *dp->dir = DDE;
- dp->fs->wflag = 1;
- }
- }
-#endif
-
- return res;
-}
-#endif /* !_FS_READONLY */
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Get file information from directory entry */
-/*-----------------------------------------------------------------------*/
-#if _FS_MINIMIZE <= 1 || _FS_RPATH >= 2
-static
-void get_fileinfo ( /* No return code */
- DIR* dp, /* Pointer to the directory object */
- FILINFO* fno /* Pointer to the file information to be filled */
-)
-{
- UINT i;
- TCHAR *p, c;
-
-
- p = fno->fname;
- if (dp->sect) { /* Get SFN */
- BYTE *dir = dp->dir;
-
- i = 0;
- while (i < 11) { /* Copy name body and extension */
- c = (TCHAR)dir[i++];
- if (c == ' ') continue; /* Skip padding spaces */
- if (c == NDDE) c = (TCHAR)DDE; /* Restore replaced DDE character */
- if (i == 9) *p++ = '.'; /* Insert a . if extension is exist */
-#if _USE_LFN
- if (IsUpper(c) && (dir[DIR_NTres] & (i >= 9 ? NS_EXT : NS_BODY)))
- c += 0x20; /* To lower */
-#if _LFN_UNICODE
- if (IsDBCS1(c) && i != 8 && i != 11 && IsDBCS2(dir[i]))
- c = c << 8 | dir[i++];
- c = ff_convert(c, 1); /* OEM -> Unicode */
- if (!c) c = '?';
-#endif
-#endif
- *p++ = c;
- }
- fno->fattrib = dir[DIR_Attr]; /* Attribute */
- fno->fsize = LD_DWORD(dir+DIR_FileSize); /* Size */
- fno->fdate = LD_WORD(dir+DIR_WrtDate); /* Date */
- fno->ftime = LD_WORD(dir+DIR_WrtTime); /* Time */
- }
- *p = 0; /* Terminate SFN string by a \0 */
-
-#if _USE_LFN
- if (fno->lfname) {
- WCHAR w, *lfn;
-
- i = 0; p = fno->lfname;
- if (dp->sect && fno->lfsize && dp->lfn_idx != 0xFFFF) { /* Get LFN if available */
- lfn = dp->lfn;
- while ((w = *lfn++) != 0) { /* Get an LFN character */
-#if !_LFN_UNICODE
- w = ff_convert(w, 0); /* Unicode -> OEM */
- if (!w) { i = 0; break; } /* No LFN if it could not be converted */
- if (_DF1S && w >= 0x100) /* Put 1st byte if it is a DBC (always false on SBCS cfg) */
- p[i++] = (TCHAR)(w >> 8);
-#endif
- if (i >= fno->lfsize - 1) { i = 0; break; } /* No LFN if buffer overflow */
- p[i++] = (TCHAR)w;
- }
- }
- p[i] = 0; /* Terminate LFN string by a \0 */
- }
-#endif
-}
-#endif /* _FS_MINIMIZE <= 1 || _FS_RPATH >= 2*/
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Pick a segment and create the object name in directory form */
-/*-----------------------------------------------------------------------*/
-
-static
-FRESULT create_name (
- DIR* dp, /* Pointer to the directory object */
- const TCHAR** path /* Pointer to pointer to the segment in the path string */
-)
-{
-#if _USE_LFN /* LFN configuration */
- BYTE b, cf;
- WCHAR w, *lfn;
- UINT i, ni, si, di;
- const TCHAR *p;
-
- /* Create LFN in Unicode */
- for (p = *path; *p == '/' || *p == '\\'; p++) ; /* Strip duplicated separator */
- lfn = dp->lfn;
- si = di = 0;
- for (;;) {
- w = p[si++]; /* Get a character */
- if (w < ' ' || w == '/' || w == '\\') break; /* Break on end of segment */
- if (di >= _MAX_LFN) /* Reject too long name */
- return FR_INVALID_NAME;
-#if !_LFN_UNICODE
- w &= 0xFF;
- if (IsDBCS1(w)) { /* Check if it is a DBC 1st byte (always false on SBCS cfg) */
- b = (BYTE)p[si++]; /* Get 2nd byte */
- if (!IsDBCS2(b))
- return FR_INVALID_NAME; /* Reject invalid sequence */
- w = (w << 8) + b; /* Create a DBC */
- }
- w = ff_convert(w, 1); /* Convert ANSI/OEM to Unicode */
- if (!w) return FR_INVALID_NAME; /* Reject invalid code */
-#endif
- if (w < 0x80 && chk_chr("\"*:<>\?|\x7F", w)) /* Reject illegal characters for LFN */
- return FR_INVALID_NAME;
- lfn[di++] = w; /* Store the Unicode character */
- }
- *path = &p[si]; /* Return pointer to the next segment */
- cf = (w < ' ') ? NS_LAST : 0; /* Set last segment flag if end of path */
-#if _FS_RPATH
- if ((di == 1 && lfn[di-1] == '.') || /* Is this a dot entry? */
- (di == 2 && lfn[di-1] == '.' && lfn[di-2] == '.')) {
- lfn[di] = 0;
- for (i = 0; i < 11; i++)
- dp->fn[i] = (i < di) ? '.' : ' ';
- dp->fn[i] = cf | NS_DOT; /* This is a dot entry */
- return FR_OK;
- }
-#endif
- while (di) { /* Strip trailing spaces and dots */
- w = lfn[di-1];
- if (w != ' ' && w != '.') break;
- di--;
- }
- if (!di) return FR_INVALID_NAME; /* Reject nul string */
-
- lfn[di] = 0; /* LFN is created */
-
- /* Create SFN in directory form */
- mem_set(dp->fn, ' ', 11);
- for (si = 0; lfn[si] == ' ' || lfn[si] == '.'; si++) ; /* Strip leading spaces and dots */
- if (si) cf |= NS_LOSS | NS_LFN;
- while (di && lfn[di - 1] != '.') di--; /* Find extension (di<=si: no extension) */
-
- b = i = 0; ni = 8;
- for (;;) {
- w = lfn[si++]; /* Get an LFN character */
- if (!w) break; /* Break on end of the LFN */
- if (w == ' ' || (w == '.' && si != di)) { /* Remove spaces and dots */
- cf |= NS_LOSS | NS_LFN; continue;
- }
-
- if (i >= ni || si == di) { /* Extension or end of SFN */
- if (ni == 11) { /* Long extension */
- cf |= NS_LOSS | NS_LFN; break;
- }
- if (si != di) cf |= NS_LOSS | NS_LFN; /* Out of 8.3 format */
- if (si > di) break; /* No extension */
- si = di; i = 8; ni = 11; /* Enter extension section */
- b <<= 2; continue;
- }
-
- if (w >= 0x80) { /* Non ASCII character */
-#ifdef _EXCVT
- w = ff_convert(w, 0); /* Unicode -> OEM code */
- if (w) w = ExCvt[w - 0x80]; /* Convert extended character to upper (SBCS) */
-#else
- w = ff_convert(ff_wtoupper(w), 0); /* Upper converted Unicode -> OEM code */
-#endif
- cf |= NS_LFN; /* Force create LFN entry */
- }
-
- if (_DF1S && w >= 0x100) { /* Double byte character (always false on SBCS cfg) */
- if (i >= ni - 1) {
- cf |= NS_LOSS | NS_LFN; i = ni; continue;
- }
- dp->fn[i++] = (BYTE)(w >> 8);
- } else { /* Single byte character */
- if (!w || chk_chr("+,;=[]", w)) { /* Replace illegal characters for SFN */
- w = '_'; cf |= NS_LOSS | NS_LFN;/* Lossy conversion */
- } else {
- if (IsUpper(w)) { /* ASCII large capital */
- b |= 2;
- } else {
- if (IsLower(w)) { /* ASCII small capital */
- b |= 1; w -= 0x20;
- }
- }
- }
- }
- dp->fn[i++] = (BYTE)w;
- }
-
- if (dp->fn[0] == DDE) dp->fn[0] = NDDE; /* If the first character collides with deleted mark, replace it with 0x05 */
-
- if (ni == 8) b <<= 2;
- if ((b & 0x0C) == 0x0C || (b & 0x03) == 0x03) /* Create LFN entry when there are composite capitals */
- cf |= NS_LFN;
- if (!(cf & NS_LFN)) { /* When LFN is in 8.3 format without extended character, NT flags are created */
- if ((b & 0x03) == 0x01) cf |= NS_EXT; /* NT flag (Extension has only small capital) */
- if ((b & 0x0C) == 0x04) cf |= NS_BODY; /* NT flag (Filename has only small capital) */
- }
-
- dp->fn[NSFLAG] = cf; /* SFN is created */
-
- return FR_OK;
-
-
-#else /* Non-LFN configuration */
- BYTE b, c, d, *sfn;
- UINT ni, si, i;
- const char *p;
-
- /* Create file name in directory form */
- for (p = *path; *p == '/' || *p == '\\'; p++) ; /* Strip duplicated separator */
- sfn = dp->fn;
- mem_set(sfn, ' ', 11);
- si = i = b = 0; ni = 8;
-#if _FS_RPATH
- if (p[si] == '.') { /* Is this a dot entry? */
- for (;;) {
- c = (BYTE)p[si++];
- if (c != '.' || si >= 3) break;
- sfn[i++] = c;
- }
- if (c != '/' && c != '\\' && c > ' ') return FR_INVALID_NAME;
- *path = &p[si]; /* Return pointer to the next segment */
- sfn[NSFLAG] = (c <= ' ') ? NS_LAST | NS_DOT : NS_DOT; /* Set last segment flag if end of path */
- return FR_OK;
- }
-#endif
- for (;;) {
- c = (BYTE)p[si++];
- if (c <= ' ' || c == '/' || c == '\\') break; /* Break on end of segment */
- if (c == '.' || i >= ni) {
- if (ni != 8 || c != '.') return FR_INVALID_NAME;
- i = 8; ni = 11;
- b <<= 2; continue;
- }
- if (c >= 0x80) { /* Extended character? */
- b |= 3; /* Eliminate NT flag */
-#ifdef _EXCVT
- c = ExCvt[c - 0x80]; /* To upper extended characters (SBCS cfg) */
-#else
-#if !_DF1S
- return FR_INVALID_NAME; /* Reject extended characters (ASCII cfg) */
-#endif
-#endif
- }
- if (IsDBCS1(c)) { /* Check if it is a DBC 1st byte (always false on SBCS cfg) */
- d = (BYTE)p[si++]; /* Get 2nd byte */
- if (!IsDBCS2(d) || i >= ni - 1) /* Reject invalid DBC */
- return FR_INVALID_NAME;
- sfn[i++] = c;
- sfn[i++] = d;
- } else { /* Single byte code */
- if (chk_chr("\"*+,:;<=>\?[]|\x7F", c)) /* Reject illegal chrs for SFN */
- return FR_INVALID_NAME;
- if (IsUpper(c)) { /* ASCII large capital? */
- b |= 2;
- } else {
- if (IsLower(c)) { /* ASCII small capital? */
- b |= 1; c -= 0x20;
- }
- }
- sfn[i++] = c;
- }
- }
- *path = &p[si]; /* Return pointer to the next segment */
- c = (c <= ' ') ? NS_LAST : 0; /* Set last segment flag if end of path */
-
- if (!i) return FR_INVALID_NAME; /* Reject nul string */
- if (sfn[0] == DDE) sfn[0] = NDDE; /* When first character collides with DDE, replace it with 0x05 */
-
- if (ni == 8) b <<= 2;
- if ((b & 0x03) == 0x01) c |= NS_EXT; /* NT flag (Name extension has only small capital) */
- if ((b & 0x0C) == 0x04) c |= NS_BODY; /* NT flag (Name body has only small capital) */
-
- sfn[NSFLAG] = c; /* Store NT flag, File name is created */
-
- return FR_OK;
-#endif
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Follow a file path */
-/*-----------------------------------------------------------------------*/
-
-static
-FRESULT follow_path ( /* FR_OK(0): successful, !=0: error code */
- DIR* dp, /* Directory object to return last directory and found object */
- const TCHAR* path /* Full-path string to find a file or directory */
-)
-{
- FRESULT res;
- BYTE *dir, ns;
-
-
-#if _FS_RPATH
- if (*path == '/' || *path == '\\') { /* There is a heading separator */
- path++; dp->sclust = 0; /* Strip it and start from the root directory */
- } else { /* No heading separator */
- dp->sclust = dp->fs->cdir; /* Start from the current directory */
- }
-#else
- if (*path == '/' || *path == '\\') /* Strip heading separator if exist */
- path++;
- dp->sclust = 0; /* Always start from the root directory */
-#endif
-
- if ((UINT)*path < ' ') { /* Null path name is the origin directory itself */
- res = dir_sdi(dp, 0);
- dp->dir = 0;
- } else { /* Follow path */
- for (;;) {
- res = create_name(dp, &path); /* Get a segment name of the path */
- if (res != FR_OK) break;
- res = dir_find(dp); /* Find an object with the sagment name */
- ns = dp->fn[NSFLAG];
- if (res != FR_OK) { /* Failed to find the object */
- if (res == FR_NO_FILE) { /* Object is not found */
- if (_FS_RPATH && (ns & NS_DOT)) { /* If dot entry is not exist, */
- dp->sclust = 0; dp->dir = 0; /* it is the root directory and stay there */
- if (!(ns & NS_LAST)) continue; /* Continue to follow if not last segment */
- res = FR_OK; /* Ended at the root directroy. Function completed. */
- } else { /* Could not find the object */
- if (!(ns & NS_LAST)) res = FR_NO_PATH; /* Adjust error code if not last segment */
- }
- }
- break;
- }
- if (ns & NS_LAST) break; /* Last segment matched. Function completed. */
- dir = dp->dir; /* Follow the sub-directory */
- if (!(dir[DIR_Attr] & AM_DIR)) { /* It is not a sub-directory and cannot follow */
- res = FR_NO_PATH; break;
- }
- dp->sclust = ld_clust(dp->fs, dir);
- }
- }
-
- return res;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Get logical drive number from path name */
-/*-----------------------------------------------------------------------*/
-
-static
-int get_ldnumber ( /* Returns logical drive number (-1:invalid drive) */
- const TCHAR** path /* Pointer to pointer to the path name */
-)
-{
- const TCHAR *tp, *tt;
- UINT i;
- int vol = -1;
-
-
- if (*path) { /* If the pointer is not a null */
- for (tt = *path; (UINT)*tt >= (_USE_LFN ? ' ' : '!') && *tt != ':'; tt++) ; /* Find ':' in the path */
- if (*tt == ':') { /* If a ':' is exist in the path name */
- tp = *path;
- i = *tp++ - '0';
- if (i < 10 && tp == tt) { /* Is there a numeric drive id? */
- if (i < _VOLUMES) { /* If a drive id is found, get the value and strip it */
- vol = (int)i;
- *path = ++tt;
- }
- } else { /* No numeric drive number */
-#if _STR_VOLUME_ID /* Find string drive id */
- static const char* const str[] = {_VOLUME_STRS};
- const char *sp;
- char c;
- TCHAR tc;
-
- i = 0; tt++;
- do {
- sp = str[i]; tp = *path;
- do { /* Compare a string drive id with path name */
- c = *sp++; tc = *tp++;
- if (IsLower(tc)) tc -= 0x20;
- } while (c && (TCHAR)c == tc);
- } while ((c || tp != tt) && ++i < _VOLUMES); /* Repeat for each id until pattern match */
- if (i < _VOLUMES) { /* If a drive id is found, get the value and strip it */
- vol = (int)i;
- *path = tt;
- }
-#endif
- }
- return vol;
- }
-#if _FS_RPATH && _VOLUMES >= 2
- vol = CurrVol; /* Current drive */
-#else
- vol = 0; /* Drive 0 */
-#endif
- }
- return vol;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Load a sector and check if it is an FAT boot sector */
-/*-----------------------------------------------------------------------*/
-
-static
-BYTE check_fs ( /* 0:FAT boor sector, 1:Valid boor sector but not FAT, 2:Not a boot sector, 3:Disk error */
- FATFS* fs, /* File system object */
- DWORD sect /* Sector# (lba) to check if it is an FAT boot record or not */
-)
-{
- fs->wflag = 0; fs->winsect = 0xFFFFFFFF; /* Invaidate window */
- if (move_window(fs, sect) != FR_OK) /* Load boot record */
- return 3;
-
- if (LD_WORD(&fs->win[BS_55AA]) != 0xAA55) /* Check boot record signature (always placed at offset 510 even if the sector size is >512) */
- return 2;
-
- if ((LD_DWORD(&fs->win[BS_FilSysType]) & 0xFFFFFF) == 0x544146) /* Check "FAT" string */
- return 0;
- if ((LD_DWORD(&fs->win[BS_FilSysType32]) & 0xFFFFFF) == 0x544146) /* Check "FAT" string */
- return 0;
-
- return 1;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Find logical drive and check if the volume is mounted */
-/*-----------------------------------------------------------------------*/
-
-static
-FRESULT find_volume ( /* FR_OK(0): successful, !=0: any error occurred */
- FATFS** rfs, /* Pointer to pointer to the found file system object */
- const TCHAR** path, /* Pointer to pointer to the path name (drive number) */
- BYTE wmode /* !=0: Check write protection for write access */
-)
-{
- BYTE fmt;
- int vol;
- DSTATUS stat;
- DWORD bsect, fasize, tsect, sysect, nclst, szbfat;
- WORD nrsv;
- FATFS *fs;
-
-
- /* Get logical drive number from the path name */
- *rfs = 0;
- vol = get_ldnumber(path);
- if (vol < 0) return FR_INVALID_DRIVE;
-
- /* Check if the file system object is valid or not */
- fs = FatFs[vol]; /* Get pointer to the file system object */
- if (!fs) return FR_NOT_ENABLED; /* Is the file system object available? */
-
- ENTER_FF(fs); /* Lock the volume */
- *rfs = fs; /* Return pointer to the file system object */
-
- if (fs->fs_type) { /* If the volume has been mounted */
- stat = disk_status(fs->drv);
- if (!(stat & STA_NOINIT)) { /* and the physical drive is kept initialized */
- if (!_FS_READONLY && wmode && (stat & STA_PROTECT)) /* Check write protection if needed */
- return FR_WRITE_PROTECTED;
- return FR_OK; /* The file system object is valid */
- }
- }
-
- /* The file system object is not valid. */
- /* Following code attempts to mount the volume. (analyze BPB and initialize the fs object) */
-
- fs->fs_type = 0; /* Clear the file system object */
- fs->drv = LD2PD(vol); /* Bind the logical drive and a physical drive */
- stat = disk_initialize(fs->drv); /* Initialize the physical drive */
- if (stat & STA_NOINIT) /* Check if the initialization succeeded */
- return FR_NOT_READY; /* Failed to initialize due to no medium or hard error */
- if (!_FS_READONLY && wmode && (stat & STA_PROTECT)) /* Check disk write protection if needed */
- return FR_WRITE_PROTECTED;
-#if _MAX_SS != _MIN_SS /* Get sector size (multiple sector size cfg only) */
- if (disk_ioctl(fs->drv, GET_SECTOR_SIZE, &SS(fs)) != RES_OK
- || SS(fs) < _MIN_SS || SS(fs) > _MAX_SS) return FR_DISK_ERR;
-#endif
- /* Find an FAT partition on the drive. Supports only generic partitioning, FDISK and SFD. */
- bsect = 0;
- fmt = check_fs(fs, bsect); /* Load sector 0 and check if it is an FAT boot sector as SFD */
- if (fmt == 1 || (!fmt && (LD2PT(vol)))) { /* Not an FAT boot sector or forced partition number */
- UINT i;
- DWORD br[4];
-
- for (i = 0; i < 4; i++) { /* Get partition offset */
- BYTE *pt = fs->win+MBR_Table + i * SZ_PTE;
- br[i] = pt[4] ? LD_DWORD(&pt[8]) : 0;
- }
- i = LD2PT(vol); /* Partition number: 0:auto, 1-4:forced */
- if (i) i--;
- do { /* Find an FAT volume */
- bsect = br[i];
- fmt = bsect ? check_fs(fs, bsect) : 2; /* Check the partition */
- } while (!LD2PT(vol) && fmt && ++i < 4);
- }
- if (fmt == 3) return FR_DISK_ERR; /* An error occured in the disk I/O layer */
- if (fmt) return FR_NO_FILESYSTEM; /* No FAT volume is found */
-
- /* An FAT volume is found. Following code initializes the file system object */
-
- if (LD_WORD(fs->win+BPB_BytsPerSec) != SS(fs)) /* (BPB_BytsPerSec must be equal to the physical sector size) */
- return FR_NO_FILESYSTEM;
-
- fasize = LD_WORD(fs->win+BPB_FATSz16); /* Number of sectors per FAT */
- if (!fasize) fasize = LD_DWORD(fs->win+BPB_FATSz32);
- fs->fsize = fasize;
-
- fs->n_fats = fs->win[BPB_NumFATs]; /* Number of FAT copies */
- if (fs->n_fats != 1 && fs->n_fats != 2) /* (Must be 1 or 2) */
- return FR_NO_FILESYSTEM;
- fasize *= fs->n_fats; /* Number of sectors for FAT area */
-
- fs->csize = fs->win[BPB_SecPerClus]; /* Number of sectors per cluster */
- if (!fs->csize || (fs->csize & (fs->csize - 1))) /* (Must be power of 2) */
- return FR_NO_FILESYSTEM;
-
- fs->n_rootdir = LD_WORD(fs->win+BPB_RootEntCnt); /* Number of root directory entries */
- if (fs->n_rootdir % (SS(fs) / SZ_DIR)) /* (Must be sector aligned) */
- return FR_NO_FILESYSTEM;
-
- tsect = LD_WORD(fs->win+BPB_TotSec16); /* Number of sectors on the volume */
- if (!tsect) tsect = LD_DWORD(fs->win+BPB_TotSec32);
-
- nrsv = LD_WORD(fs->win+BPB_RsvdSecCnt); /* Number of reserved sectors */
- if (!nrsv) return FR_NO_FILESYSTEM; /* (Must not be 0) */
-
- /* Determine the FAT sub type */
- sysect = nrsv + fasize + fs->n_rootdir / (SS(fs) / SZ_DIR); /* RSV+FAT+DIR */
- if (tsect < sysect) return FR_NO_FILESYSTEM; /* (Invalid volume size) */
- nclst = (tsect - sysect) / fs->csize; /* Number of clusters */
- if (!nclst) return FR_NO_FILESYSTEM; /* (Invalid volume size) */
- fmt = FS_FAT12;
- if (nclst >= MIN_FAT16) fmt = FS_FAT16;
- if (nclst >= MIN_FAT32) fmt = FS_FAT32;
-
- /* Boundaries and Limits */
- fs->n_fatent = nclst + 2; /* Number of FAT entries */
- fs->volbase = bsect; /* Volume start sector */
- fs->fatbase = bsect + nrsv; /* FAT start sector */
- fs->database = bsect + sysect; /* Data start sector */
- if (fmt == FS_FAT32) {
- if (fs->n_rootdir) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must be 0) */
- fs->dirbase = LD_DWORD(fs->win+BPB_RootClus); /* Root directory start cluster */
- szbfat = fs->n_fatent * 4; /* (Needed FAT size) */
- } else {
- if (!fs->n_rootdir) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must not be 0) */
- fs->dirbase = fs->fatbase + fasize; /* Root directory start sector */
- szbfat = (fmt == FS_FAT16) ? /* (Needed FAT size) */
- fs->n_fatent * 2 : fs->n_fatent * 3 / 2 + (fs->n_fatent & 1);
- }
- if (fs->fsize < (szbfat + (SS(fs) - 1)) / SS(fs)) /* (BPB_FATSz must not be less than the size needed) */
- return FR_NO_FILESYSTEM;
-
-#if !_FS_READONLY
- /* Initialize cluster allocation information */
- fs->last_clust = fs->free_clust = 0xFFFFFFFF;
-
- /* Get fsinfo if available */
- fs->fsi_flag = 0x80;
-#if (_FS_NOFSINFO & 3) != 3
- if (fmt == FS_FAT32 /* Enable FSINFO only if FAT32 and BPB_FSInfo is 1 */
- && LD_WORD(fs->win+BPB_FSInfo) == 1
- && move_window(fs, bsect + 1) == FR_OK)
- {
- fs->fsi_flag = 0;
- if (LD_WORD(fs->win+BS_55AA) == 0xAA55 /* Load FSINFO data if available */
- && LD_DWORD(fs->win+FSI_LeadSig) == 0x41615252
- && LD_DWORD(fs->win+FSI_StrucSig) == 0x61417272)
- {
-#if (_FS_NOFSINFO & 1) == 0
- fs->free_clust = LD_DWORD(fs->win+FSI_Free_Count);
-#endif
-#if (_FS_NOFSINFO & 2) == 0
- fs->last_clust = LD_DWORD(fs->win+FSI_Nxt_Free);
-#endif
- }
- }
-#endif
-#endif
- fs->fs_type = fmt; /* FAT sub-type */
- fs->id = ++Fsid; /* File system mount ID */
-#if _FS_RPATH
- fs->cdir = 0; /* Set current directory to root */
-#endif
-#if _FS_LOCK /* Clear file lock semaphores */
- clear_lock(fs);
-#endif
-
- return FR_OK;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Check if the file/directory object is valid or not */
-/*-----------------------------------------------------------------------*/
-
-static
-FRESULT validate ( /* FR_OK(0): The object is valid, !=0: Invalid */
- void* obj /* Pointer to the object FIL/DIR to check validity */
-)
-{
- FIL *fil = (FIL*)obj; /* Assuming offset of .fs and .id in the FIL/DIR structure is identical */
-
-
- if (!fil || !fil->fs || !fil->fs->fs_type || fil->fs->id != fil->id)
- return FR_INVALID_OBJECT;
-
- ENTER_FF(fil->fs); /* Lock file system */
-
- if (disk_status(fil->fs->drv) & STA_NOINIT)
- return FR_NOT_READY;
-
- return FR_OK;
-}
-
-
-
-
-/*--------------------------------------------------------------------------
-
- Public Functions
-
---------------------------------------------------------------------------*/
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Mount/Unmount a Logical Drive */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_mount (
- FATFS* fs, /* Pointer to the file system object (NULL:unmount)*/
- const TCHAR* path, /* Logical drive number to be mounted/unmounted */
- BYTE opt /* 0:Do not mount (delayed mount), 1:Mount immediately */
-)
-{
- FATFS *cfs;
- int vol;
- FRESULT res;
- const TCHAR *rp = path;
-
-
- vol = get_ldnumber(&rp);
- if (vol < 0) return FR_INVALID_DRIVE;
- cfs = FatFs[vol]; /* Pointer to fs object */
-
- if (cfs) {
-#if _FS_LOCK
- clear_lock(cfs);
-#endif
-#if _FS_REENTRANT /* Discard sync object of the current volume */
- if (!ff_del_syncobj(cfs->sobj)) return FR_INT_ERR;
-#endif
- cfs->fs_type = 0; /* Clear old fs object */
- }
-
- if (fs) {
- fs->fs_type = 0; /* Clear new fs object */
-#if _FS_REENTRANT /* Create sync object for the new volume */
- if (!ff_cre_syncobj((BYTE)vol, &fs->sobj)) return FR_INT_ERR;
-#endif
- }
- FatFs[vol] = fs; /* Register new fs object */
-
- if (!fs || opt != 1) return FR_OK; /* Do not mount now, it will be mounted later */
-
- res = find_volume(&fs, &path, 0); /* Force mounted the volume */
- LEAVE_FF(fs, res);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Open or Create a File */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_open (
- FIL* fp, /* Pointer to the blank file object */
- const TCHAR* path, /* Pointer to the file name */
- BYTE mode /* Access mode and file open mode flags */
-)
-{
- FRESULT res;
- DIR dj;
- BYTE *dir;
- DEF_NAMEBUF;
-
-
- if (!fp) return FR_INVALID_OBJECT;
- fp->fs = 0; /* Clear file object */
-
- /* Get logical drive number */
-#if !_FS_READONLY
- mode &= FA_READ | FA_WRITE | FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_CREATE_NEW;
- res = find_volume(&dj.fs, &path, (BYTE)(mode & ~FA_READ));
-#else
- mode &= FA_READ;
- res = find_volume(&dj.fs, &path, 0);
-#endif
- if (res == FR_OK) {
- INIT_BUF(dj);
- res = follow_path(&dj, path); /* Follow the file path */
- dir = dj.dir;
-#if !_FS_READONLY /* R/W configuration */
- if (res == FR_OK) {
- if (!dir) /* Default directory itself */
- res = FR_INVALID_NAME;
-#if _FS_LOCK
- else
- res = chk_lock(&dj, (mode & ~FA_READ) ? 1 : 0);
-#endif
- }
- /* Create or Open a file */
- if (mode & (FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_CREATE_NEW)) {
- DWORD dw, cl;
-
- if (res != FR_OK) { /* No file, create new */
- if (res == FR_NO_FILE) /* There is no file to open, create a new entry */
-#if _FS_LOCK
- res = enq_lock() ? dir_register(&dj) : FR_TOO_MANY_OPEN_FILES;
-#else
- res = dir_register(&dj);
-#endif
- mode |= FA_CREATE_ALWAYS; /* File is created */
- dir = dj.dir; /* New entry */
- }
- else { /* Any object is already existing */
- if (dir[DIR_Attr] & (AM_RDO | AM_DIR)) { /* Cannot overwrite it (R/O or DIR) */
- res = FR_DENIED;
- } else {
- if (mode & FA_CREATE_NEW) /* Cannot create as new file */
- res = FR_EXIST;
- }
- }
- if (res == FR_OK && (mode & FA_CREATE_ALWAYS)) { /* Truncate it if overwrite mode */
- dw = GET_FATTIME(); /* Created time */
- ST_DWORD(dir+DIR_CrtTime, dw);
- dir[DIR_Attr] = 0; /* Reset attribute */
- ST_DWORD(dir+DIR_FileSize, 0); /* size = 0 */
- cl = ld_clust(dj.fs, dir); /* Get start cluster */
- st_clust(dir, 0); /* cluster = 0 */
- dj.fs->wflag = 1;
- if (cl) { /* Remove the cluster chain if exist */
- dw = dj.fs->winsect;
- res = remove_chain(dj.fs, cl);
- if (res == FR_OK) {
- dj.fs->last_clust = cl - 1; /* Reuse the cluster hole */
- res = move_window(dj.fs, dw);
- }
- }
- }
- }
- else { /* Open an existing file */
- if (res == FR_OK) { /* Follow succeeded */
- if (dir[DIR_Attr] & AM_DIR) { /* It is a directory */
- res = FR_NO_FILE;
- } else {
- if ((mode & FA_WRITE) && (dir[DIR_Attr] & AM_RDO)) /* R/O violation */
- res = FR_DENIED;
- }
- }
- }
- if (res == FR_OK) {
- if (mode & FA_CREATE_ALWAYS) /* Set file change flag if created or overwritten */
- mode |= FA__WRITTEN;
- fp->dir_sect = dj.fs->winsect; /* Pointer to the directory entry */
- fp->dir_ptr = dir;
-#if _FS_LOCK
- fp->lockid = inc_lock(&dj, (mode & ~FA_READ) ? 1 : 0);
- if (!fp->lockid) res = FR_INT_ERR;
-#endif
- }
-
-#else /* R/O configuration */
- if (res == FR_OK) { /* Follow succeeded */
- dir = dj.dir;
- if (!dir) { /* Current directory itself */
- res = FR_INVALID_NAME;
- } else {
- if (dir[DIR_Attr] & AM_DIR) /* It is a directory */
- res = FR_NO_FILE;
- }
- }
-#endif
- FREE_BUF();
-
- if (res == FR_OK) {
- fp->flag = mode; /* File access mode */
- fp->err = 0; /* Clear error flag */
- fp->sclust = ld_clust(dj.fs, dir); /* File start cluster */
- fp->fsize = LD_DWORD(dir+DIR_FileSize); /* File size */
- fp->fptr = 0; /* File pointer */
- fp->dsect = 0;
-#if _USE_FASTSEEK
- fp->cltbl = 0; /* Normal seek mode */
-#endif
- fp->fs = dj.fs; /* Validate file object */
- fp->id = fp->fs->id;
- }
- }
-
- LEAVE_FF(dj.fs, res);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Read File */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_read (
- FIL* fp, /* Pointer to the file object */
- void* buff, /* Pointer to data buffer */
- UINT btr, /* Number of bytes to read */
- UINT* br /* Pointer to number of bytes read */
-)
-{
- FRESULT res;
- DWORD clst, sect, remain;
- UINT rcnt, cc;
- BYTE csect, *rbuff = (BYTE*)buff;
-
-
- *br = 0; /* Clear read byte counter */
-
- res = validate(fp); /* Check validity */
- if (res != FR_OK) LEAVE_FF(fp->fs, res);
- if (fp->err) /* Check error */
- LEAVE_FF(fp->fs, (FRESULT)fp->err);
- if (!(fp->flag & FA_READ)) /* Check access mode */
- LEAVE_FF(fp->fs, FR_DENIED);
- remain = fp->fsize - fp->fptr;
- if (btr > remain) btr = (UINT)remain; /* Truncate btr by remaining bytes */
-
- for ( ; btr; /* Repeat until all data read */
- rbuff += rcnt, fp->fptr += rcnt, *br += rcnt, btr -= rcnt) {
- if ((fp->fptr % SS(fp->fs)) == 0) { /* On the sector boundary? */
- csect = (BYTE)(fp->fptr / SS(fp->fs) & (fp->fs->csize - 1)); /* Sector offset in the cluster */
- if (!csect) { /* On the cluster boundary? */
- if (fp->fptr == 0) { /* On the top of the file? */
- clst = fp->sclust; /* Follow from the origin */
- } else { /* Middle or end of the file */
-#if _USE_FASTSEEK
- if (fp->cltbl)
- clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */
- else
-#endif
- clst = get_fat(fp->fs, fp->clust); /* Follow cluster chain on the FAT */
- }
- if (clst < 2) ABORT(fp->fs, FR_INT_ERR);
- if (clst == 0xFFFFFFFF) ABORT(fp->fs, FR_DISK_ERR);
- fp->clust = clst; /* Update current cluster */
- }
- sect = clust2sect(fp->fs, fp->clust); /* Get current sector */
- if (!sect) ABORT(fp->fs, FR_INT_ERR);
- sect += csect;
- cc = btr / SS(fp->fs); /* When remaining bytes >= sector size, */
- if (cc) { /* Read maximum contiguous sectors directly */
- if (csect + cc > fp->fs->csize) /* Clip at cluster boundary */
- cc = fp->fs->csize - csect;
- if (disk_read(fp->fs->drv, rbuff, sect, cc) != RES_OK)
- ABORT(fp->fs, FR_DISK_ERR);
-#if !_FS_READONLY && _FS_MINIMIZE <= 2 /* Replace one of the read sectors with cached data if it contains a dirty sector */
-#if _FS_TINY
- if (fp->fs->wflag && fp->fs->winsect - sect < cc)
- mem_cpy(rbuff + ((fp->fs->winsect - sect) * SS(fp->fs)), fp->fs->win, SS(fp->fs));
-#else
- if ((fp->flag & FA__DIRTY) && fp->dsect - sect < cc)
- mem_cpy(rbuff + ((fp->dsect - sect) * SS(fp->fs)), fp->buf, SS(fp->fs));
-#endif
-#endif
- rcnt = SS(fp->fs) * cc; /* Number of bytes transferred */
- continue;
- }
-#if !_FS_TINY
- if (fp->dsect != sect) { /* Load data sector if not in cache */
-#if !_FS_READONLY
- if (fp->flag & FA__DIRTY) { /* Write-back dirty sector cache */
- if (disk_write(fp->fs->drv, fp->buf, fp->dsect, 1) != RES_OK)
- ABORT(fp->fs, FR_DISK_ERR);
- fp->flag &= ~FA__DIRTY;
- }
-#endif
- if (disk_read(fp->fs->drv, fp->buf, sect, 1) != RES_OK) /* Fill sector cache */
- ABORT(fp->fs, FR_DISK_ERR);
- }
-#endif
- fp->dsect = sect;
- }
- rcnt = SS(fp->fs) - ((UINT)fp->fptr % SS(fp->fs)); /* Get partial sector data from sector buffer */
- if (rcnt > btr) rcnt = btr;
-#if _FS_TINY
- if (move_window(fp->fs, fp->dsect) != FR_OK) /* Move sector window */
- ABORT(fp->fs, FR_DISK_ERR);
- mem_cpy(rbuff, &fp->fs->win[fp->fptr % SS(fp->fs)], rcnt); /* Pick partial sector */
-#else
- mem_cpy(rbuff, &fp->buf[fp->fptr % SS(fp->fs)], rcnt); /* Pick partial sector */
-#endif
- }
-
- LEAVE_FF(fp->fs, FR_OK);
-}
-
-
-
-
-#if !_FS_READONLY
-/*-----------------------------------------------------------------------*/
-/* Write File */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_write (
- FIL* fp, /* Pointer to the file object */
- const void *buff, /* Pointer to the data to be written */
- UINT btw, /* Number of bytes to write */
- UINT* bw /* Pointer to number of bytes written */
-)
-{
- FRESULT res;
- DWORD clst, sect;
- UINT wcnt, cc;
- const BYTE *wbuff = (const BYTE*)buff;
- BYTE csect;
-
-
- *bw = 0; /* Clear write byte counter */
-
- res = validate(fp); /* Check validity */
- if (res != FR_OK) LEAVE_FF(fp->fs, res);
- if (fp->err) /* Check error */
- LEAVE_FF(fp->fs, (FRESULT)fp->err);
- if (!(fp->flag & FA_WRITE)) /* Check access mode */
- LEAVE_FF(fp->fs, FR_DENIED);
- if (fp->fptr + btw < fp->fptr) btw = 0; /* File size cannot reach 4GB */
-
- for ( ; btw; /* Repeat until all data written */
- wbuff += wcnt, fp->fptr += wcnt, *bw += wcnt, btw -= wcnt) {
- if ((fp->fptr % SS(fp->fs)) == 0) { /* On the sector boundary? */
- csect = (BYTE)(fp->fptr / SS(fp->fs) & (fp->fs->csize - 1)); /* Sector offset in the cluster */
- if (!csect) { /* On the cluster boundary? */
- if (fp->fptr == 0) { /* On the top of the file? */
- clst = fp->sclust; /* Follow from the origin */
- if (clst == 0) /* When no cluster is allocated, */
- clst = create_chain(fp->fs, 0); /* Create a new cluster chain */
- } else { /* Middle or end of the file */
-#if _USE_FASTSEEK
- if (fp->cltbl)
- clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */
- else
-#endif
- clst = create_chain(fp->fs, fp->clust); /* Follow or stretch cluster chain on the FAT */
- }
- if (clst == 0) break; /* Could not allocate a new cluster (disk full) */
- if (clst == 1) ABORT(fp->fs, FR_INT_ERR);
- if (clst == 0xFFFFFFFF) ABORT(fp->fs, FR_DISK_ERR);
- fp->clust = clst; /* Update current cluster */
- if (fp->sclust == 0) fp->sclust = clst; /* Set start cluster if the first write */
- }
-#if _FS_TINY
- if (fp->fs->winsect == fp->dsect && sync_window(fp->fs)) /* Write-back sector cache */
- ABORT(fp->fs, FR_DISK_ERR);
-#else
- if (fp->flag & FA__DIRTY) { /* Write-back sector cache */
- if (disk_write(fp->fs->drv, fp->buf, fp->dsect, 1) != RES_OK)
- ABORT(fp->fs, FR_DISK_ERR);
- fp->flag &= ~FA__DIRTY;
- }
-#endif
- sect = clust2sect(fp->fs, fp->clust); /* Get current sector */
- if (!sect) ABORT(fp->fs, FR_INT_ERR);
- sect += csect;
- cc = btw / SS(fp->fs); /* When remaining bytes >= sector size, */
- if (cc) { /* Write maximum contiguous sectors directly */
- if (csect + cc > fp->fs->csize) /* Clip at cluster boundary */
- cc = fp->fs->csize - csect;
- if (disk_write(fp->fs->drv, wbuff, sect, cc) != RES_OK)
- ABORT(fp->fs, FR_DISK_ERR);
-#if _FS_MINIMIZE <= 2
-#if _FS_TINY
- if (fp->fs->winsect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */
- mem_cpy(fp->fs->win, wbuff + ((fp->fs->winsect - sect) * SS(fp->fs)), SS(fp->fs));
- fp->fs->wflag = 0;
- }
-#else
- if (fp->dsect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */
- mem_cpy(fp->buf, wbuff + ((fp->dsect - sect) * SS(fp->fs)), SS(fp->fs));
- fp->flag &= ~FA__DIRTY;
- }
-#endif
-#endif
- wcnt = SS(fp->fs) * cc; /* Number of bytes transferred */
- continue;
- }
-#if _FS_TINY
- if (fp->fptr >= fp->fsize) { /* Avoid silly cache filling at growing edge */
- if (sync_window(fp->fs)) ABORT(fp->fs, FR_DISK_ERR);
- fp->fs->winsect = sect;
- }
-#else
- if (fp->dsect != sect) { /* Fill sector cache with file data */
- if (fp->fptr < fp->fsize &&
- disk_read(fp->fs->drv, fp->buf, sect, 1) != RES_OK)
- ABORT(fp->fs, FR_DISK_ERR);
- }
-#endif
- fp->dsect = sect;
- }
- wcnt = SS(fp->fs) - ((UINT)fp->fptr % SS(fp->fs));/* Put partial sector into file I/O buffer */
- if (wcnt > btw) wcnt = btw;
-#if _FS_TINY
- if (move_window(fp->fs, fp->dsect) != FR_OK) /* Move sector window */
- ABORT(fp->fs, FR_DISK_ERR);
- mem_cpy(&fp->fs->win[fp->fptr % SS(fp->fs)], wbuff, wcnt); /* Fit partial sector */
- fp->fs->wflag = 1;
-#else
- mem_cpy(&fp->buf[fp->fptr % SS(fp->fs)], wbuff, wcnt); /* Fit partial sector */
- fp->flag |= FA__DIRTY;
-#endif
- }
-
- if (fp->fptr > fp->fsize) fp->fsize = fp->fptr; /* Update file size if needed */
- fp->flag |= FA__WRITTEN; /* Set file change flag */
-
- LEAVE_FF(fp->fs, FR_OK);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Synchronize the File */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_sync (
- FIL* fp /* Pointer to the file object */
-)
-{
- FRESULT res;
- DWORD tm;
- BYTE *dir;
-
-
- res = validate(fp); /* Check validity of the object */
- if (res == FR_OK) {
- if (fp->flag & FA__WRITTEN) { /* Has the file been written? */
- /* Write-back dirty buffer */
-#if !_FS_TINY
- if (fp->flag & FA__DIRTY) {
- if (disk_write(fp->fs->drv, fp->buf, fp->dsect, 1) != RES_OK)
- LEAVE_FF(fp->fs, FR_DISK_ERR);
- fp->flag &= ~FA__DIRTY;
- }
-#endif
- /* Update the directory entry */
- res = move_window(fp->fs, fp->dir_sect);
- if (res == FR_OK) {
- dir = fp->dir_ptr;
- dir[DIR_Attr] |= AM_ARC; /* Set archive bit */
- ST_DWORD(dir+DIR_FileSize, fp->fsize); /* Update file size */
- st_clust(dir, fp->sclust); /* Update start cluster */
- tm = GET_FATTIME(); /* Update updated time */
- ST_DWORD(dir+DIR_WrtTime, tm);
- ST_WORD(dir+DIR_LstAccDate, 0);
- fp->flag &= ~FA__WRITTEN;
- fp->fs->wflag = 1;
- res = sync_fs(fp->fs);
- }
- }
- }
-
- LEAVE_FF(fp->fs, res);
-}
-
-#endif /* !_FS_READONLY */
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Close File */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_close (
- FIL *fp /* Pointer to the file object to be closed */
-)
-{
- FRESULT res;
-
-
-#if !_FS_READONLY
- res = f_sync(fp); /* Flush cached data */
- if (res == FR_OK)
-#endif
- {
- res = validate(fp); /* Lock volume */
- if (res == FR_OK) {
-#if _FS_REENTRANT
- FATFS *fs = fp->fs;
-#endif
-#if _FS_LOCK
- res = dec_lock(fp->lockid); /* Decrement file open counter */
- if (res == FR_OK)
-#endif
- fp->fs = 0; /* Invalidate file object */
-#if _FS_REENTRANT
- unlock_fs(fs, FR_OK); /* Unlock volume */
-#endif
- }
- }
- return res;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Change Current Directory or Current Drive, Get Current Directory */
-/*-----------------------------------------------------------------------*/
-
-#if _FS_RPATH >= 1
-#if _VOLUMES >= 2
-FRESULT f_chdrive (
- const TCHAR* path /* Drive number */
-)
-{
- int vol;
-
-
- vol = get_ldnumber(&path);
- if (vol < 0) return FR_INVALID_DRIVE;
-
- CurrVol = (BYTE)vol;
-
- return FR_OK;
-}
-#endif
-
-
-FRESULT f_chdir (
- const TCHAR* path /* Pointer to the directory path */
-)
-{
- FRESULT res;
- DIR dj;
- DEF_NAMEBUF;
-
-
- /* Get logical drive number */
- res = find_volume(&dj.fs, &path, 0);
- if (res == FR_OK) {
- INIT_BUF(dj);
- res = follow_path(&dj, path); /* Follow the path */
- FREE_BUF();
- if (res == FR_OK) { /* Follow completed */
- if (!dj.dir) {
- dj.fs->cdir = dj.sclust; /* Start directory itself */
- } else {
- if (dj.dir[DIR_Attr] & AM_DIR) /* Reached to the directory */
- dj.fs->cdir = ld_clust(dj.fs, dj.dir);
- else
- res = FR_NO_PATH; /* Reached but a file */
- }
- }
- if (res == FR_NO_FILE) res = FR_NO_PATH;
- }
-
- LEAVE_FF(dj.fs, res);
-}
-
-
-#if _FS_RPATH >= 2
-FRESULT f_getcwd (
- TCHAR* buff, /* Pointer to the directory path */
- UINT len /* Size of path */
-)
-{
- FRESULT res;
- DIR dj;
- UINT i, n;
- DWORD ccl;
- TCHAR *tp;
- FILINFO fno;
- DEF_NAMEBUF;
-
-
- *buff = 0;
- /* Get logical drive number */
- res = find_volume(&dj.fs, (const TCHAR**)&buff, 0); /* Get current volume */
- if (res == FR_OK) {
- INIT_BUF(dj);
- i = len; /* Bottom of buffer (directory stack base) */
- dj.sclust = dj.fs->cdir; /* Start to follow upper directory from current directory */
- while ((ccl = dj.sclust) != 0) { /* Repeat while current directory is a sub-directory */
- res = dir_sdi(&dj, 1); /* Get parent directory */
- if (res != FR_OK) break;
- res = dir_read(&dj, 0);
- if (res != FR_OK) break;
- dj.sclust = ld_clust(dj.fs, dj.dir); /* Goto parent directory */
- res = dir_sdi(&dj, 0);
- if (res != FR_OK) break;
- do { /* Find the entry links to the child directory */
- res = dir_read(&dj, 0);
- if (res != FR_OK) break;
- if (ccl == ld_clust(dj.fs, dj.dir)) break; /* Found the entry */
- res = dir_next(&dj, 0);
- } while (res == FR_OK);
- if (res == FR_NO_FILE) res = FR_INT_ERR;/* It cannot be 'not found'. */
- if (res != FR_OK) break;
-#if _USE_LFN
- fno.lfname = buff;
- fno.lfsize = i;
-#endif
- get_fileinfo(&dj, &fno); /* Get the directory name and push it to the buffer */
- tp = fno.fname;
-#if _USE_LFN
- if (*buff) tp = buff;
-#endif
- for (n = 0; tp[n]; n++) ;
- if (i < n + 3) {
- res = FR_NOT_ENOUGH_CORE; break;
- }
- while (n) buff[--i] = tp[--n];
- buff[--i] = '/';
- }
- tp = buff;
- if (res == FR_OK) {
-#if _VOLUMES >= 2
- *tp++ = '0' + CurrVol; /* Put drive number */
- *tp++ = ':';
-#endif
- if (i == len) { /* Root-directory */
- *tp++ = '/';
- } else { /* Sub-directroy */
- do /* Add stacked path str */
- *tp++ = buff[i++];
- while (i < len);
- }
- }
- *tp = 0;
- FREE_BUF();
- }
-
- LEAVE_FF(dj.fs, res);
-}
-#endif /* _FS_RPATH >= 2 */
-#endif /* _FS_RPATH >= 1 */
-
-
-
-#if _FS_MINIMIZE <= 2
-/*-----------------------------------------------------------------------*/
-/* Seek File R/W Pointer */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_lseek (
- FIL* fp, /* Pointer to the file object */
- DWORD ofs /* File pointer from top of file */
-)
-{
- FRESULT res;
-
-
- res = validate(fp); /* Check validity of the object */
- if (res != FR_OK) LEAVE_FF(fp->fs, res);
- if (fp->err) /* Check error */
- LEAVE_FF(fp->fs, (FRESULT)fp->err);
-
-#if _USE_FASTSEEK
- if (fp->cltbl) { /* Fast seek */
- DWORD cl, pcl, ncl, tcl, dsc, tlen, ulen, *tbl;
-
- if (ofs == CREATE_LINKMAP) { /* Create CLMT */
- tbl = fp->cltbl;
- tlen = *tbl++; ulen = 2; /* Given table size and required table size */
- cl = fp->sclust; /* Top of the chain */
- if (cl) {
- do {
- /* Get a fragment */
- tcl = cl; ncl = 0; ulen += 2; /* Top, length and used items */
- do {
- pcl = cl; ncl++;
- cl = get_fat(fp->fs, cl);
- if (cl <= 1) ABORT(fp->fs, FR_INT_ERR);
- if (cl == 0xFFFFFFFF) ABORT(fp->fs, FR_DISK_ERR);
- } while (cl == pcl + 1);
- if (ulen <= tlen) { /* Store the length and top of the fragment */
- *tbl++ = ncl; *tbl++ = tcl;
- }
- } while (cl < fp->fs->n_fatent); /* Repeat until end of chain */
- }
- *fp->cltbl = ulen; /* Number of items used */
- if (ulen <= tlen)
- *tbl = 0; /* Terminate table */
- else
- res = FR_NOT_ENOUGH_CORE; /* Given table size is smaller than required */
-
- } else { /* Fast seek */
- if (ofs > fp->fsize) /* Clip offset at the file size */
- ofs = fp->fsize;
- fp->fptr = ofs; /* Set file pointer */
- if (ofs) {
- fp->clust = clmt_clust(fp, ofs - 1);
- dsc = clust2sect(fp->fs, fp->clust);
- if (!dsc) ABORT(fp->fs, FR_INT_ERR);
- dsc += (ofs - 1) / SS(fp->fs) & (fp->fs->csize - 1);
- if (fp->fptr % SS(fp->fs) && dsc != fp->dsect) { /* Refill sector cache if needed */
-#if !_FS_TINY
-#if !_FS_READONLY
- if (fp->flag & FA__DIRTY) { /* Write-back dirty sector cache */
- if (disk_write(fp->fs->drv, fp->buf, fp->dsect, 1) != RES_OK)
- ABORT(fp->fs, FR_DISK_ERR);
- fp->flag &= ~FA__DIRTY;
- }
-#endif
- if (disk_read(fp->fs->drv, fp->buf, dsc, 1) != RES_OK) /* Load current sector */
- ABORT(fp->fs, FR_DISK_ERR);
-#endif
- fp->dsect = dsc;
- }
- }
- }
- } else
-#endif
-
- /* Normal Seek */
- {
- DWORD clst, bcs, nsect, ifptr;
-
- if (ofs > fp->fsize /* In read-only mode, clip offset with the file size */
-#if !_FS_READONLY
- && !(fp->flag & FA_WRITE)
-#endif
- ) ofs = fp->fsize;
-
- ifptr = fp->fptr;
- fp->fptr = nsect = 0;
- if (ofs) {
- bcs = (DWORD)fp->fs->csize * SS(fp->fs); /* Cluster size (byte) */
- if (ifptr > 0 &&
- (ofs - 1) / bcs >= (ifptr - 1) / bcs) { /* When seek to same or following cluster, */
- fp->fptr = (ifptr - 1) & ~(bcs - 1); /* start from the current cluster */
- ofs -= fp->fptr;
- clst = fp->clust;
- } else { /* When seek to back cluster, */
- clst = fp->sclust; /* start from the first cluster */
-#if !_FS_READONLY
- if (clst == 0) { /* If no cluster chain, create a new chain */
- clst = create_chain(fp->fs, 0);
- if (clst == 1) ABORT(fp->fs, FR_INT_ERR);
- if (clst == 0xFFFFFFFF) ABORT(fp->fs, FR_DISK_ERR);
- fp->sclust = clst;
- }
-#endif
- fp->clust = clst;
- }
- if (clst != 0) {
- while (ofs > bcs) { /* Cluster following loop */
-#if !_FS_READONLY
- if (fp->flag & FA_WRITE) { /* Check if in write mode or not */
- clst = create_chain(fp->fs, clst); /* Force stretch if in write mode */
- if (clst == 0) { /* When disk gets full, clip file size */
- ofs = bcs; break;
- }
- } else
-#endif
- clst = get_fat(fp->fs, clst); /* Follow cluster chain if not in write mode */
- if (clst == 0xFFFFFFFF) ABORT(fp->fs, FR_DISK_ERR);
- if (clst <= 1 || clst >= fp->fs->n_fatent) ABORT(fp->fs, FR_INT_ERR);
- fp->clust = clst;
- fp->fptr += bcs;
- ofs -= bcs;
- }
- fp->fptr += ofs;
- if (ofs % SS(fp->fs)) {
- nsect = clust2sect(fp->fs, clst); /* Current sector */
- if (!nsect) ABORT(fp->fs, FR_INT_ERR);
- nsect += ofs / SS(fp->fs);
- }
- }
- }
- if (fp->fptr % SS(fp->fs) && nsect != fp->dsect) { /* Fill sector cache if needed */
-#if !_FS_TINY
-#if !_FS_READONLY
- if (fp->flag & FA__DIRTY) { /* Write-back dirty sector cache */
- if (disk_write(fp->fs->drv, fp->buf, fp->dsect, 1) != RES_OK)
- ABORT(fp->fs, FR_DISK_ERR);
- fp->flag &= ~FA__DIRTY;
- }
-#endif
- if (disk_read(fp->fs->drv, fp->buf, nsect, 1) != RES_OK) /* Fill sector cache */
- ABORT(fp->fs, FR_DISK_ERR);
-#endif
- fp->dsect = nsect;
- }
-#if !_FS_READONLY
- if (fp->fptr > fp->fsize) { /* Set file change flag if the file size is extended */
- fp->fsize = fp->fptr;
- fp->flag |= FA__WRITTEN;
- }
-#endif
- }
-
- LEAVE_FF(fp->fs, res);
-}
-
-
-
-#if _FS_MINIMIZE <= 1
-/*-----------------------------------------------------------------------*/
-/* Create a Directory Object */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_opendir (
- DIR* dp, /* Pointer to directory object to create */
- const TCHAR* path /* Pointer to the directory path */
-)
-{
- FRESULT res;
- FATFS* fs;
- DEF_NAMEBUF;
-
-
- if (!dp) return FR_INVALID_OBJECT;
-
- /* Get logical drive number */
- res = find_volume(&fs, &path, 0);
- if (res == FR_OK) {
- dp->fs = fs;
- INIT_BUF(*dp);
- res = follow_path(dp, path); /* Follow the path to the directory */
- FREE_BUF();
- if (res == FR_OK) { /* Follow completed */
- if (dp->dir) { /* It is not the origin directory itself */
- if (dp->dir[DIR_Attr] & AM_DIR) /* The object is a sub directory */
- dp->sclust = ld_clust(fs, dp->dir);
- else /* The object is a file */
- res = FR_NO_PATH;
- }
- if (res == FR_OK) {
- dp->id = fs->id;
- res = dir_sdi(dp, 0); /* Rewind directory */
-#if _FS_LOCK
- if (res == FR_OK) {
- if (dp->sclust) {
- dp->lockid = inc_lock(dp, 0); /* Lock the sub directory */
- if (!dp->lockid)
- res = FR_TOO_MANY_OPEN_FILES;
- } else {
- dp->lockid = 0; /* Root directory need not to be locked */
- }
- }
-#endif
- }
- }
- if (res == FR_NO_FILE) res = FR_NO_PATH;
- }
- if (res != FR_OK) dp->fs = 0; /* Invalidate the directory object if function faild */
-
- LEAVE_FF(fs, res);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Close Directory */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_closedir (
- DIR *dp /* Pointer to the directory object to be closed */
-)
-{
- FRESULT res;
-
-
- res = validate(dp);
- if (res == FR_OK) {
-#if _FS_REENTRANT
- FATFS *fs = dp->fs;
-#endif
-#if _FS_LOCK
- if (dp->lockid) /* Decrement sub-directory open counter */
- res = dec_lock(dp->lockid);
- if (res == FR_OK)
-#endif
- dp->fs = 0; /* Invalidate directory object */
-#if _FS_REENTRANT
- unlock_fs(fs, FR_OK); /* Unlock volume */
-#endif
- }
- return res;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Read Directory Entries in Sequence */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_readdir (
- DIR* dp, /* Pointer to the open directory object */
- FILINFO* fno /* Pointer to file information to return */
-)
-{
- FRESULT res;
- DEF_NAMEBUF;
-
-
- res = validate(dp); /* Check validity of the object */
- if (res == FR_OK) {
- if (!fno) {
- res = dir_sdi(dp, 0); /* Rewind the directory object */
- } else {
- INIT_BUF(*dp);
- res = dir_read(dp, 0); /* Read an item */
- if (res == FR_NO_FILE) { /* Reached end of directory */
- dp->sect = 0;
- res = FR_OK;
- }
- if (res == FR_OK) { /* A valid entry is found */
- get_fileinfo(dp, fno); /* Get the object information */
- res = dir_next(dp, 0); /* Increment index for next */
- if (res == FR_NO_FILE) {
- dp->sect = 0;
- res = FR_OK;
- }
- }
- FREE_BUF();
- }
- }
-
- LEAVE_FF(dp->fs, res);
-}
-
-
-
-#if _FS_MINIMIZE == 0
-/*-----------------------------------------------------------------------*/
-/* Get File Status */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_stat (
- const TCHAR* path, /* Pointer to the file path */
- FILINFO* fno /* Pointer to file information to return */
-)
-{
- FRESULT res;
- DIR dj;
- DEF_NAMEBUF;
-
-
- /* Get logical drive number */
- res = find_volume(&dj.fs, &path, 0);
- if (res == FR_OK) {
- INIT_BUF(dj);
- res = follow_path(&dj, path); /* Follow the file path */
- if (res == FR_OK) { /* Follow completed */
- if (dj.dir) { /* Found an object */
- if (fno) get_fileinfo(&dj, fno);
- } else { /* It is root directory */
- res = FR_INVALID_NAME;
- }
- }
- FREE_BUF();
- }
-
- LEAVE_FF(dj.fs, res);
-}
-
-
-
-#if !_FS_READONLY
-/*-----------------------------------------------------------------------*/
-/* Get Number of Free Clusters */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_getfree (
- const TCHAR* path, /* Path name of the logical drive number */
- DWORD* nclst, /* Pointer to a variable to return number of free clusters */
- FATFS** fatfs /* Pointer to return pointer to corresponding file system object */
-)
-{
- FRESULT res;
- FATFS *fs;
- DWORD n, clst, sect, stat;
- UINT i;
- BYTE fat, *p;
-
-
- /* Get logical drive number */
- res = find_volume(fatfs, &path, 0);
- fs = *fatfs;
- if (res == FR_OK) {
- /* If free_clust is valid, return it without full cluster scan */
- if (fs->free_clust <= fs->n_fatent - 2) {
- *nclst = fs->free_clust;
- } else {
- /* Get number of free clusters */
- fat = fs->fs_type;
- n = 0;
- if (fat == FS_FAT12) {
- clst = 2;
- do {
- stat = get_fat(fs, clst);
- if (stat == 0xFFFFFFFF) { res = FR_DISK_ERR; break; }
- if (stat == 1) { res = FR_INT_ERR; break; }
- if (stat == 0) n++;
- } while (++clst < fs->n_fatent);
- } else {
- clst = fs->n_fatent;
- sect = fs->fatbase;
- i = 0; p = 0;
- do {
- if (!i) {
- res = move_window(fs, sect++);
- if (res != FR_OK) break;
- p = fs->win;
- i = SS(fs);
- }
- if (fat == FS_FAT16) {
- if (LD_WORD(p) == 0) n++;
- p += 2; i -= 2;
- } else {
- if ((LD_DWORD(p) & 0x0FFFFFFF) == 0) n++;
- p += 4; i -= 4;
- }
- } while (--clst);
- }
- fs->free_clust = n;
- fs->fsi_flag |= 1;
- *nclst = n;
- }
- }
- LEAVE_FF(fs, res);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Truncate File */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_truncate (
- FIL* fp /* Pointer to the file object */
-)
-{
- FRESULT res;
- DWORD ncl;
-
-
- res = validate(fp); /* Check validity of the object */
- if (res == FR_OK) {
- if (fp->err) { /* Check error */
- res = (FRESULT)fp->err;
- } else {
- if (!(fp->flag & FA_WRITE)) /* Check access mode */
- res = FR_DENIED;
- }
- }
- if (res == FR_OK) {
- if (fp->fsize > fp->fptr) {
- fp->fsize = fp->fptr; /* Set file size to current R/W point */
- fp->flag |= FA__WRITTEN;
- if (fp->fptr == 0) { /* When set file size to zero, remove entire cluster chain */
- res = remove_chain(fp->fs, fp->sclust);
- fp->sclust = 0;
- } else { /* When truncate a part of the file, remove remaining clusters */
- ncl = get_fat(fp->fs, fp->clust);
- res = FR_OK;
- if (ncl == 0xFFFFFFFF) res = FR_DISK_ERR;
- if (ncl == 1) res = FR_INT_ERR;
- if (res == FR_OK && ncl < fp->fs->n_fatent) {
- res = put_fat(fp->fs, fp->clust, 0x0FFFFFFF);
- if (res == FR_OK) res = remove_chain(fp->fs, ncl);
- }
- }
-#if !_FS_TINY
- if (res == FR_OK && (fp->flag & FA__DIRTY)) {
- if (disk_write(fp->fs->drv, fp->buf, fp->dsect, 1) != RES_OK)
- res = FR_DISK_ERR;
- else
- fp->flag &= ~FA__DIRTY;
- }
-#endif
- }
- if (res != FR_OK) fp->err = (FRESULT)res;
- }
-
- LEAVE_FF(fp->fs, res);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Delete a File or Directory */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_unlink (
- const TCHAR* path /* Pointer to the file or directory path */
-)
-{
- FRESULT res;
- DIR dj, sdj;
- BYTE *dir;
- DWORD dclst = 0;
- DEF_NAMEBUF;
-
-
- /* Get logical drive number */
- res = find_volume(&dj.fs, &path, 1);
- if (res == FR_OK) {
- INIT_BUF(dj);
- res = follow_path(&dj, path); /* Follow the file path */
- if (_FS_RPATH && res == FR_OK && (dj.fn[NSFLAG] & NS_DOT))
- res = FR_INVALID_NAME; /* Cannot remove dot entry */
-#if _FS_LOCK
- if (res == FR_OK) res = chk_lock(&dj, 2); /* Cannot remove open object */
-#endif
- if (res == FR_OK) { /* The object is accessible */
- dir = dj.dir;
- if (!dir) {
- res = FR_INVALID_NAME; /* Cannot remove the origin directory */
- } else {
- if (dir[DIR_Attr] & AM_RDO)
- res = FR_DENIED; /* Cannot remove R/O object */
- }
- //if (res == FR_OK && (dir[DIR_Attr] & AM_DIR)) { /* Is it a sub-dir? */
- if (res == FR_OK) {
- dclst = ld_clust(dj.fs, dir);
- if (dir[DIR_Attr] & AM_DIR) { /* Is it a sub-dir? */
- if (!dclst) {
- res = FR_INT_ERR;
- } else { /* Make sure the sub-directory is empty */
- mem_cpy(&sdj, &dj, sizeof (DIR));
- sdj.sclust = dclst;
- res = dir_sdi(&sdj, 2); /* Exclude dot entries */
- if (res == FR_OK) {
- res = dir_read(&sdj, 0); /* Read an item */
- if (res == FR_OK /* Not empty directory */
-#if _FS_RPATH
- || dclst == dj.fs->cdir /* or current directory */
-#endif
- ) res = FR_DENIED;
- if (res == FR_NO_FILE) res = FR_OK; /* It is empty */
- }
- }
- }
- }
- if (res == FR_OK) {
- res = dir_remove(&dj); /* Remove the directory entry */
- if (res == FR_OK && dclst) /* Remove the cluster chain if exist */
- res = remove_chain(dj.fs, dclst);
- if (res == FR_OK) res = sync_fs(dj.fs);
- }
- }
- FREE_BUF();
- }
-
- LEAVE_FF(dj.fs, res);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Create a Directory */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_mkdir (
- const TCHAR* path /* Pointer to the directory path */
-)
-{
- FRESULT res;
- DIR dj;
- BYTE *dir, n;
- DWORD dsc, dcl, pcl, tm = GET_FATTIME();
- DEF_NAMEBUF;
-
-
- /* Get logical drive number */
- res = find_volume(&dj.fs, &path, 1);
- if (res == FR_OK) {
- INIT_BUF(dj);
- res = follow_path(&dj, path); /* Follow the file path */
- if (res == FR_OK) res = FR_EXIST; /* Any object with same name is already existing */
- if (_FS_RPATH && res == FR_NO_FILE && (dj.fn[NSFLAG] & NS_DOT))
- res = FR_INVALID_NAME;
- if (res == FR_NO_FILE) { /* Can create a new directory */
- dcl = create_chain(dj.fs, 0); /* Allocate a cluster for the new directory table */
- res = FR_OK;
- if (dcl == 0) res = FR_DENIED; /* No space to allocate a new cluster */
- if (dcl == 1) res = FR_INT_ERR;
- if (dcl == 0xFFFFFFFF) res = FR_DISK_ERR;
- if (res == FR_OK) /* Flush FAT */
- res = sync_window(dj.fs);
- if (res == FR_OK) { /* Initialize the new directory table */
- dsc = clust2sect(dj.fs, dcl);
- dir = dj.fs->win;
- mem_set(dir, 0, SS(dj.fs));
- mem_set(dir+DIR_Name, ' ', 11); /* Create "." entry */
- dir[DIR_Name] = '.';
- dir[DIR_Attr] = AM_DIR;
- ST_DWORD(dir+DIR_WrtTime, tm);
- st_clust(dir, dcl);
- mem_cpy(dir+SZ_DIR, dir, SZ_DIR); /* Create ".." entry */
- dir[SZ_DIR+1] = '.'; pcl = dj.sclust;
- if (dj.fs->fs_type == FS_FAT32 && pcl == dj.fs->dirbase)
- pcl = 0;
- st_clust(dir+SZ_DIR, pcl);
- for (n = dj.fs->csize; n; n--) { /* Write dot entries and clear following sectors */
- dj.fs->winsect = dsc++;
- dj.fs->wflag = 1;
- res = sync_window(dj.fs);
- if (res != FR_OK) break;
- mem_set(dir, 0, SS(dj.fs));
- }
- }
- if (res == FR_OK) res = dir_register(&dj); /* Register the object to the directoy */
- if (res != FR_OK) {
- remove_chain(dj.fs, dcl); /* Could not register, remove cluster chain */
- } else {
- dir = dj.dir;
- dir[DIR_Attr] = AM_DIR; /* Attribute */
- ST_DWORD(dir+DIR_WrtTime, tm); /* Created time */
- st_clust(dir, dcl); /* Table start cluster */
- dj.fs->wflag = 1;
- res = sync_fs(dj.fs);
- }
- }
- FREE_BUF();
- }
-
- LEAVE_FF(dj.fs, res);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Change Attribute */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_chmod (
- const TCHAR* path, /* Pointer to the file path */
- BYTE value, /* Attribute bits */
- BYTE mask /* Attribute mask to change */
-)
-{
- FRESULT res;
- DIR dj;
- BYTE *dir;
- DEF_NAMEBUF;
-
-
- /* Get logical drive number */
- res = find_volume(&dj.fs, &path, 1);
- if (res == FR_OK) {
- INIT_BUF(dj);
- res = follow_path(&dj, path); /* Follow the file path */
- FREE_BUF();
- if (_FS_RPATH && res == FR_OK && (dj.fn[NSFLAG] & NS_DOT))
- res = FR_INVALID_NAME;
- if (res == FR_OK) {
- dir = dj.dir;
- if (!dir) { /* Is it a root directory? */
- res = FR_INVALID_NAME;
- } else { /* File or sub directory */
- mask &= AM_RDO|AM_HID|AM_SYS|AM_ARC; /* Valid attribute mask */
- dir[DIR_Attr] = (value & mask) | (dir[DIR_Attr] & (BYTE)~mask); /* Apply attribute change */
- dj.fs->wflag = 1;
- res = sync_fs(dj.fs);
- }
- }
- }
-
- LEAVE_FF(dj.fs, res);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Rename File/Directory */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_rename (
- const TCHAR* path_old, /* Pointer to the object to be renamed */
- const TCHAR* path_new /* Pointer to the new name */
-)
-{
- FRESULT res;
- DIR djo, djn;
- BYTE buf[21], *dir;
- DWORD dw;
- DEF_NAMEBUF;
-
-
- /* Get logical drive number of the source object */
- res = find_volume(&djo.fs, &path_old, 1);
- if (res == FR_OK) {
- djn.fs = djo.fs;
- INIT_BUF(djo);
- res = follow_path(&djo, path_old); /* Check old object */
- if (_FS_RPATH && res == FR_OK && (djo.fn[NSFLAG] & NS_DOT))
- res = FR_INVALID_NAME;
-#if _FS_LOCK
- if (res == FR_OK) res = chk_lock(&djo, 2);
-#endif
- if (res == FR_OK) { /* Old object is found */
- if (!djo.dir) { /* Is root dir? */
- res = FR_NO_FILE;
- } else {
- mem_cpy(buf, djo.dir+DIR_Attr, 21); /* Save the object information except name */
- mem_cpy(&djn, &djo, sizeof (DIR)); /* Duplicate the directory object */
- if (get_ldnumber(&path_new) >= 0) /* Snip drive number off and ignore it */
- res = follow_path(&djn, path_new); /* and make sure if new object name is not conflicting */
- else
- res = FR_INVALID_DRIVE;
- if (res == FR_OK) res = FR_EXIST; /* The new object name is already existing */
- if (res == FR_NO_FILE) { /* It is a valid path and no name collision */
-/* Start of critical section that any interruption can cause a cross-link */
- res = dir_register(&djn); /* Register the new entry */
- if (res == FR_OK) {
- dir = djn.dir; /* Copy object information except name */
- mem_cpy(dir+13, buf+2, 19);
- dir[DIR_Attr] = buf[0] | AM_ARC;
- djo.fs->wflag = 1;
- if ((dir[DIR_Attr] & AM_DIR) && djo.sclust != djn.sclust) { /* Update .. entry in the directory if needed */
- dw = clust2sect(djo.fs, ld_clust(djo.fs, dir));
- if (!dw) {
- res = FR_INT_ERR;
- } else {
- res = move_window(djo.fs, dw);
- dir = djo.fs->win+SZ_DIR; /* .. entry */
- if (res == FR_OK && dir[1] == '.') {
- st_clust(dir, djn.sclust);
- djo.fs->wflag = 1;
- }
- }
- }
- if (res == FR_OK) {
- res = dir_remove(&djo); /* Remove old entry */
- if (res == FR_OK)
- res = sync_fs(djo.fs);
- }
- }
-/* End of critical section */
- }
- }
- }
- FREE_BUF();
- }
-
- LEAVE_FF(djo.fs, res);
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Change Timestamp */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_utime (
- const TCHAR* path, /* Pointer to the file/directory name */
- const FILINFO* fno /* Pointer to the time stamp to be set */
-)
-{
- FRESULT res;
- DIR dj;
- BYTE *dir;
- DEF_NAMEBUF;
-
-
- /* Get logical drive number */
- res = find_volume(&dj.fs, &path, 1);
- if (res == FR_OK) {
- INIT_BUF(dj);
- res = follow_path(&dj, path); /* Follow the file path */
- FREE_BUF();
- if (_FS_RPATH && res == FR_OK && (dj.fn[NSFLAG] & NS_DOT))
- res = FR_INVALID_NAME;
- if (res == FR_OK) {
- dir = dj.dir;
- if (!dir) { /* Root directory */
- res = FR_INVALID_NAME;
- } else { /* File or sub-directory */
- ST_WORD(dir+DIR_WrtTime, fno->ftime);
- ST_WORD(dir+DIR_WrtDate, fno->fdate);
- dj.fs->wflag = 1;
- res = sync_fs(dj.fs);
- }
- }
- }
-
- LEAVE_FF(dj.fs, res);
-}
-
-#endif /* !_FS_READONLY */
-#endif /* _FS_MINIMIZE == 0 */
-#endif /* _FS_MINIMIZE <= 1 */
-#endif /* _FS_MINIMIZE <= 2 */
-
-
-
-#if _USE_LABEL
-/*-----------------------------------------------------------------------*/
-/* Get volume label */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_getlabel (
- const TCHAR* path, /* Path name of the logical drive number */
- TCHAR* label, /* Pointer to a buffer to return the volume label */
- DWORD* vsn /* Pointer to a variable to return the volume serial number */
-)
-{
- FRESULT res;
- DIR dj;
- UINT i, j;
-
-
- /* Get logical drive number */
- res = find_volume(&dj.fs, &path, 0);
-
- /* Get volume label */
- if (res == FR_OK && label) {
- dj.sclust = 0; /* Open root directory */
- res = dir_sdi(&dj, 0);
- if (res == FR_OK) {
- res = dir_read(&dj, 1); /* Get an entry with AM_VOL */
- if (res == FR_OK) { /* A volume label is exist */
-#if _USE_LFN && _LFN_UNICODE
- WCHAR w;
- i = j = 0;
- do {
- w = (i < 11) ? dj.dir[i++] : ' ';
- if (IsDBCS1(w) && i < 11 && IsDBCS2(dj.dir[i]))
- w = w << 8 | dj.dir[i++];
- label[j++] = ff_convert(w, 1); /* OEM -> Unicode */
- } while (j < 11);
-#else
- mem_cpy(label, dj.dir, 11);
-#endif
- j = 11;
- do {
- label[j] = 0;
- if (!j) break;
- } while (label[--j] == ' ');
- }
- if (res == FR_NO_FILE) { /* No label, return nul string */
- label[0] = 0;
- res = FR_OK;
- }
- }
- }
-
- /* Get volume serial number */
- if (res == FR_OK && vsn) {
- res = move_window(dj.fs, dj.fs->volbase);
- if (res == FR_OK) {
- i = dj.fs->fs_type == FS_FAT32 ? BS_VolID32 : BS_VolID;
- *vsn = LD_DWORD(&dj.fs->win[i]);
- }
- }
-
- LEAVE_FF(dj.fs, res);
-}
-
-
-
-#if !_FS_READONLY
-/*-----------------------------------------------------------------------*/
-/* Set volume label */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_setlabel (
- const TCHAR* label /* Pointer to the volume label to set */
-)
-{
- FRESULT res;
- DIR dj;
- BYTE vn[11];
- UINT i, j, sl;
- WCHAR w;
- DWORD tm;
-
-
- /* Get logical drive number */
- res = find_volume(&dj.fs, &label, 1);
- if (res) LEAVE_FF(dj.fs, res);
-
- /* Create a volume label in directory form */
- vn[0] = 0;
- for (sl = 0; label[sl]; sl++) ; /* Get name length */
- for ( ; sl && label[sl-1] == ' '; sl--) ; /* Remove trailing spaces */
- if (sl) { /* Create volume label in directory form */
- i = j = 0;
- do {
-#if _USE_LFN && _LFN_UNICODE
- w = ff_convert(ff_wtoupper(label[i++]), 0);
-#else
- w = (BYTE)label[i++];
- if (IsDBCS1(w))
- w = (j < 10 && i < sl && IsDBCS2(label[i])) ? w << 8 | (BYTE)label[i++] : 0;
-#if _USE_LFN
- w = ff_convert(ff_wtoupper(ff_convert(w, 1)), 0);
-#else
- if (IsLower(w)) w -= 0x20; /* To upper ASCII characters */
-#ifdef _EXCVT
- if (w >= 0x80) w = ExCvt[w - 0x80]; /* To upper extended characters (SBCS cfg) */
-#else
- if (!_DF1S && w >= 0x80) w = 0; /* Reject extended characters (ASCII cfg) */
-#endif
-#endif
-#endif
- if (!w || chk_chr("\"*+,.:;<=>\?[]|\x7F", w) || j >= (UINT)((w >= 0x100) ? 10 : 11)) /* Reject invalid characters for volume label */
- LEAVE_FF(dj.fs, FR_INVALID_NAME);
- if (w >= 0x100) vn[j++] = (BYTE)(w >> 8);
- vn[j++] = (BYTE)w;
- } while (i < sl);
- while (j < 11) vn[j++] = ' ';
- }
-
- /* Set volume label */
- dj.sclust = 0; /* Open root directory */
- res = dir_sdi(&dj, 0);
- if (res == FR_OK) {
- res = dir_read(&dj, 1); /* Get an entry with AM_VOL */
- if (res == FR_OK) { /* A volume label is found */
- if (vn[0]) {
- mem_cpy(dj.dir, vn, 11); /* Change the volume label name */
- tm = GET_FATTIME();
- ST_DWORD(dj.dir+DIR_WrtTime, tm);
- } else {
- dj.dir[0] = DDE; /* Remove the volume label */
- }
- dj.fs->wflag = 1;
- res = sync_fs(dj.fs);
- } else { /* No volume label is found or error */
- if (res == FR_NO_FILE) {
- res = FR_OK;
- if (vn[0]) { /* Create volume label as new */
- res = dir_alloc(&dj, 1); /* Allocate an entry for volume label */
- if (res == FR_OK) {
- mem_set(dj.dir, 0, SZ_DIR); /* Set volume label */
- mem_cpy(dj.dir, vn, 11);
- dj.dir[DIR_Attr] = AM_VOL;
- tm = GET_FATTIME();
- ST_DWORD(dj.dir+DIR_WrtTime, tm);
- dj.fs->wflag = 1;
- res = sync_fs(dj.fs);
- }
- }
- }
- }
- }
-
- LEAVE_FF(dj.fs, res);
-}
-
-#endif /* !_FS_READONLY */
-#endif /* _USE_LABEL */
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Forward data to the stream directly (available on only tiny cfg) */
-/*-----------------------------------------------------------------------*/
-#if _USE_FORWARD && _FS_TINY
-
-FRESULT f_forward (
- FIL* fp, /* Pointer to the file object */
- UINT (*func)(const BYTE*,UINT), /* Pointer to the streaming function */
- UINT btf, /* Number of bytes to forward */
- UINT* bf /* Pointer to number of bytes forwarded */
-)
-{
- FRESULT res;
- DWORD remain, clst, sect;
- UINT rcnt;
- BYTE csect;
-
-
- *bf = 0; /* Clear transfer byte counter */
-
- res = validate(fp); /* Check validity of the object */
- if (res != FR_OK) LEAVE_FF(fp->fs, res);
- if (fp->err) /* Check error */
- LEAVE_FF(fp->fs, (FRESULT)fp->err);
- if (!(fp->flag & FA_READ)) /* Check access mode */
- LEAVE_FF(fp->fs, FR_DENIED);
-
- remain = fp->fsize - fp->fptr;
- if (btf > remain) btf = (UINT)remain; /* Truncate btf by remaining bytes */
-
- for ( ; btf && (*func)(0, 0); /* Repeat until all data transferred or stream becomes busy */
- fp->fptr += rcnt, *bf += rcnt, btf -= rcnt) {
- csect = (BYTE)(fp->fptr / SS(fp->fs) & (fp->fs->csize - 1)); /* Sector offset in the cluster */
- if ((fp->fptr % SS(fp->fs)) == 0) { /* On the sector boundary? */
- if (!csect) { /* On the cluster boundary? */
- clst = (fp->fptr == 0) ? /* On the top of the file? */
- fp->sclust : get_fat(fp->fs, fp->clust);
- if (clst <= 1) ABORT(fp->fs, FR_INT_ERR);
- if (clst == 0xFFFFFFFF) ABORT(fp->fs, FR_DISK_ERR);
- fp->clust = clst; /* Update current cluster */
- }
- }
- sect = clust2sect(fp->fs, fp->clust); /* Get current data sector */
- if (!sect) ABORT(fp->fs, FR_INT_ERR);
- sect += csect;
- if (move_window(fp->fs, sect) != FR_OK) /* Move sector window */
- ABORT(fp->fs, FR_DISK_ERR);
- fp->dsect = sect;
- rcnt = SS(fp->fs) - (WORD)(fp->fptr % SS(fp->fs)); /* Forward data from sector window */
- if (rcnt > btf) rcnt = btf;
- rcnt = (*func)(&fp->fs->win[(WORD)fp->fptr % SS(fp->fs)], rcnt);
- if (!rcnt) ABORT(fp->fs, FR_INT_ERR);
- }
-
- LEAVE_FF(fp->fs, FR_OK);
-}
-#endif /* _USE_FORWARD */
-
-
-
-#if _USE_MKFS && !_FS_READONLY
-/*-----------------------------------------------------------------------*/
-/* Create File System on the Drive */
-/*-----------------------------------------------------------------------*/
-#define N_ROOTDIR 512 /* Number of root directory entries for FAT12/16 */
-#define N_FATS 1 /* Number of FATs (1 or 2) */
-
-
-FRESULT f_mkfs (
- const TCHAR* path, /* Logical drive number */
- BYTE sfd, /* Partitioning rule 0:FDISK, 1:SFD */
- UINT au /* Size of allocation unit in unit of byte or sector */
-)
-{
- static const WORD vst[] = { 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 0};
- static const WORD cst[] = {32768, 16384, 8192, 4096, 2048, 16384, 8192, 4096, 2048, 1024, 512};
- int vol;
- BYTE fmt, md, sys, *tbl, pdrv, part;
- DWORD n_clst, vs, n, wsect;
- UINT i;
- DWORD b_vol, b_fat, b_dir, b_data; /* LBA */
- DWORD n_vol, n_rsv, n_fat, n_dir; /* Size */
- FATFS *fs;
- DSTATUS stat;
-
-
- /* Check mounted drive and clear work area */
- if (sfd > 1) return FR_INVALID_PARAMETER;
- vol = get_ldnumber(&path);
- if (vol < 0) return FR_INVALID_DRIVE;
- fs = FatFs[vol];
- if (!fs) return FR_NOT_ENABLED;
- fs->fs_type = 0;
- pdrv = LD2PD(vol); /* Physical drive */
- part = LD2PT(vol); /* Partition (0:auto detect, 1-4:get from partition table)*/
-
- /* Get disk statics */
- stat = disk_initialize(pdrv);
- if (stat & STA_NOINIT) return FR_NOT_READY;
- if (stat & STA_PROTECT) return FR_WRITE_PROTECTED;
-#if _MAX_SS != _MIN_SS /* Get disk sector size */
- if (disk_ioctl(pdrv, GET_SECTOR_SIZE, &SS(fs)) != RES_OK || SS(fs) > _MAX_SS || SS(fs) < _MIN_SS)
- return FR_DISK_ERR;
-#endif
- if (_MULTI_PARTITION && part) {
- /* Get partition information from partition table in the MBR */
- if (disk_read(pdrv, fs->win, 0, 1) != RES_OK) return FR_DISK_ERR;
- if (LD_WORD(fs->win+BS_55AA) != 0xAA55) return FR_MKFS_ABORTED;
- tbl = &fs->win[MBR_Table + (part - 1) * SZ_PTE];
- if (!tbl[4]) return FR_MKFS_ABORTED; /* No partition? */
- b_vol = LD_DWORD(tbl+8); /* Volume start sector */
- n_vol = LD_DWORD(tbl+12); /* Volume size */
- } else {
- /* Create a partition in this function */
- if (disk_ioctl(pdrv, GET_SECTOR_COUNT, &n_vol) != RES_OK || n_vol < 128)
- return FR_DISK_ERR;
- b_vol = (sfd) ? 0 : 63; /* Volume start sector */
- n_vol -= b_vol; /* Volume size */
- }
-
- if (au & (au - 1)) au = 0;
- if (!au) { /* AU auto selection */
- vs = n_vol / (2000 / (SS(fs) / 512));
- for (i = 0; vs < vst[i]; i++) ;
- au = cst[i];
- }
- if (au >= _MIN_SS) au /= SS(fs); /* Number of sectors per cluster */
- if (!au) au = 1;
- if (au > 128) au = 128;
-
- /* Pre-compute number of clusters and FAT sub-type */
- n_clst = n_vol / au;
- fmt = FS_FAT12;
- if (n_clst >= MIN_FAT16) fmt = FS_FAT16;
- if (n_clst >= MIN_FAT32) fmt = FS_FAT32;
-
- /* Determine offset and size of FAT structure */
- if (fmt == FS_FAT32) {
- n_fat = ((n_clst * 4) + 8 + SS(fs) - 1) / SS(fs);
- n_rsv = 32;
- n_dir = 0;
- } else {
- n_fat = (fmt == FS_FAT12) ? (n_clst * 3 + 1) / 2 + 3 : (n_clst * 2) + 4;
- n_fat = (n_fat + SS(fs) - 1) / SS(fs);
- n_rsv = 1;
- n_dir = (DWORD)N_ROOTDIR * SZ_DIR / SS(fs);
- }
- b_fat = b_vol + n_rsv; /* FAT area start sector */
- b_dir = b_fat + n_fat * N_FATS; /* Directory area start sector */
- b_data = b_dir + n_dir; /* Data area start sector */
- if (n_vol < b_data + au - b_vol) return FR_MKFS_ABORTED; /* Too small volume */
-
- /* Align data start sector to erase block boundary (for flash memory media) */
- if (disk_ioctl(pdrv, GET_BLOCK_SIZE, &n) != RES_OK || !n || n > 32768) n = 1;
- n = (b_data + n - 1) & ~(n - 1); /* Next nearest erase block from current data start */
- n = (n - b_data) / N_FATS;
- if (fmt == FS_FAT32) { /* FAT32: Move FAT offset */
- n_rsv += n;
- b_fat += n;
- } else { /* FAT12/16: Expand FAT size */
- n_fat += n;
- }
-
- /* Determine number of clusters and final check of validity of the FAT sub-type */
- n_clst = (n_vol - n_rsv - n_fat * N_FATS - n_dir) / au;
- if ( (fmt == FS_FAT16 && n_clst < MIN_FAT16)
- || (fmt == FS_FAT32 && n_clst < MIN_FAT32))
- return FR_MKFS_ABORTED;
-
- /* Determine system ID in the partition table */
- if (fmt == FS_FAT32) {
- sys = 0x0C; /* FAT32X */
- } else {
- if (fmt == FS_FAT12 && n_vol < 0x10000) {
- sys = 0x01; /* FAT12(<65536) */
- } else {
- sys = (n_vol < 0x10000) ? 0x04 : 0x06; /* FAT16(<65536) : FAT12/16(>=65536) */
- }
- }
-
- if (_MULTI_PARTITION && part) {
- /* Update system ID in the partition table */
- tbl = &fs->win[MBR_Table + (part - 1) * SZ_PTE];
- tbl[4] = sys;
- if (disk_write(pdrv, fs->win, 0, 1) != RES_OK) /* Write it to teh MBR */
- return FR_DISK_ERR;
- md = 0xF8;
- } else {
- if (sfd) { /* No partition table (SFD) */
- md = 0xF0;
- } else { /* Create partition table (FDISK) */
- mem_set(fs->win, 0, SS(fs));
- tbl = fs->win+MBR_Table; /* Create partition table for single partition in the drive */
- tbl[1] = 1; /* Partition start head */
- tbl[2] = 1; /* Partition start sector */
- tbl[3] = 0; /* Partition start cylinder */
- tbl[4] = sys; /* System type */
- tbl[5] = 254; /* Partition end head */
- n = (b_vol + n_vol) / 63 / 255;
- tbl[6] = (BYTE)(n >> 2 | 63); /* Partition end sector */
- tbl[7] = (BYTE)n; /* End cylinder */
- ST_DWORD(tbl+8, 63); /* Partition start in LBA */
- ST_DWORD(tbl+12, n_vol); /* Partition size in LBA */
- ST_WORD(fs->win+BS_55AA, 0xAA55); /* MBR signature */
- if (disk_write(pdrv, fs->win, 0, 1) != RES_OK) /* Write it to the MBR */
- return FR_DISK_ERR;
- md = 0xF8;
- }
- }
-
- /* Create BPB in the VBR */
- tbl = fs->win; /* Clear sector */
- mem_set(tbl, 0, SS(fs));
- mem_cpy(tbl, "\xEB\xFE\x90" "MSDOS5.0", 11);/* Boot jump code, OEM name */
- i = SS(fs); /* Sector size */
- ST_WORD(tbl+BPB_BytsPerSec, i);
- tbl[BPB_SecPerClus] = (BYTE)au; /* Sectors per cluster */
- ST_WORD(tbl+BPB_RsvdSecCnt, n_rsv); /* Reserved sectors */
- tbl[BPB_NumFATs] = N_FATS; /* Number of FATs */
- i = (fmt == FS_FAT32) ? 0 : N_ROOTDIR; /* Number of root directory entries */
- ST_WORD(tbl+BPB_RootEntCnt, i);
- if (n_vol < 0x10000) { /* Number of total sectors */
- ST_WORD(tbl+BPB_TotSec16, n_vol);
- } else {
- ST_DWORD(tbl+BPB_TotSec32, n_vol);
- }
- tbl[BPB_Media] = md; /* Media descriptor */
- ST_WORD(tbl+BPB_SecPerTrk, 63); /* Number of sectors per track */
- ST_WORD(tbl+BPB_NumHeads, 255); /* Number of heads */
- ST_DWORD(tbl+BPB_HiddSec, b_vol); /* Hidden sectors */
- n = GET_FATTIME(); /* Use current time as VSN */
- if (fmt == FS_FAT32) {
- ST_DWORD(tbl+BS_VolID32, n); /* VSN */
- ST_DWORD(tbl+BPB_FATSz32, n_fat); /* Number of sectors per FAT */
- ST_DWORD(tbl+BPB_RootClus, 2); /* Root directory start cluster (2) */
- ST_WORD(tbl+BPB_FSInfo, 1); /* FSINFO record offset (VBR+1) */
- ST_WORD(tbl+BPB_BkBootSec, 6); /* Backup boot record offset (VBR+6) */
- tbl[BS_DrvNum32] = 0x80; /* Drive number */
- tbl[BS_BootSig32] = 0x29; /* Extended boot signature */
- mem_cpy(tbl+BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */
- } else {
- ST_DWORD(tbl+BS_VolID, n); /* VSN */
- ST_WORD(tbl+BPB_FATSz16, n_fat); /* Number of sectors per FAT */
- tbl[BS_DrvNum] = 0x80; /* Drive number */
- tbl[BS_BootSig] = 0x29; /* Extended boot signature */
- mem_cpy(tbl+BS_VolLab, "NO NAME " "FAT ", 19); /* Volume label, FAT signature */
- }
- ST_WORD(tbl+BS_55AA, 0xAA55); /* Signature (Offset is fixed here regardless of sector size) */
- if (disk_write(pdrv, tbl, b_vol, 1) != RES_OK) /* Write it to the VBR sector */
- return FR_DISK_ERR;
- if (fmt == FS_FAT32) /* Write backup VBR if needed (VBR+6) */
- disk_write(pdrv, tbl, b_vol + 6, 1);
-
- /* Initialize FAT area */
- wsect = b_fat;
- for (i = 0; i < N_FATS; i++) { /* Initialize each FAT copy */
- mem_set(tbl, 0, SS(fs)); /* 1st sector of the FAT */
- n = md; /* Media descriptor byte */
- if (fmt != FS_FAT32) {
- n |= (fmt == FS_FAT12) ? 0x00FFFF00 : 0xFFFFFF00;
- ST_DWORD(tbl+0, n); /* Reserve cluster #0-1 (FAT12/16) */
- } else {
- n |= 0xFFFFFF00;
- ST_DWORD(tbl+0, n); /* Reserve cluster #0-1 (FAT32) */
- ST_DWORD(tbl+4, 0xFFFFFFFF);
- ST_DWORD(tbl+8, 0x0FFFFFFF); /* Reserve cluster #2 for root directory */
- }
- if (disk_write(pdrv, tbl, wsect++, 1) != RES_OK)
- return FR_DISK_ERR;
- mem_set(tbl, 0, SS(fs)); /* Fill following FAT entries with zero */
- for (n = 1; n < n_fat; n++) { /* This loop may take a time on FAT32 volume due to many single sector writes */
- if (disk_write(pdrv, tbl, wsect++, 1) != RES_OK)
- return FR_DISK_ERR;
- }
- }
-
- /* Initialize root directory */
- i = (fmt == FS_FAT32) ? au : (UINT)n_dir;
- do {
- if (disk_write(pdrv, tbl, wsect++, 1) != RES_OK)
- return FR_DISK_ERR;
- } while (--i);
-
-#if _USE_TRIM /* Erase data area if needed */
- {
- DWORD eb[2];
-
- eb[0] = wsect; eb[1] = wsect + (n_clst - ((fmt == FS_FAT32) ? 1 : 0)) * au - 1;
- disk_ioctl(pdrv, CTRL_TRIM, eb);
- }
-#endif
-
- /* Create FSINFO if needed */
- if (fmt == FS_FAT32) {
- ST_DWORD(tbl+FSI_LeadSig, 0x41615252);
- ST_DWORD(tbl+FSI_StrucSig, 0x61417272);
- ST_DWORD(tbl+FSI_Free_Count, n_clst - 1); /* Number of free clusters */
- ST_DWORD(tbl+FSI_Nxt_Free, 2); /* Last allocated cluster# */
- ST_WORD(tbl+BS_55AA, 0xAA55);
- disk_write(pdrv, tbl, b_vol + 1, 1); /* Write original (VBR+1) */
- disk_write(pdrv, tbl, b_vol + 7, 1); /* Write backup (VBR+7) */
- }
-
- return (disk_ioctl(pdrv, CTRL_SYNC, 0) == RES_OK) ? FR_OK : FR_DISK_ERR;
-}
-
-
-
-#if _MULTI_PARTITION
-/*-----------------------------------------------------------------------*/
-/* Divide Physical Drive */
-/*-----------------------------------------------------------------------*/
-
-FRESULT f_fdisk (
- BYTE pdrv, /* Physical drive number */
- const DWORD szt[], /* Pointer to the size table for each partitions */
- void* work /* Pointer to the working buffer */
-)
-{
- UINT i, n, sz_cyl, tot_cyl, b_cyl, e_cyl, p_cyl;
- BYTE s_hd, e_hd, *p, *buf = (BYTE*)work;
- DSTATUS stat;
- DWORD sz_disk, sz_part, s_part;
-
-
- stat = disk_initialize(pdrv);
- if (stat & STA_NOINIT) return FR_NOT_READY;
- if (stat & STA_PROTECT) return FR_WRITE_PROTECTED;
- if (disk_ioctl(pdrv, GET_SECTOR_COUNT, &sz_disk)) return FR_DISK_ERR;
-
- /* Determine CHS in the table regardless of the drive geometry */
- for (n = 16; n < 256 && sz_disk / n / 63 > 1024; n *= 2) ;
- if (n == 256) n--;
- e_hd = n - 1;
- sz_cyl = 63 * n;
- tot_cyl = sz_disk / sz_cyl;
-
- /* Create partition table */
- mem_set(buf, 0, _MAX_SS);
- p = buf + MBR_Table; b_cyl = 0;
- for (i = 0; i < 4; i++, p += SZ_PTE) {
- p_cyl = (szt[i] <= 100U) ? (DWORD)tot_cyl * szt[i] / 100 : szt[i] / sz_cyl;
- if (!p_cyl) continue;
- s_part = (DWORD)sz_cyl * b_cyl;
- sz_part = (DWORD)sz_cyl * p_cyl;
- if (i == 0) { /* Exclude first track of cylinder 0 */
- s_hd = 1;
- s_part += 63; sz_part -= 63;
- } else {
- s_hd = 0;
- }
- e_cyl = b_cyl + p_cyl - 1;
- if (e_cyl >= tot_cyl) return FR_INVALID_PARAMETER;
-
- /* Set partition table */
- p[1] = s_hd; /* Start head */
- p[2] = (BYTE)((b_cyl >> 2) + 1); /* Start sector */
- p[3] = (BYTE)b_cyl; /* Start cylinder */
- p[4] = 0x06; /* System type (temporary setting) */
- p[5] = e_hd; /* End head */
- p[6] = (BYTE)((e_cyl >> 2) + 63); /* End sector */
- p[7] = (BYTE)e_cyl; /* End cylinder */
- ST_DWORD(p + 8, s_part); /* Start sector in LBA */
- ST_DWORD(p + 12, sz_part); /* Partition size */
-
- /* Next partition */
- b_cyl += p_cyl;
- }
- ST_WORD(p, 0xAA55);
-
- /* Write it to the MBR */
- return (disk_write(pdrv, buf, 0, 1) != RES_OK || disk_ioctl(pdrv, CTRL_SYNC, 0) != RES_OK) ? FR_DISK_ERR : FR_OK;
-}
-
-
-#endif /* _MULTI_PARTITION */
-#endif /* _USE_MKFS && !_FS_READONLY */
-
-
-
-
-#if _USE_STRFUNC
-/*-----------------------------------------------------------------------*/
-/* Get a string from the file */
-/*-----------------------------------------------------------------------*/
-
-TCHAR* f_gets (
- TCHAR* buff, /* Pointer to the string buffer to read */
- int len, /* Size of string buffer (characters) */
- FIL* fp /* Pointer to the file object */
-)
-{
- int n = 0;
- TCHAR c, *p = buff;
- BYTE s[2];
- UINT rc;
-
-
- while (n < len - 1) { /* Read characters until buffer gets filled */
-#if _USE_LFN && _LFN_UNICODE
-#if _STRF_ENCODE == 3 /* Read a character in UTF-8 */
- f_read(fp, s, 1, &rc);
- if (rc != 1) break;
- c = s[0];
- if (c >= 0x80) {
- if (c < 0xC0) continue; /* Skip stray trailer */
- if (c < 0xE0) { /* Two-byte sequence */
- f_read(fp, s, 1, &rc);
- if (rc != 1) break;
- c = (c & 0x1F) << 6 | (s[0] & 0x3F);
- if (c < 0x80) c = '?';
- } else {
- if (c < 0xF0) { /* Three-byte sequence */
- f_read(fp, s, 2, &rc);
- if (rc != 2) break;
- c = c << 12 | (s[0] & 0x3F) << 6 | (s[1] & 0x3F);
- if (c < 0x800) c = '?';
- } else { /* Reject four-byte sequence */
- c = '?';
- }
- }
- }
-#elif _STRF_ENCODE == 2 /* Read a character in UTF-16BE */
- f_read(fp, s, 2, &rc);
- if (rc != 2) break;
- c = s[1] + (s[0] << 8);
-#elif _STRF_ENCODE == 1 /* Read a character in UTF-16LE */
- f_read(fp, s, 2, &rc);
- if (rc != 2) break;
- c = s[0] + (s[1] << 8);
-#else /* Read a character in ANSI/OEM */
- f_read(fp, s, 1, &rc);
- if (rc != 1) break;
- c = s[0];
- if (IsDBCS1(c)) {
- f_read(fp, s, 1, &rc);
- if (rc != 1) break;
- c = (c << 8) + s[0];
- }
- c = ff_convert(c, 1); /* OEM -> Unicode */
- if (!c) c = '?';
-#endif
-#else /* Read a character without conversion */
- f_read(fp, s, 1, &rc);
- if (rc != 1) break;
- c = s[0];
-#endif
- if (_USE_STRFUNC == 2 && c == '\r') continue; /* Strip '\r' */
- *p++ = c;
- n++;
- if (c == '\n') break; /* Break on EOL */
- }
- *p = 0;
- return n ? buff : 0; /* When no data read (eof or error), return with error. */
-}
-
-
-
-#if !_FS_READONLY
-#include <stdarg.h>
-/*-----------------------------------------------------------------------*/
-/* Put a character to the file */
-/*-----------------------------------------------------------------------*/
-
-typedef struct {
- FIL* fp;
- int idx, nchr;
- BYTE buf[64];
-} putbuff;
-
-
-static
-void putc_bfd (
- putbuff* pb,
- TCHAR c
-)
-{
- UINT bw;
- int i;
-
-
- if (_USE_STRFUNC == 2 && c == '\n') /* LF -> CRLF conversion */
- putc_bfd(pb, '\r');
-
- i = pb->idx; /* Buffer write index (-1:error) */
- if (i < 0) return;
-
-#if _USE_LFN && _LFN_UNICODE
-#if _STRF_ENCODE == 3 /* Write a character in UTF-8 */
- if (c < 0x80) { /* 7-bit */
- pb->buf[i++] = (BYTE)c;
- } else {
- if (c < 0x800) { /* 11-bit */
- pb->buf[i++] = (BYTE)(0xC0 | c >> 6);
- } else { /* 16-bit */
- pb->buf[i++] = (BYTE)(0xE0 | c >> 12);
- pb->buf[i++] = (BYTE)(0x80 | (c >> 6 & 0x3F));
- }
- pb->buf[i++] = (BYTE)(0x80 | (c & 0x3F));
- }
-#elif _STRF_ENCODE == 2 /* Write a character in UTF-16BE */
- pb->buf[i++] = (BYTE)(c >> 8);
- pb->buf[i++] = (BYTE)c;
-#elif _STRF_ENCODE == 1 /* Write a character in UTF-16LE */
- pb->buf[i++] = (BYTE)c;
- pb->buf[i++] = (BYTE)(c >> 8);
-#else /* Write a character in ANSI/OEM */
- c = ff_convert(c, 0); /* Unicode -> OEM */
- if (!c) c = '?';
- if (c >= 0x100)
- pb->buf[i++] = (BYTE)(c >> 8);
- pb->buf[i++] = (BYTE)c;
-#endif
-#else /* Write a character without conversion */
- pb->buf[i++] = (BYTE)c;
-#endif
-
- if (i >= (int)(sizeof pb->buf) - 3) { /* Write buffered characters to the file */
- f_write(pb->fp, pb->buf, (UINT)i, &bw);
- i = (bw == (UINT)i) ? 0 : -1;
- }
- pb->idx = i;
- pb->nchr++;
-}
-
-
-
-int f_putc (
- TCHAR c, /* A character to be output */
- FIL* fp /* Pointer to the file object */
-)
-{
- putbuff pb;
- UINT nw;
-
-
- pb.fp = fp; /* Initialize output buffer */
- pb.nchr = pb.idx = 0;
-
- putc_bfd(&pb, c); /* Put a character */
-
- if ( pb.idx >= 0 /* Flush buffered characters to the file */
- && f_write(pb.fp, pb.buf, (UINT)pb.idx, &nw) == FR_OK
- && (UINT)pb.idx == nw) return pb.nchr;
- return EOF;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Put a string to the file */
-/*-----------------------------------------------------------------------*/
-
-int f_puts (
- const TCHAR* str, /* Pointer to the string to be output */
- FIL* fp /* Pointer to the file object */
-)
-{
- putbuff pb;
- UINT nw;
-
-
- pb.fp = fp; /* Initialize output buffer */
- pb.nchr = pb.idx = 0;
-
- while (*str) /* Put the string */
- putc_bfd(&pb, *str++);
-
- if ( pb.idx >= 0 /* Flush buffered characters to the file */
- && f_write(pb.fp, pb.buf, (UINT)pb.idx, &nw) == FR_OK
- && (UINT)pb.idx == nw) return pb.nchr;
- return EOF;
-}
-
-
-
-
-/*-----------------------------------------------------------------------*/
-/* Put a formatted string to the file */
-/*-----------------------------------------------------------------------*/
-
-int f_printf (
- FIL* fp, /* Pointer to the file object */
- const TCHAR* fmt, /* Pointer to the format string */
- ... /* Optional arguments... */
-)
-{
- va_list arp;
- BYTE f, r;
- UINT nw, i, j, w;
- DWORD v;
- TCHAR c, d, s[16], *p;
- putbuff pb;
-
-
- pb.fp = fp; /* Initialize output buffer */
- pb.nchr = pb.idx = 0;
-
- va_start(arp, fmt);
-
- for (;;) {
- c = *fmt++;
- if (c == 0) break; /* End of string */
- if (c != '%') { /* Non escape character */
- putc_bfd(&pb, c);
- continue;
- }
- w = f = 0;
- c = *fmt++;
- if (c == '0') { /* Flag: '0' padding */
- f = 1; c = *fmt++;
- } else {
- if (c == '-') { /* Flag: left justified */
- f = 2; c = *fmt++;
- }
- }
- while (IsDigit(c)) { /* Precision */
- w = w * 10 + c - '0';
- c = *fmt++;
- }
- if (c == 'l' || c == 'L') { /* Prefix: Size is long int */
- f |= 4; c = *fmt++;
- }
- if (!c) break;
- d = c;
- if (IsLower(d)) d -= 0x20;
- switch (d) { /* Type is... */
- case 'S' : /* String */
- p = va_arg(arp, TCHAR*);
- for (j = 0; p[j]; j++) ;
- if (!(f & 2)) {
- while (j++ < w) putc_bfd(&pb, ' ');
- }
- while (*p) putc_bfd(&pb, *p++);
- while (j++ < w) putc_bfd(&pb, ' ');
- continue;
- case 'C' : /* Character */
- putc_bfd(&pb, (TCHAR)va_arg(arp, int)); continue;
- case 'B' : /* Binary */
- r = 2; break;
- case 'O' : /* Octal */
- r = 8; break;
- case 'D' : /* Signed decimal */
- case 'U' : /* Unsigned decimal */
- r = 10; break;
- case 'X' : /* Hexdecimal */
- r = 16; break;
- default: /* Unknown type (pass-through) */
- putc_bfd(&pb, c); continue;
- }
-
- /* Get an argument and put it in numeral */
- v = (f & 4) ? (DWORD)va_arg(arp, long) : ((d == 'D') ? (DWORD)(long)va_arg(arp, int) : (DWORD)va_arg(arp, unsigned int));
- if (d == 'D' && (v & 0x80000000)) {
- v = 0 - v;
- f |= 8;
- }
- i = 0;
- do {
- d = (TCHAR)(v % r); v /= r;
- if (d > 9) d += (c == 'x') ? 0x27 : 0x07;
- s[i++] = d + '0';
- } while (v && i < sizeof s / sizeof s[0]);
- if (f & 8) s[i++] = '-';
- j = i; d = (f & 1) ? '0' : ' ';
- while (!(f & 2) && j++ < w) putc_bfd(&pb, d);
- do putc_bfd(&pb, s[--i]); while (i);
- while (j++ < w) putc_bfd(&pb, d);
- }
-
- va_end(arp);
-
- if ( pb.idx >= 0 /* Flush buffered characters to the file */
- && f_write(pb.fp, pb.buf, (UINT)pb.idx, &nw) == FR_OK
- && (UINT)pb.idx == nw) return pb.nchr;
- return EOF;
-}
-
-#endif /* !_FS_READONLY */
-#endif /* _USE_STRFUNC */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.h
deleted file mode 100644
index 5eaad5f..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.h
+++ /dev/null
@@ -1,341 +0,0 @@
-/*---------------------------------------------------------------------------/
-/ FatFs - FAT file system module include file R0.10c (C)ChaN, 2014
-/----------------------------------------------------------------------------/
-/ FatFs module is a generic FAT file system module for small embedded systems.
-/ This is a free software that opened for education, research and commercial
-/ developments under license policy of following terms.
-/
-/ Copyright (C) 2014, ChaN, all right reserved.
-/
-/ * The FatFs module is a free software and there is NO WARRANTY.
-/ * No restriction on use. You can use, modify and redistribute it for
-/ personal, non-profit or commercial product UNDER YOUR RESPONSIBILITY.
-/ * Redistributions of source code must retain the above copyright notice.
-/
-/----------------------------------------------------------------------------*/
-
-#ifndef _FATFS
-#define _FATFS 80376 /* Revision ID */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "integer.h" /* Basic integer types */
-#include "ffconf.h" /* FatFs configuration options */
-#if _FATFS != _FFCONF
-#error Wrong configuration file (ffconf.h).
-#endif
-
-
-
-/* Definitions of volume management */
-
-#if _MULTI_PARTITION /* Multiple partition configuration */
-typedef struct {
- BYTE pd; /* Physical drive number */
- BYTE pt; /* Partition: 0:Auto detect, 1-4:Forced partition) */
-} PARTITION;
-extern PARTITION VolToPart[]; /* Volume - Partition resolution table */
-#define LD2PD(vol) (VolToPart[vol].pd) /* Get physical drive number */
-#define LD2PT(vol) (VolToPart[vol].pt) /* Get partition index */
-
-#else /* Single partition configuration */
-#define LD2PD(vol) (BYTE)(vol) /* Each logical drive is bound to the same physical drive number */
-#define LD2PT(vol) 0 /* Find first valid partition or in SFD */
-
-#endif
-
-
-
-/* Type of path name strings on FatFs API */
-
-#if _LFN_UNICODE /* Unicode string */
-#if !_USE_LFN
-#error _LFN_UNICODE must be 0 at non-LFN cfg.
-#endif
-#ifndef _INC_TCHAR
-typedef WCHAR TCHAR;
-#define _T(x) L ## x
-#define _TEXT(x) L ## x
-#endif
-
-#else /* ANSI/OEM string */
-#ifndef _INC_TCHAR
-typedef char TCHAR;
-#define _T(x) x
-#define _TEXT(x) x
-#endif
-
-#endif
-
-
-
-/* File system object structure (FATFS) */
-
-typedef struct {
- BYTE fs_type; /* FAT sub-type (0:Not mounted) */
- BYTE drv; /* Physical drive number */
- BYTE csize; /* Sectors per cluster (1,2,4...128) */
- BYTE n_fats; /* Number of FAT copies (1 or 2) */
- BYTE wflag; /* win[] flag (b0:dirty) */
- BYTE fsi_flag; /* FSINFO flags (b7:disabled, b0:dirty) */
- WORD id; /* File system mount ID */
- WORD n_rootdir; /* Number of root directory entries (FAT12/16) */
-#if _MAX_SS != _MIN_SS
- WORD ssize; /* Bytes per sector (512, 1024, 2048 or 4096) */
-#endif
-#if _FS_REENTRANT
- _SYNC_t sobj; /* Identifier of sync object */
-#endif
-#if !_FS_READONLY
- DWORD last_clust; /* Last allocated cluster */
- DWORD free_clust; /* Number of free clusters */
-#endif
-#if _FS_RPATH
- DWORD cdir; /* Current directory start cluster (0:root) */
-#endif
- DWORD n_fatent; /* Number of FAT entries, = number of clusters + 2 */
- DWORD fsize; /* Sectors per FAT */
- DWORD volbase; /* Volume start sector */
- DWORD fatbase; /* FAT start sector */
- DWORD dirbase; /* Root directory start sector (FAT32:Cluster#) */
- DWORD database; /* Data start sector */
- DWORD winsect; /* Current sector appearing in the win[] */
- BYTE win[_MAX_SS]; /* Disk access window for Directory, FAT (and file data at tiny cfg) */
-} FATFS;
-
-
-
-/* File object structure (FIL) */
-
-typedef struct {
- FATFS* fs; /* Pointer to the related file system object (**do not change order**) */
- WORD id; /* Owner file system mount ID (**do not change order**) */
- BYTE flag; /* Status flags */
- BYTE err; /* Abort flag (error code) */
- DWORD fptr; /* File read/write pointer (Zeroed on file open) */
- DWORD fsize; /* File size */
- DWORD sclust; /* File start cluster (0:no cluster chain, always 0 when fsize is 0) */
- DWORD clust; /* Current cluster of fpter (not valid when fprt is 0) */
- DWORD dsect; /* Sector number appearing in buf[] (0:invalid) */
-#if !_FS_READONLY
- DWORD dir_sect; /* Sector number containing the directory entry */
- BYTE* dir_ptr; /* Pointer to the directory entry in the win[] */
-#endif
-#if _USE_FASTSEEK
- DWORD* cltbl; /* Pointer to the cluster link map table (Nulled on file open) */
-#endif
-#if _FS_LOCK
- UINT lockid; /* File lock ID origin from 1 (index of file semaphore table Files[]) */
-#endif
-#if !_FS_TINY
- BYTE buf[_MAX_SS]; /* File private data read/write window */
-#endif
-} FIL;
-
-
-
-/* Directory object structure (DIR) */
-
-typedef struct {
- FATFS* fs; /* Pointer to the owner file system object (**do not change order**) */
- WORD id; /* Owner file system mount ID (**do not change order**) */
- WORD index; /* Current read/write index number */
- DWORD sclust; /* Table start cluster (0:Root dir) */
- DWORD clust; /* Current cluster */
- DWORD sect; /* Current sector */
- BYTE* dir; /* Pointer to the current SFN entry in the win[] */
- BYTE* fn; /* Pointer to the SFN (in/out) {file[8],ext[3],status[1]} */
-#if _FS_LOCK
- UINT lockid; /* File lock ID (index of file semaphore table Files[]) */
-#endif
-#if _USE_LFN
- WCHAR* lfn; /* Pointer to the LFN working buffer */
- WORD lfn_idx; /* Last matched LFN index number (0xFFFF:No LFN) */
-#endif
-} DIR;
-
-
-
-/* File status structure (FILINFO) */
-
-typedef struct {
- DWORD fsize; /* File size */
- WORD fdate; /* Last modified date */
- WORD ftime; /* Last modified time */
- BYTE fattrib; /* Attribute */
- TCHAR fname[13]; /* Short file name (8.3 format) */
-#if _USE_LFN
- TCHAR* lfname; /* Pointer to the LFN buffer */
- UINT lfsize; /* Size of LFN buffer in TCHAR */
-#endif
-} FILINFO;
-
-
-
-/* File function return code (FRESULT) */
-
-typedef enum {
- FR_OK = 0, /* (0) Succeeded */
- FR_DISK_ERR, /* (1) A hard error occurred in the low level disk I/O layer */
- FR_INT_ERR, /* (2) Assertion failed */
- FR_NOT_READY, /* (3) The physical drive cannot work */
- FR_NO_FILE, /* (4) Could not find the file */
- FR_NO_PATH, /* (5) Could not find the path */
- FR_INVALID_NAME, /* (6) The path name format is invalid */
- FR_DENIED, /* (7) Access denied due to prohibited access or directory full */
- FR_EXIST, /* (8) Access denied due to prohibited access */
- FR_INVALID_OBJECT, /* (9) The file/directory object is invalid */
- FR_WRITE_PROTECTED, /* (10) The physical drive is write protected */
- FR_INVALID_DRIVE, /* (11) The logical drive number is invalid */
- FR_NOT_ENABLED, /* (12) The volume has no work area */
- FR_NO_FILESYSTEM, /* (13) There is no valid FAT volume */
- FR_MKFS_ABORTED, /* (14) The f_mkfs() aborted due to any parameter error */
- FR_TIMEOUT, /* (15) Could not get a grant to access the volume within defined period */
- FR_LOCKED, /* (16) The operation is rejected according to the file sharing policy */
- FR_NOT_ENOUGH_CORE, /* (17) LFN working buffer could not be allocated */
- FR_TOO_MANY_OPEN_FILES, /* (18) Number of open files > _FS_SHARE */
- FR_INVALID_PARAMETER /* (19) Given parameter is invalid */
-} FRESULT;
-
-
-
-/*--------------------------------------------------------------*/
-/* FatFs module application interface */
-
-FRESULT f_open (FIL* fp, const TCHAR* path, BYTE mode); /* Open or create a file */
-FRESULT f_close (FIL* fp); /* Close an open file object */
-FRESULT f_read (FIL* fp, void* buff, UINT btr, UINT* br); /* Read data from a file */
-FRESULT f_write (FIL* fp, const void* buff, UINT btw, UINT* bw); /* Write data to a file */
-FRESULT f_forward (FIL* fp, UINT(*func)(const BYTE*,UINT), UINT btf, UINT* bf); /* Forward data to the stream */
-FRESULT f_lseek (FIL* fp, DWORD ofs); /* Move file pointer of a file object */
-FRESULT f_truncate (FIL* fp); /* Truncate file */
-FRESULT f_sync (FIL* fp); /* Flush cached data of a writing file */
-FRESULT f_opendir (DIR* dp, const TCHAR* path); /* Open a directory */
-FRESULT f_closedir (DIR* dp); /* Close an open directory */
-FRESULT f_readdir (DIR* dp, FILINFO* fno); /* Read a directory item */
-FRESULT f_mkdir (const TCHAR* path); /* Create a sub directory */
-FRESULT f_unlink (const TCHAR* path); /* Delete an existing file or directory */
-FRESULT f_rename (const TCHAR* path_old, const TCHAR* path_new); /* Rename/Move a file or directory */
-FRESULT f_stat (const TCHAR* path, FILINFO* fno); /* Get file status */
-FRESULT f_chmod (const TCHAR* path, BYTE value, BYTE mask); /* Change attribute of the file/dir */
-FRESULT f_utime (const TCHAR* path, const FILINFO* fno); /* Change times-tamp of the file/dir */
-FRESULT f_chdir (const TCHAR* path); /* Change current directory */
-FRESULT f_chdrive (const TCHAR* path); /* Change current drive */
-FRESULT f_getcwd (TCHAR* buff, UINT len); /* Get current directory */
-FRESULT f_getfree (const TCHAR* path, DWORD* nclst, FATFS** fatfs); /* Get number of free clusters on the drive */
-FRESULT f_getlabel (const TCHAR* path, TCHAR* label, DWORD* vsn); /* Get volume label */
-FRESULT f_setlabel (const TCHAR* label); /* Set volume label */
-FRESULT f_mount (FATFS* fs, const TCHAR* path, BYTE opt); /* Mount/Unmount a logical drive */
-FRESULT f_mkfs (const TCHAR* path, BYTE sfd, UINT au); /* Create a file system on the volume */
-FRESULT f_fdisk (BYTE pdrv, const DWORD szt[], void* work); /* Divide a physical drive into some partitions */
-int f_putc (TCHAR c, FIL* fp); /* Put a character to the file */
-int f_puts (const TCHAR* str, FIL* cp); /* Put a string to the file */
-int f_printf (FIL* fp, const TCHAR* str, ...); /* Put a formatted string to the file */
-TCHAR* f_gets (TCHAR* buff, int len, FIL* fp); /* Get a string from the file */
-
-#define f_eof(fp) ((int)((fp)->fptr == (fp)->fsize))
-#define f_error(fp) ((fp)->err)
-#define f_tell(fp) ((fp)->fptr)
-#define f_size(fp) ((fp)->fsize)
-
-#ifndef EOF
-#define EOF (-1)
-#endif
-
-
-
-
-/*--------------------------------------------------------------*/
-/* Additional user defined functions */
-
-/* RTC function */
-#if !_FS_READONLY && !_FS_NORTC
-DWORD get_fattime (void);
-#endif
-
-/* Unicode support functions */
-#if _USE_LFN /* Unicode - OEM code conversion */
-WCHAR ff_convert (WCHAR chr, UINT dir); /* OEM-Unicode bidirectional conversion */
-WCHAR ff_wtoupper (WCHAR chr); /* Unicode upper-case conversion */
-#if _USE_LFN == 3 /* Memory functions */
-void* ff_memalloc (UINT msize); /* Allocate memory block */
-void ff_memfree (void* mblock); /* Free memory block */
-#endif
-#endif
-
-/* Sync functions */
-#if _FS_REENTRANT
-int ff_cre_syncobj (BYTE vol, _SYNC_t* sobj); /* Create a sync object */
-int ff_req_grant (_SYNC_t sobj); /* Lock sync object */
-void ff_rel_grant (_SYNC_t sobj); /* Unlock sync object */
-int ff_del_syncobj (_SYNC_t sobj); /* Delete a sync object */
-#endif
-
-
-
-
-/*--------------------------------------------------------------*/
-/* Flags and offset address */
-
-
-/* File access control and file status flags (FIL.flag) */
-
-#define FA_READ 0x01
-#define FA_OPEN_EXISTING 0x00
-
-#if !_FS_READONLY
-#define FA_WRITE 0x02
-#define FA_CREATE_NEW 0x04
-#define FA_CREATE_ALWAYS 0x08
-#define FA_OPEN_ALWAYS 0x10
-#define FA__WRITTEN 0x20
-#define FA__DIRTY 0x40
-#endif
-
-
-/* FAT sub type (FATFS.fs_type) */
-
-#define FS_FAT12 1
-#define FS_FAT16 2
-#define FS_FAT32 3
-
-
-/* File attribute bits for directory entry */
-
-#define AM_RDO 0x01 /* Read only */
-#define AM_HID 0x02 /* Hidden */
-#define AM_SYS 0x04 /* System */
-#define AM_VOL 0x08 /* Volume label */
-#define AM_LFN 0x0F /* LFN entry */
-#define AM_DIR 0x10 /* Directory */
-#define AM_ARC 0x20 /* Archive */
-#define AM_MASK 0x3F /* Mask of defined bits */
-
-
-/* Fast seek feature */
-#define CREATE_LINKMAP 0xFFFFFFFF
-
-
-
-/*--------------------------------*/
-/* Multi-byte word access macros */
-
-#if _WORD_ACCESS == 1 /* Enable word access to the FAT structure */
-#define LD_WORD(ptr) (WORD)(*(WORD*)(BYTE*)(ptr))
-#define LD_DWORD(ptr) (DWORD)(*(DWORD*)(BYTE*)(ptr))
-#define ST_WORD(ptr,val) *(WORD*)(BYTE*)(ptr)=(WORD)(val)
-#define ST_DWORD(ptr,val) *(DWORD*)(BYTE*)(ptr)=(DWORD)(val)
-#else /* Use byte-by-byte access to the FAT structure */
-#define LD_WORD(ptr) (WORD)(((WORD)*((BYTE*)(ptr)+1)<<8)|(WORD)*(BYTE*)(ptr))
-#define LD_DWORD(ptr) (DWORD)(((DWORD)*((BYTE*)(ptr)+3)<<24)|((DWORD)*((BYTE*)(ptr)+2)<<16)|((WORD)*((BYTE*)(ptr)+1)<<8)|*(BYTE*)(ptr))
-#define ST_WORD(ptr,val) *(BYTE*)(ptr)=(BYTE)(val); *((BYTE*)(ptr)+1)=(BYTE)((WORD)(val)>>8)
-#define ST_DWORD(ptr,val) *(BYTE*)(ptr)=(BYTE)(val); *((BYTE*)(ptr)+1)=(BYTE)((WORD)(val)>>8); *((BYTE*)(ptr)+2)=(BYTE)((DWORD)(val)>>16); *((BYTE*)(ptr)+3)=(BYTE)((DWORD)(val)>>24)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _FATFS */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ffconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ffconf.h
deleted file mode 100644
index 0ae6f01..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ffconf.h
+++ /dev/null
@@ -1,271 +0,0 @@
-/*---------------------------------------------------------------------------/
-/ FatFs - FAT file system module configuration file R0.10c (C)ChaN, 2014
-/---------------------------------------------------------------------------*/
-#include "ch.h"
-
-#define _FFCONF 80376 /* Revision ID */
-
-/*---------------------------------------------------------------------------/
-/ Functions and Buffer Configurations
-/---------------------------------------------------------------------------*/
-
-#define _FS_TINY 0
-/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
-/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS
-/ bytes. Instead of private sector buffer eliminated from the file object,
-/ common sector buffer in the file system object (FATFS) is used for the file
-/ data transfer. */
-
-
-#define _FS_READONLY 0
-/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
-/ Read-only configuration removes basic writing API functions, f_write(),
-/ f_sync(), f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(),
-/ f_getfree() and optional writing functions as well. */
-
-
-#define _FS_MINIMIZE 0
-/* This option defines minimization level to remove some API functions.
-/
-/ 0: All basic functions are enabled.
-/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_chmod(), f_utime(),
-/ f_truncate() and f_rename() function are removed.
-/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
-/ 3: f_lseek() function is removed in addition to 2. */
-
-
-#define _USE_STRFUNC 0
-/* This option switches string functions, f_gets(), f_putc(), f_puts() and
-/ f_printf().
-/
-/ 0: Disable string functions.
-/ 1: Enable without LF-CRLF conversion.
-/ 2: Enable with LF-CRLF conversion. */
-
-
-#define _USE_MKFS 0
-/* This option switches f_mkfs() function. (0:Disable or 1:Enable)
-/ To enable it, also _FS_READONLY need to be set to 0. */
-
-
-#define _USE_FASTSEEK 0
-/* This option switches fast seek feature. (0:Disable or 1:Enable) */
-
-
-#define _USE_LABEL 0
-/* This option switches volume label functions, f_getlabel() and f_setlabel().
-/ (0:Disable or 1:Enable) */
-
-
-#define _USE_FORWARD 0
-/* This option switches f_forward() function. (0:Disable or 1:Enable) */
-/* To enable it, also _FS_TINY need to be set to 1. */
-
-
-/*---------------------------------------------------------------------------/
-/ Locale and Namespace Configurations
-/---------------------------------------------------------------------------*/
-
-#define _CODE_PAGE 437
-/* This option specifies the OEM code page to be used on the target system.
-/ Incorrect setting of the code page can cause a file open failure.
-/
-/ 932 - Japanese Shift_JIS (DBCS, OEM, Windows)
-/ 936 - Simplified Chinese GBK (DBCS, OEM, Windows)
-/ 949 - Korean (DBCS, OEM, Windows)
-/ 950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
-/ 1250 - Central Europe (Windows)
-/ 1251 - Cyrillic (Windows)
-/ 1252 - Latin 1 (Windows)
-/ 1253 - Greek (Windows)
-/ 1254 - Turkish (Windows)
-/ 1255 - Hebrew (Windows)
-/ 1256 - Arabic (Windows)
-/ 1257 - Baltic (Windows)
-/ 1258 - Vietnam (OEM, Windows)
-/ 437 - U.S. (OEM)
-/ 720 - Arabic (OEM)
-/ 737 - Greek (OEM)
-/ 775 - Baltic (OEM)
-/ 850 - Multilingual Latin 1 (OEM)
-/ 858 - Multilingual Latin 1 + Euro (OEM)
-/ 852 - Latin 2 (OEM)
-/ 855 - Cyrillic (OEM)
-/ 866 - Russian (OEM)
-/ 857 - Turkish (OEM)
-/ 862 - Hebrew (OEM)
-/ 874 - Thai (OEM, Windows)
-/ 1 - ASCII (No extended character. Valid for only non-LFN configuration.) */
-
-
-#define _USE_LFN 0
-#define _MAX_LFN 255
-/* The _USE_LFN option switches the LFN feature.
-/
-/ 0: Disable LFN feature. _MAX_LFN has no effect.
-/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
-/ 2: Enable LFN with dynamic working buffer on the STACK.
-/ 3: Enable LFN with dynamic working buffer on the HEAP.
-/
-/ When enable the LFN feature, Unicode handling functions (option/unicode.c) must
-/ be added to the project. The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes.
-/ When use stack for the working buffer, take care on stack overflow. When use heap
-/ memory for the working buffer, memory management functions, ff_memalloc() and
-/ ff_memfree(), must be added to the project. */
-
-
-#define _LFN_UNICODE 0
-/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
-/ To use Unicode string for the path name, enable LFN feature and set _LFN_UNICODE
-/ to 1. This option also affects behavior of string I/O functions. */
-
-
-#define _STRF_ENCODE 3
-/* When _LFN_UNICODE is 1, this option selects the character encoding on the file to
-/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
-/
-/ 0: ANSI/OEM
-/ 1: UTF-16LE
-/ 2: UTF-16BE
-/ 3: UTF-8
-/
-/ When _LFN_UNICODE is 0, this option has no effect. */
-
-
-#define _FS_RPATH 0
-/* This option configures relative path feature.
-/
-/ 0: Disable relative path feature and remove related functions.
-/ 1: Enable relative path feature. f_chdir() and f_chdrive() are available.
-/ 2: f_getcwd() function is available in addition to 1.
-/
-/ Note that directory items read via f_readdir() are affected by this option. */
-
-
-/*---------------------------------------------------------------------------/
-/ Drive/Volume Configurations
-/---------------------------------------------------------------------------*/
-
-#define _VOLUMES 1
-/* Number of volumes (logical drives) to be used. */
-
-
-#define _STR_VOLUME_ID 0
-#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
-/* _STR_VOLUME_ID option switches string volume ID feature.
-/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
-/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
-/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
-/ the drive ID strings are: A-Z and 0-9. */
-
-
-#define _MULTI_PARTITION 0
-/* This option switches multi-partition feature. By default (0), each logical drive
-/ number is bound to the same physical drive number and only an FAT volume found on
-/ the physical drive will be mounted. When multi-partition feature is enabled (1),
-/ each logical drive number is bound to arbitrary physical drive and partition
-/ listed in the VolToPart[]. Also f_fdisk() funciton will be enabled. */
-
-
-#define _MIN_SS 512
-#define _MAX_SS 512
-/* These options configure the range of sector size to be supported. (512, 1024,
-/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
-/ harddisk. But a larger value may be required for on-board flash memory and some
-/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
-/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
-/ disk_ioctl() function. */
-
-
-#define _USE_TRIM 0
-/* This option switches ATA-TRIM feature. (0:Disable or 1:Enable)
-/ To enable Trim feature, also CTRL_TRIM command should be implemented to the
-/ disk_ioctl() function. */
-
-
-#define _FS_NOFSINFO 0
-/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
-/ option, and f_getfree() function at first time after volume mount will force
-/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
-/
-/ bit0=0: Use free cluster count in the FSINFO if available.
-/ bit0=1: Do not trust free cluster count in the FSINFO.
-/ bit1=0: Use last allocated cluster number in the FSINFO if available.
-/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
-*/
-
-
-
-/*---------------------------------------------------------------------------/
-/ System Configurations
-/---------------------------------------------------------------------------*/
-
-#define _FS_NORTC 0
-#define _NORTC_MON 11
-#define _NORTC_MDAY 9
-#define _NORTC_YEAR 2014
-/* The _FS_NORTC option switches timestamp feature. If the system does not have
-/ an RTC function or valid timestamp is not needed, set _FS_NORTC to 1 to disable
-/ the timestamp feature. All objects modified by FatFs will have a fixed timestamp
-/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR.
-/ When timestamp feature is enabled (_FS_NORTC == 0), get_fattime() function need
-/ to be added to the project to read current time form RTC. _NORTC_MON,
-/ _NORTC_MDAY and _NORTC_YEAR have no effect.
-/ These options have no effect at read-only configuration (_FS_READONLY == 1). */
-
-
-#define _FS_LOCK 0
-/* The _FS_LOCK option switches file lock feature to control duplicated file open
-/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
-/ is 1.
-/
-/ 0: Disable file lock feature. To avoid volume corruption, application program
-/ should avoid illegal open, remove and rename to the open objects.
-/ >0: Enable file lock feature. The value defines how many files/sub-directories
-/ can be opened simultaneously under file lock control. Note that the file
-/ lock feature is independent of re-entrancy. */
-
-
-#define _FS_REENTRANT 0
-#define _FS_TIMEOUT S2ST(10)
-typedef semaphore_t * _SYNC_t;
-/* The _FS_REENTRANT option switches the re-entrancy (thread safe) of the FatFs
-/ module itself. Note that regardless of this option, file access to different
-/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
-/ and f_fdisk() function, are always not re-entrant. Only file/directory access
-/ to the same volume is under control of this feature.
-/
-/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
-/ 1: Enable re-entrancy. Also user provided synchronization handlers,
-/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
-/ function, must be added to the project. Samples are available in
-/ option/syscall.c.
-/
-/ The _FS_TIMEOUT defines timeout period in unit of time tick.
-/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
-/ SemaphoreHandle_t and etc.. */
-
-
-#define _WORD_ACCESS 0
-/* The _WORD_ACCESS option is an only platform dependent option. It defines
-/ which access method is used to the word data on the FAT volume.
-/
-/ 0: Byte-by-byte access. Always compatible with all platforms.
-/ 1: Word access. Do not choose this unless under both the following conditions.
-/
-/ * Address misaligned memory access is always allowed to ALL instructions.
-/ * Byte order on the memory is little-endian.
-/
-/ If it is the case, _WORD_ACCESS can also be set to 1 to reduce code size.
-/ Following table shows allowable settings of some processor types.
-/
-/ ARM7TDMI 0 ColdFire 0 V850E 0
-/ Cortex-M3 0 Z80 0/1 V850ES 0/1
-/ Cortex-M0 0 x86 0/1 TLCS-870 0/1
-/ AVR 0/1 RX600(LE) 0/1 TLCS-900 0/1
-/ AVR32 0 RL78 0 R32C 0
-/ PIC18 0/1 SH-2 0 M16C 0/1
-/ PIC24 0 H8S 0 MSP430 0
-/ PIC32 0 H8/300H 0 8051 0/1
-*/
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf.h
deleted file mode 100644
index 9ddbb1b..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 115200
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 64
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf_community.h
deleted file mode 100644
index 49db499..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf_community.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE FALSE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/**
- * @brief Enables the TIMCAP subsystem.
- */
-#if !defined(HAL_USE_TIMCAP) || defined(__DOXYGEN__)
-#define HAL_USE_TIMCAP FALSE
-#endif
-
-/**
- * @brief Enables the USBH subsystem.
- */
-#if !defined(HAL_USE_USBH) || defined(__DOXYGEN__)
-#define HAL_USE_USBH TRUE
-#endif
-
-
-/*===========================================================================*/
-/* USBH driver related settings. */
-/*===========================================================================*/
-
-/* main driver */
-#define HAL_USBH_PORT_DEBOUNCE_TIME 200
-#define HAL_USBH_PORT_RESET_TIMEOUT 500
-#define HAL_USBH_DEVICE_ADDRESS_STABILIZATION 20
-
-/* MSD */
-#define HAL_USBH_USE_MSD 1
-
-#define HAL_USBHMSD_MAX_LUNS 1
-#define HAL_USBHMSD_MAX_INSTANCES 1
-
-/* IAD */
-#define HAL_USBH_USE_FTDI 1
-
-#define HAL_USBHFTDI_MAX_PORTS 1
-#define HAL_USBHFTDI_MAX_INSTANCES 1
-#define HAL_USBHFTDI_DEFAULT_SPEED 9600
-#define HAL_USBHFTDI_DEFAULT_FRAMING (USBHFTDI_FRAMING_DATABITS_8 | USBHFTDI_FRAMING_PARITY_NONE | USBHFTDI_FRAMING_STOP_BITS_1)
-#define HAL_USBHFTDI_DEFAULT_HANDSHAKE USBHFTDI_HANDSHAKE_NONE
-#define HAL_USBHFTDI_DEFAULT_XON 0x11
-#define HAL_USBHFTDI_DEFAULT_XOFF 0x13
-
-
-/* IAD */
-#define HAL_USBH_USE_IAD 0
-
-/* UVC */
-#define HAL_USBH_USE_UVC 0
-
-#define HAL_USBHUVC_MAX_INSTANCES 1
-#define HAL_USBHUVC_MAX_MAILBOX_SZ 70
-#define HAL_USBHUVC_WORK_RAM_SIZE 20000
-#define HAL_USBHUVC_STATUS_PACKETS_COUNT 10
-
-
-/* HUB */
-#define HAL_USBH_USE_HUB 1
-
-#define HAL_USBHHUB_MAX_INSTANCES 1
-#define HAL_USBHHUB_MAX_PORTS 6
-
-
-/* debug */
-#define USBH_DEBUG_ENABLE 1
-#define USBH_DEBUG_USBHD USBHD1
-#define USBH_DEBUG_SD SD2
-#define USBH_DEBUG_BUFFER 25000
-
-#define USBH_DEBUG_ENABLE_TRACE 0
-#define USBH_DEBUG_ENABLE_INFO 1
-#define USBH_DEBUG_ENABLE_WARNINGS 1
-#define USBH_DEBUG_ENABLE_ERRORS 1
-
-#define USBH_LLD_DEBUG_ENABLE_TRACE 0
-#define USBH_LLD_DEBUG_ENABLE_INFO 1
-#define USBH_LLD_DEBUG_ENABLE_WARNINGS 1
-#define USBH_LLD_DEBUG_ENABLE_ERRORS 1
-
-#define USBHHUB_DEBUG_ENABLE_TRACE 0
-#define USBHHUB_DEBUG_ENABLE_INFO 1
-#define USBHHUB_DEBUG_ENABLE_WARNINGS 1
-#define USBHHUB_DEBUG_ENABLE_ERRORS 1
-
-#define USBHMSD_DEBUG_ENABLE_TRACE 0
-#define USBHMSD_DEBUG_ENABLE_INFO 1
-#define USBHMSD_DEBUG_ENABLE_WARNINGS 1
-#define USBHMSD_DEBUG_ENABLE_ERRORS 1
-
-#define USBHUVC_DEBUG_ENABLE_TRACE 0
-#define USBHUVC_DEBUG_ENABLE_INFO 1
-#define USBHUVC_DEBUG_ENABLE_WARNINGS 1
-#define USBHUVC_DEBUG_ENABLE_ERRORS 1
-
-#define USBHFTDI_DEBUG_ENABLE_TRACE 0
-#define USBHFTDI_DEBUG_ENABLE_INFO 1
-#define USBHFTDI_DEBUG_ENABLE_WARNINGS 1
-#define USBHFTDI_DEBUG_ENABLE_ERRORS 1
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/integer.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/integer.h
deleted file mode 100644
index 074a46b..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/integer.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-------------------------------------------*/
-/* Integer type definitions for FatFs module */
-/*-------------------------------------------*/
-
-#ifndef _FF_INTEGER
-#define _FF_INTEGER
-
-#ifdef _WIN32 /* FatFs development platform */
-
-#include <windows.h>
-#include <tchar.h>
-
-#else /* Embedded platform */
-
-/* This type MUST be 8 bit */
-typedef unsigned char BYTE;
-
-/* These types MUST be 16 bit */
-typedef short SHORT;
-typedef unsigned short WORD;
-typedef unsigned short WCHAR;
-
-/* These types MUST be 16 bit or 32 bit */
-typedef int INT;
-typedef unsigned int UINT;
-
-/* These types MUST be 32 bit */
-typedef long LONG;
-typedef unsigned long DWORD;
-
-#endif
-
-#endif
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/main.c
deleted file mode 100644
index bfb318f..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/main.c
+++ /dev/null
@@ -1,488 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-#include "ff.h"
-#include "usbh.h"
-#include <string.h>
-
-
-
-#if HAL_USBH_USE_FTDI
-#include "usbh/dev/ftdi.h"
-#include "test.h"
-#include "shell.h"
-#include "chprintf.h"
-
-static THD_WORKING_AREA(waTestFTDI, 1024);
-
-#define SHELL_WA_SIZE THD_WORKING_AREA_SIZE(2048)
-#define TEST_WA_SIZE THD_WORKING_AREA_SIZE(256)
-
-static uint8_t buf[] =
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
- "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef";
-
-static void cmd_mem(BaseSequentialStream *chp, int argc, char *argv[]) {
- size_t n, size;
-
- (void)argv;
- if (argc > 0) {
- chprintf(chp, "Usage: mem\r\n");
- return;
- }
- n = chHeapStatus(NULL, &size);
- chprintf(chp, "core free memory : %u bytes\r\n", chCoreGetStatusX());
- chprintf(chp, "heap fragments : %u\r\n", n);
- chprintf(chp, "heap free total : %u bytes\r\n", size);
-}
-
-static void cmd_threads(BaseSequentialStream *chp, int argc, char *argv[]) {
- static const char *states[] = {CH_STATE_NAMES};
- thread_t *tp;
-
- (void)argv;
- if (argc > 0) {
- chprintf(chp, "Usage: threads\r\n");
- return;
- }
- chprintf(chp, " addr stack prio refs state\r\n");
- tp = chRegFirstThread();
- do {
- chprintf(chp, "%08lx %08lx %4lu %4lu %9s\r\n",
- (uint32_t)tp, (uint32_t)tp->p_ctx.r13,
- (uint32_t)tp->p_prio, (uint32_t)(tp->p_refs - 1),
- states[tp->p_state]);
- tp = chRegNextThread(tp);
- } while (tp != NULL);
-}
-
-static void cmd_test(BaseSequentialStream *chp, int argc, char *argv[]) {
- thread_t *tp;
-
- (void)argv;
- if (argc > 0) {
- chprintf(chp, "Usage: test\r\n");
- return;
- }
- tp = chThdCreateFromHeap(NULL, TEST_WA_SIZE, chThdGetPriorityX(),
- TestThread, chp);
- if (tp == NULL) {
- chprintf(chp, "out of memory\r\n");
- return;
- }
- chThdWait(tp);
-}
-
-static void cmd_write(BaseSequentialStream *chp, int argc, char *argv[]) {
-
- (void)argv;
- if (argc > 0) {
- chprintf(chp, "Usage: write\r\n");
- return;
- }
-
- while (chnGetTimeout((BaseChannel *)chp, TIME_IMMEDIATE) != Q_TIMEOUT) {
- //flush
- }
-
- while (chnGetTimeout((BaseChannel *)chp, TIME_IMMEDIATE) == Q_TIMEOUT) {
- chSequentialStreamWrite(&FTDIPD[0], buf, sizeof buf - 1);
- }
- chprintf(chp, "\r\n\nstopped\r\n");
-}
-
-static const ShellCommand commands[] = {
- {"mem", cmd_mem},
- {"threads", cmd_threads},
- {"test", cmd_test},
- {"write", cmd_write},
- {NULL, NULL}
-};
-
-static const ShellConfig shell_cfg1 = {
- (BaseSequentialStream *)&FTDIPD[0],
- commands
-};
-
-static void ThreadTestFTDI(void *p) {
- (void)p;
- USBHFTDIPortDriver *const ftdipp = &FTDIPD[0];
-
- shellInit();
-
-start:
- while (ftdipp->state != USBHFTDIP_STATE_ACTIVE) {
- chThdSleepMilliseconds(100);
- }
-
- usbDbgPuts("FTDI: Connected");
-
- USBHFTDIPortConfig config = {
- 115200,
- USBHFTDI_FRAMING_DATABITS_8 | USBHFTDI_FRAMING_PARITY_NONE | USBHFTDI_FRAMING_STOP_BITS_1,
- USBHFTDI_HANDSHAKE_NONE,
- 0,
- 0
- };
-
- usbhftdipStart(ftdipp, &config);
-
- //loopback
- if (0) {
- for(;;) {
- msg_t m = chSequentialStreamGet(ftdipp);
- if (m < MSG_OK) {
- usbDbgPuts("FTDI: Disconnected");
- goto start;
- }
- chSequentialStreamPut(ftdipp, (uint8_t)m);
- if (m == 'q')
- break;
- }
- }
-
- //shell test
- if (1) {
- thread_t *shelltp = NULL;
- for(;;) {
- if (ftdipp->state != USBHFTDIP_STATE_READY)
- goto start;
- if (!shelltp) {
- shelltp = shellCreate(&shell_cfg1, SHELL_WA_SIZE, NORMALPRIO);
- } else if (chThdTerminatedX(shelltp)) {
- chThdRelease(shelltp);
- if (ftdipp->state != USBHFTDIP_STATE_READY)
- goto start;
- break;
- }
- chThdSleepMilliseconds(100);
- }
- }
-
- //FTDI uart RX to debug TX bridge
- if (0) {
- for(;;) {
- msg_t m = chSequentialStreamGet(ftdipp);
- if (m < MSG_OK) {
- usbDbgPuts("FTDI: Disconnected");
- goto start;
- }
- sdPut(&USBH_DEBUG_SD, (uint8_t)m);
- if (m == 'q')
- break;
- }
- }
-
- //write speed test
- if (1) {
- usbhftdipStop(ftdipp);
- config.speed = 3000000;
- usbhftdipStart(ftdipp, &config);
-
- systime_t st, et;
- int i;
- for (i = 0; i < 5; i++) {
- uint32_t bytes = config.speed / 10;
- uint32_t times = bytes / 1024;
- st = chVTGetSystemTimeX();
- while (times--) {
- if (chSequentialStreamWrite(ftdipp, buf, 1024) < 1024) {
- usbDbgPuts("FTDI: Disconnected");
- goto start;
- }
- bytes -= 1024;
- }
- if (bytes) {
- if (chSequentialStreamWrite(ftdipp, buf, bytes) < bytes) {
- usbDbgPuts("FTDI: Disconnected");
- goto start;
- }
- }
- et = chVTGetSystemTimeX();
- usbDbgPrintf("\tRate=%uB/s", (config.speed * 100) / (et - st));
- }
- }
-
- //single character write test (tests the timer)
- if (0) {
- for (;;) {
- if (chSequentialStreamPut(ftdipp, 'A') != MSG_OK) {
- usbDbgPuts("FTDI: Disconnected");
- goto start;
- }
- chThdSleepMilliseconds(100);
- }
- }
-
- usbhftdipStop(ftdipp);
-
- usbDbgPuts("FTDI: Tests done, restarting in 3s");
- chThdSleepMilliseconds(3000);
-
- goto start;
-}
-#endif
-
-
-
-#if HAL_USBH_USE_MSD
-#include "usbh/dev/msd.h"
-#include "ff.h"
-
-static FATFS MSDLUN0FS;
-static uint8_t fbuff[10240];
-static FIL file;
-
-static FRESULT scan_files(BaseSequentialStream *chp, char *path) {
- FRESULT res;
- FILINFO fno;
- DIR dir;
- int i;
- char *fn;
-
-#if _USE_LFN
- fno.lfname = 0;
- fno.lfsize = 0;
-#endif
- res = f_opendir(&dir, path);
- if (res == FR_OK) {
- i = strlen(path);
- for (;;) {
- res = f_readdir(&dir, &fno);
- if (res != FR_OK || fno.fname[0] == 0)
- break;
- if (fno.fname[0] == '.')
- continue;
- fn = fno.fname;
- if (fno.fattrib & AM_DIR) {
- path[i++] = '/';
- strcpy(&path[i], fn);
- res = scan_files(chp, path);
- if (res != FR_OK)
- break;
- path[--i] = 0;
- } else {
- usbDbgPrintf("FS: %s/%s", path, fn);
- }
- }
- }
- return res;
-}
-static THD_WORKING_AREA(waTestMSD, 1024);
-static void ThreadTestMSD(void *p) {
- (void)p;
-
- FATFS *fsp;
- uint32_t clusters;
- FRESULT res;
- BaseSequentialStream * const chp = (BaseSequentialStream *)&USBH_DEBUG_SD;
- blkstate_t state;
- systime_t st, et;
- uint32_t j;
-
-start:
- for(;;) {
- chThdSleepMilliseconds(100);
-
- chSysLock();
- state = blkGetDriverState(&MSBLKD[0]);
- chSysUnlock();
- if (state != BLK_READY)
- continue;
-
- //raw read test
- if (1) {
-#define RAW_READ_SZ_MB 1
-#define NBLOCKS (sizeof(fbuff) / 512)
-#define NITERATIONS ((RAW_READ_SZ_MB * 1024UL * 1024UL) / sizeof(fbuff))
- uint32_t start = 0;
- chThdSetPriority(HIGHPRIO);
- usbDbgPrintf("BLK: Raw read test (%dMB, %dB blocks)", RAW_READ_SZ_MB, sizeof(fbuff));
- st = chVTGetSystemTime();
- for (j = 0; j < NITERATIONS; j++) {
- blkRead(&MSBLKD[0], start, fbuff, NBLOCKS);
- start += NBLOCKS;
- }
- et = chVTGetSystemTime();
- usbDbgPrintf("BLK: Raw read in %d ms, %dkB/s",
- et - st,
- (RAW_READ_SZ_MB * 1024UL * 1000) / (et - st));
- chThdSetPriority(NORMALPRIO);
- }
-
- usbDbgPuts("FS: Block driver ready, try mount...");
-
- res = f_mount(&MSDLUN0FS, "0:", 1);
- if (res != FR_OK) {
- usbDbgPuts("FS: Can't mount. Check file system.");
- continue;
- }
- usbDbgPuts("FS: Mounted.");
-
- res = f_getfree("0:", &clusters, &fsp);
- if (res != FR_OK) {
- usbDbgPuts("FS: f_getfree() failed");
- continue;
- }
-
- usbDbgPrintf("FS: %lu free clusters, %lu sectors per cluster, %lu bytes free",
- clusters, (uint32_t)MSDLUN0FS.csize,
- clusters * (uint32_t)MSDLUN0FS.csize * MSBLKD[0].info.blk_size);
-
- break;
- }
-
- //FATFS test
- if (1) {
- UINT bw;
- const uint8_t *src;
- const uint8_t *const start = (uint8_t *)0x08000000;
- const uint8_t *const top = (uint8_t *)0x08020000;
-
- //write test
- if (1) {
- usbDbgPuts("FS: Write test (create file /test.dat, 1MB)");
- f_open(&file, "/test.dat", FA_CREATE_ALWAYS | FA_WRITE);
- src = start;
- st = chVTGetSystemTime();
- for (j = 0; j < 2048; j++) {
- if (f_write(&file, src, 512, &bw) != FR_OK)
- goto start;
- src += bw;
- if (src >= top)
- src = start;
- }
- et = chVTGetSystemTime();
- usbDbgPrintf("FS: Written 1MB in %d ms, %dkB/s",
- et - st,
- (1024UL*1000) / (et - st));
- f_close(&file);
- }
-
- //read test
- if (1) {
- usbDbgPuts("FS: Read test (read file /test.dat, 1MB, compare)");
- f_open(&file, "/test.dat", FA_READ);
- src = start;
- st = chVTGetSystemTime();
- for (j = 0; j < 2048; j++) {
- if (f_read(&file, fbuff, 512, &bw) != FR_OK)
- goto start;
- if (memcmp(src, fbuff, bw)) {
- usbDbgPrintf("Compare error @%08x", (uint32_t)src);
- goto start;
- }
- src += bw;
- if (src >= top)
- src = start;
- }
- et = chVTGetSystemTime();
- usbDbgPrintf("FS: Read 1MB in %d ms, %dkB/s",
- et - st,
- (1024UL*1000) / (et - st));
- f_close(&file);
- }
-
- //scan files test
- if (1) {
- usbDbgPuts("FS: Scan files test");
- fbuff[0] = 0;
- scan_files(chp, (char *)fbuff);
- }
- }
-
- usbDbgPuts("FS: Tests done, restarting in 3s");
- chThdSleepMilliseconds(3000);
-
- goto start;
-
-}
-#endif
-
-
-
-
-
-
-int main(void) {
-
- halInit();
- usbhInit();
- chSysInit();
-
- //PA2(TX) and PA3(RX) are routed to USART2
- sdStart(&SD2, NULL);
- palSetPadMode(GPIOA, 2, PAL_MODE_ALTERNATE(7));
- palSetPadMode(GPIOA, 3, PAL_MODE_ALTERNATE(7));
-
-#if STM32_USBH_USE_OTG1
- //VBUS - configured in board.h
- //USB_FS - configured in board.h
-#endif
-
-#if STM32_USBH_USE_OTG2
- //USB_HS
- //TODO: Initialize Pads
-#endif
-
-#if HAL_USBH_USE_MSD
- usbhmsdObjectInit(&USBHMSD[0]);
- usbhmsdLUNObjectInit(&MSBLKD[0]);
- chThdCreateStatic(waTestMSD, sizeof(waTestMSD), NORMALPRIO, ThreadTestMSD, 0);
-#endif
-#if HAL_USBH_USE_FTDI
- usbhftdiObjectInit(&USBHFTDID[0]);
- usbhftdipObjectInit(&FTDIPD[0]);
- chThdCreateStatic(waTestFTDI, sizeof(waTestFTDI), NORMALPRIO, ThreadTestFTDI, 0);
-#endif
-
- //turn on USB power
- palClearPad(GPIOC, GPIOC_OTG_FS_POWER_ON);
-
- //start
-#if STM32_USBH_USE_OTG1
- usbhStart(&USBHD1);
-#endif
-#if STM32_USBH_USE_OTG2
- usbhStart(&USBHD2);
-#endif
-
- for(;;) {
-#if STM32_USBH_USE_OTG1
- usbhMainLoop(&USBHD1);
-#endif
-#if STM32_USBH_USE_OTG2
- usbhMainLoop(&USBHD2);
-#endif
- chThdSleepMilliseconds(100);
- }
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf.h
deleted file mode 100644
index c7671b7..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * STM32F4xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F4xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_CLOCK48_REQUIRED TRUE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PLLM_VALUE 8
-#define STM32_PLLN_VALUE 336
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 7
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV4
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-#define STM32_RTCPRE_VALUE 8
-#define STM32_MCO1SEL STM32_MCO1SEL_HSI
-#define STM32_MCO1PRE STM32_MCO1PRE_DIV1
-#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK
-#define STM32_MCO2PRE STM32_MCO2PRE_DIV5
-#define STM32_I2SSRC STM32_I2SSRC_CKIN
-#define STM32_PLLI2SN_VALUE 192
-#define STM32_PLLI2SR_VALUE 5
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_BKPRAM_ENABLE FALSE
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV4
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_USE_ADC2 FALSE
-#define STM32_ADC_USE_ADC3 FALSE
-#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
-#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_ADC2_DMA_PRIORITY 2
-#define STM32_ADC_ADC3_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 6
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 6
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_USE_CAN2 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-#define STM32_CAN_CAN2_IRQ_PRIORITY 11
-
-/*
- * DAC driver system settings.
- */
-#define STM32_DAC_DUAL_MODE FALSE
-#define STM32_DAC_USE_DAC1_CH1 FALSE
-#define STM32_DAC_USE_DAC1_CH2 FALSE
-#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI21_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI22_IRQ_PRIORITY 15
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM5 FALSE
-#define STM32_GPT_USE_TIM6 FALSE
-#define STM32_GPT_USE_TIM7 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_USE_TIM9 FALSE
-#define STM32_GPT_USE_TIM11 FALSE
-#define STM32_GPT_USE_TIM12 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM5_IRQ_PRIORITY 7
-#define STM32_GPT_TIM6_IRQ_PRIORITY 7
-#define STM32_GPT_TIM7_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-#define STM32_GPT_TIM9_IRQ_PRIORITY 7
-#define STM32_GPT_TIM11_IRQ_PRIORITY 7
-#define STM32_GPT_TIM12_IRQ_PRIORITY 7
-#define STM32_GPT_TIM14_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_USE_I2C3 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2C_I2C1_IRQ_PRIORITY 5
-#define STM32_I2C_I2C2_IRQ_PRIORITY 5
-#define STM32_I2C_I2C3_IRQ_PRIORITY 5
-#define STM32_I2C_I2C1_DMA_PRIORITY 3
-#define STM32_I2C_I2C2_DMA_PRIORITY 3
-#define STM32_I2C_I2C3_DMA_PRIORITY 3
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * I2S driver system settings.
- */
-#define STM32_I2S_USE_SPI2 FALSE
-#define STM32_I2S_USE_SPI3 FALSE
-#define STM32_I2S_SPI2_IRQ_PRIORITY 10
-#define STM32_I2S_SPI3_IRQ_PRIORITY 10
-#define STM32_I2S_SPI2_DMA_PRIORITY 1
-#define STM32_I2S_SPI3_DMA_PRIORITY 1
-#define STM32_I2S_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_I2S_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2S_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2S_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2S_DMA_ERROR_HOOK(i2sp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_USE_TIM9 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM5_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-#define STM32_ICU_TIM9_IRQ_PRIORITY 7
-
-/*
- * MAC driver system settings.
- */
-#define STM32_MAC_TRANSMIT_BUFFERS 2
-#define STM32_MAC_RECEIVE_BUFFERS 4
-#define STM32_MAC_BUFFERS_SIZE 1522
-#define STM32_MAC_PHY_TIMEOUT 100
-#define STM32_MAC_ETH1_CHANGE_PHY_STATE TRUE
-#define STM32_MAC_ETH1_IRQ_PRIORITY 13
-#define STM32_MAC_IP_CHECKSUM_OFFLOAD 0
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 FALSE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_USE_TIM9 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM5_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-#define STM32_PWM_TIM9_IRQ_PRIORITY 7
-
-/*
- * SDC driver system settings.
- */
-#define STM32_SDC_SDIO_DMA_PRIORITY 3
-#define STM32_SDC_SDIO_IRQ_PRIORITY 9
-#define STM32_SDC_WRITE_TIMEOUT_MS 250
-#define STM32_SDC_READ_TIMEOUT_MS 25
-#define STM32_SDC_CLOCK_ACTIVATION_DELAY 10
-#define STM32_SDC_SDIO_UNALIGNED_SUPPORT TRUE
-#define STM32_SDC_SDIO_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 TRUE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USE_USART6 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-#define STM32_SERIAL_USART6_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
-#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USE_UART4 FALSE
-#define STM32_UART_USE_UART5 FALSE
-#define STM32_UART_USE_USART6 FALSE
-#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
-#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_UART_USART3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
-#define STM32_UART_USART3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_UART_UART4_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_UART_UART4_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_UART_UART5_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_UART4_IRQ_PRIORITY 12
-#define STM32_UART_UART5_IRQ_PRIORITY 12
-#define STM32_UART_USART6_IRQ_PRIORITY 12
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_UART4_DMA_PRIORITY 0
-#define STM32_UART_UART5_DMA_PRIORITY 0
-#define STM32_UART_USART6_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_OTG1 FALSE
-#define STM32_USB_USE_OTG2 FALSE
-#define STM32_USB_OTG1_IRQ_PRIORITY 14
-#define STM32_USB_OTG2_IRQ_PRIORITY 14
-#define STM32_USB_OTG1_RX_FIFO_SIZE 512
-#define STM32_USB_OTG2_RX_FIFO_SIZE 1024
-#define STM32_USB_OTG_THREAD_PRIO LOWPRIO
-#define STM32_USB_OTG_THREAD_STACK_SIZE 128
-#define STM32_USB_OTGFIFO_FILL_BASEPRI 0
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG FALSE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* MCUCONF_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf_community.h
deleted file mode 100644
index 56775af..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf_community.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * FSMC driver system settings.
- */
-#define STM32_FSMC_USE_FSMC1 FALSE
-#define STM32_FSMC_FSMC1_IRQ_PRIORITY 10
-
-/*
- * FSMC NAND driver system settings.
- */
-#define STM32_NAND_USE_FSMC_NAND1 FALSE
-#define STM32_NAND_USE_FSMC_NAND2 FALSE
-#define STM32_NAND_USE_EXT_INT FALSE
-#define STM32_NAND_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_NAND_DMA_PRIORITY 0
-#define STM32_NAND_DMA_ERROR_HOOK(nandp) osalSysHalt("DMA failure")
-
-/*
- * FSMC SRAM driver system settings.
- */
-#define STM32_USE_FSMC_SRAM FALSE
-#define STM32_SRAM_USE_FSMC_SRAM1 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM2 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM3 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM4 FALSE
-
-/*
- * FSMC SDRAM driver system settings.
- */
-#define STM32_USE_FSMC_SDRAM FALSE
-
-
-/*
- * USBH driver system settings.
- */
-#define STM32_OTG1_CHANNELS_NUMBER 8
-#define STM32_OTG2_CHANNELS_NUMBER 12
-
-#define STM32_USBH_USE_OTG1 1
-#define STM32_OTG1_RXFIFO_SIZE 1024
-#define STM32_OTG1_PTXFIFO_SIZE 128
-#define STM32_OTG1_NPTXFIFO_SIZE 128
-
-#define STM32_USBH_USE_OTG2 0
-#define STM32_OTG2_RXFIFO_SIZE 2048
-#define STM32_OTG2_PTXFIFO_SIZE 1024
-#define STM32_OTG2_NPTXFIFO_SIZE 1024
-
-#define STM32_USBH_MIN_QSPACE 4
-#define STM32_USBH_CHANNELS_NP 4
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/readme.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/readme.txt
deleted file mode 100644
index 793da2e..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/readme.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-*****************************************************************************
-** ChibiOS/RT port for ARM-Cortex-M4 STM32F407. **
-*****************************************************************************
-
-** TARGET **
-
-The demo runs on an ST STM32F4-Discovery board.
-
-** The Demo **
-
-
-** Build Procedure **
-
-The demo has been tested by using the free Codesourcery GCC-based toolchain
-and YAGARTO. just modify the TRGT line in the makefile in order to use
-different GCC toolchains.
-
-** Notes **
-
-Some files used by the demo are not part of ChibiOS/RT but are copyright of
-ST Microelectronics and are licensed under a different license.
-Also note that not all the files present in the ST library are distributed
-with ChibiOS/RT, you can find the whole library on the ST web site:
-
- http://www.st.com
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.cproject b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.cproject
deleted file mode 100644
index f6e2450..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.cproject
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.1965027041">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.1965027041" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration buildProperties="" description="" id="0.1965027041" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.1965027041." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.562788807" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.562788807.808513109" name=""/>
- <builder id="org.eclipse.cdt.build.core.settings.default.builder.1349981384" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.540202981" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.491518965" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1441007167" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.468858191" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1209949584" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1295083352" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1824557805" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="onewire.null.1360399147" name="onewire"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.1965027041">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- </scannerConfigBuildInfo>
- <scannerConfigBuildInfo instanceId="0.114656749">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.project b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.project
deleted file mode 100644
index 30d6ff3..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.project
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>STM32F4xx-onewire</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- <nature>org.eclipse.cdt.core.ccnature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>os-community</name>
- <type>2</type>
- <locationURI>PARENT-4-PROJECT_LOC/os</locationURI>
- </link>
- <link>
- <name>os-git</name>
- <type>2</type>
- <locationURI>PARENT-5-PROJECT_LOC/ChibiOS-RT/os</locationURI>
- </link>
- </linkedResources>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/Makefile b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/Makefile
deleted file mode 100644
index 02ab018..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/Makefile
+++ /dev/null
@@ -1,219 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = no
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-# If enabled, this option makes the build process faster by not compiling
-# modules not used in the current configuration.
-ifeq ($(USE_SMART_BUILD),)
- USE_SMART_BUILD = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = no
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f4xx.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS_CONTRIB)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/STM32/STM32F4xx/platform.mk
-include $(CHIBIOS)/os/hal/boards/ST_STM32F4_DISCOVERY/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-
-# Define linker script file here
-LDSCRIPT = $(STARTUPLD)/STM32F407xG.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c \
- onewire_test.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/chconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/chconf.h
deleted file mode 100644
index 1065821..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/chconf.h
+++ /dev/null
@@ -1,520 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/chconf.h
- * @brief Configuration file template.
- * @details A copy of this file must be placed in each project directory, it
- * contains the application specific kernel settings.
- *
- * @addtogroup config
- * @details Kernel related settings and hooks.
- * @{
- */
-
-#ifndef CHCONF_H
-#define CHCONF_H
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 2
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop.
- */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Enables recursive behavior on mutexes.
- * @note Recursive mutexes are heavier and have an increased
- * memory footprint.
- *
- * @note The default is @p FALSE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the trace buffer is activated.
- *
- * @note The default is @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED
-
-/**
- * @brief Trace buffer entries.
- * @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is
- * different from @p CH_DBG_TRACE_MASK_DISABLED.
- */
-#define CH_DBG_TRACE_BUFFER_SIZE 128
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* Context switch code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
- /* Idle-enter code here.*/ \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
- /* Idle-leave code here.*/ \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* CHCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf.h
deleted file mode 100644
index 64811a5..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf.h
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/**
- * @file templates/halconf.h
- * @brief HAL configuration header.
- * @details HAL configuration file, this file allows to enable or disable the
- * various device drivers from your application. You may also use
- * this file in order to override the device drivers default settings.
- *
- * @addtogroup HAL_CONF
- * @{
- */
-
-#ifndef HALCONF_H
-#define HALCONF_H
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the DAC subsystem.
- */
-#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
-#define HAL_USE_DAC FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the I2S subsystem.
- */
-#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
-#define HAL_USE_I2S FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 16 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SERIAL_USB driver related setting. */
-/*===========================================================================*/
-
-/**
- * @brief Serial over USB buffers size.
- * @details Configuration parameter, the buffer size must be a multiple of
- * the USB data endpoint maximum packet size.
- * @note The default is 256 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_SIZE 256
-#endif
-
-/**
- * @brief Serial over USB number of buffers.
- * @note The default is 2 buffers.
- */
-#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
-#define SERIAL_USB_BUFFERS_NUMBER 2
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* UART driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
-#define UART_USE_WAIT FALSE
-#endif
-
-/**
- * @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define UART_USE_MUTUAL_EXCLUSION FALSE
-#endif
-
-/*===========================================================================*/
-/* USB driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
-#define USB_USE_WAIT FALSE
-#endif
-
-/*===========================================================================*/
-/* Community drivers's includes */
-/*===========================================================================*/
-
-#include "halconf_community.h"
-
-#endif /* HALCONF_H */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf_community.h
deleted file mode 100644
index 91dbfbc..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf_community.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_COMMUNITY_H_
-#define _HALCONF_COMMUNITY_H_
-
-/**
- * @brief Enables the community overlay.
- */
-#if !defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
-#define HAL_USE_COMMUNITY TRUE
-#endif
-
-/**
- * @brief Enables the FSMC subsystem.
- */
-#if !defined(HAL_USE_FSMC) || defined(__DOXYGEN__)
-#define HAL_USE_FSMC FALSE
-#endif
-
-/**
- * @brief Enables the NAND subsystem.
- */
-#if !defined(HAL_USE_NAND) || defined(__DOXYGEN__)
-#define HAL_USE_NAND FALSE
-#endif
-
-/**
- * @brief Enables the 1-wire subsystem.
- */
-#if !defined(HAL_USE_ONEWIRE) || defined(__DOXYGEN__)
-#define HAL_USE_ONEWIRE TRUE
-#endif
-
-/**
- * @brief Enables the EICU subsystem.
- */
-#if !defined(HAL_USE_EICU) || defined(__DOXYGEN__)
-#define HAL_USE_EICU FALSE
-#endif
-
-/**
- * @brief Enables the CRC subsystem.
- */
-#if !defined(HAL_USE_CRC) || defined(__DOXYGEN__)
-#define HAL_USE_CRC FALSE
-#endif
-
-/**
- * @brief Enables the RNG subsystem.
- */
-#if !defined(HAL_USE_RNG) || defined(__DOXYGEN__)
-#define HAL_USE_RNG FALSE
-#endif
-
-/*===========================================================================*/
-/* FSMCNAND driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the @p nandAcquireBus() and @p nanReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(NAND_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define NAND_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* 1-wire driver related settings. */
-/*===========================================================================*/
-/**
- * @brief Enables strong pull up feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_STRONG_PULLUP FALSE
-
-/**
- * @brief Enables search ROM feature.
- * @note Disabling this option saves both code and data space.
- */
-#define ONEWIRE_USE_SEARCH_ROM TRUE
-
-#endif /* _HALCONF_COMMUNITY_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/main.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/main.c
deleted file mode 100644
index 793bffe..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/main.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-#include "onewire_test.h"
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /*
- * Executes infinite onewire test code.
- */
- onewireTest();
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf.h
deleted file mode 100644
index 2111433..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef MCUCONF_H
-#define MCUCONF_H
-
-/*
- * STM32F4xx drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 15...0 Lowest...Highest.
- *
- * DMA priorities:
- * 0...3 Lowest...Highest.
- */
-
-#define STM32F4xx_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define STM32_NO_INIT FALSE
-#define STM32_HSI_ENABLED TRUE
-#define STM32_LSI_ENABLED TRUE
-#define STM32_HSE_ENABLED TRUE
-#define STM32_LSE_ENABLED FALSE
-#define STM32_CLOCK48_REQUIRED TRUE
-#define STM32_SW STM32_SW_PLL
-#define STM32_PLLSRC STM32_PLLSRC_HSE
-#define STM32_PLLM_VALUE 8
-#define STM32_PLLN_VALUE 336
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 7
-#define STM32_HPRE STM32_HPRE_DIV1
-#define STM32_PPRE1 STM32_PPRE1_DIV4
-#define STM32_PPRE2 STM32_PPRE2_DIV2
-#define STM32_RTCSEL STM32_RTCSEL_LSI
-#define STM32_RTCPRE_VALUE 8
-#define STM32_MCO1SEL STM32_MCO1SEL_HSI
-#define STM32_MCO1PRE STM32_MCO1PRE_DIV1
-#define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK
-#define STM32_MCO2PRE STM32_MCO2PRE_DIV5
-#define STM32_I2SSRC STM32_I2SSRC_CKIN
-#define STM32_PLLI2SN_VALUE 192
-#define STM32_PLLI2SR_VALUE 5
-#define STM32_PVD_ENABLE FALSE
-#define STM32_PLS STM32_PLS_LEV0
-#define STM32_BKPRAM_ENABLE FALSE
-
-/*
- * ADC driver system settings.
- */
-#define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV4
-#define STM32_ADC_USE_ADC1 FALSE
-#define STM32_ADC_USE_ADC2 FALSE
-#define STM32_ADC_USE_ADC3 FALSE
-#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
-#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
-#define STM32_ADC_ADC1_DMA_PRIORITY 2
-#define STM32_ADC_ADC2_DMA_PRIORITY 2
-#define STM32_ADC_ADC3_DMA_PRIORITY 2
-#define STM32_ADC_IRQ_PRIORITY 6
-#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 6
-#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 6
-
-/*
- * CAN driver system settings.
- */
-#define STM32_CAN_USE_CAN1 FALSE
-#define STM32_CAN_USE_CAN2 FALSE
-#define STM32_CAN_CAN1_IRQ_PRIORITY 11
-#define STM32_CAN_CAN2_IRQ_PRIORITY 11
-
-/*
- * DAC driver system settings.
- */
-#define STM32_DAC_DUAL_MODE FALSE
-#define STM32_DAC_USE_DAC1_CH1 FALSE
-#define STM32_DAC_USE_DAC1_CH2 FALSE
-#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
-#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
-#define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-
-/*
- * EXT driver system settings.
- */
-#define STM32_EXT_EXTI0_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI1_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI2_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI3_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI4_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI16_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI17_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI18_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI19_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI20_IRQ_PRIORITY 6
-#define STM32_EXT_EXTI21_IRQ_PRIORITY 15
-#define STM32_EXT_EXTI22_IRQ_PRIORITY 15
-
-/*
- * GPT driver system settings.
- */
-#define STM32_GPT_USE_TIM1 FALSE
-#define STM32_GPT_USE_TIM2 FALSE
-#define STM32_GPT_USE_TIM3 FALSE
-#define STM32_GPT_USE_TIM4 FALSE
-#define STM32_GPT_USE_TIM5 FALSE
-#define STM32_GPT_USE_TIM6 FALSE
-#define STM32_GPT_USE_TIM7 FALSE
-#define STM32_GPT_USE_TIM8 FALSE
-#define STM32_GPT_USE_TIM9 FALSE
-#define STM32_GPT_USE_TIM11 FALSE
-#define STM32_GPT_USE_TIM12 FALSE
-#define STM32_GPT_USE_TIM14 FALSE
-#define STM32_GPT_TIM1_IRQ_PRIORITY 7
-#define STM32_GPT_TIM2_IRQ_PRIORITY 7
-#define STM32_GPT_TIM3_IRQ_PRIORITY 7
-#define STM32_GPT_TIM4_IRQ_PRIORITY 7
-#define STM32_GPT_TIM5_IRQ_PRIORITY 7
-#define STM32_GPT_TIM6_IRQ_PRIORITY 7
-#define STM32_GPT_TIM7_IRQ_PRIORITY 7
-#define STM32_GPT_TIM8_IRQ_PRIORITY 7
-#define STM32_GPT_TIM9_IRQ_PRIORITY 7
-#define STM32_GPT_TIM11_IRQ_PRIORITY 7
-#define STM32_GPT_TIM12_IRQ_PRIORITY 7
-#define STM32_GPT_TIM14_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define STM32_I2C_USE_I2C1 FALSE
-#define STM32_I2C_USE_I2C2 FALSE
-#define STM32_I2C_USE_I2C3 FALSE
-#define STM32_I2C_BUSY_TIMEOUT 50
-#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2C_I2C1_IRQ_PRIORITY 5
-#define STM32_I2C_I2C2_IRQ_PRIORITY 5
-#define STM32_I2C_I2C3_IRQ_PRIORITY 5
-#define STM32_I2C_I2C1_DMA_PRIORITY 3
-#define STM32_I2C_I2C2_DMA_PRIORITY 3
-#define STM32_I2C_I2C3_DMA_PRIORITY 3
-#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
-
-/*
- * I2S driver system settings.
- */
-#define STM32_I2S_USE_SPI2 FALSE
-#define STM32_I2S_USE_SPI3 FALSE
-#define STM32_I2S_SPI2_IRQ_PRIORITY 10
-#define STM32_I2S_SPI3_IRQ_PRIORITY 10
-#define STM32_I2S_SPI2_DMA_PRIORITY 1
-#define STM32_I2S_SPI3_DMA_PRIORITY 1
-#define STM32_I2S_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_I2S_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_I2S_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_I2S_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_I2S_DMA_ERROR_HOOK(i2sp) osalSysHalt("DMA failure")
-
-/*
- * ICU driver system settings.
- */
-#define STM32_ICU_USE_TIM1 FALSE
-#define STM32_ICU_USE_TIM2 FALSE
-#define STM32_ICU_USE_TIM3 FALSE
-#define STM32_ICU_USE_TIM4 FALSE
-#define STM32_ICU_USE_TIM5 FALSE
-#define STM32_ICU_USE_TIM8 FALSE
-#define STM32_ICU_USE_TIM9 FALSE
-#define STM32_ICU_TIM1_IRQ_PRIORITY 7
-#define STM32_ICU_TIM2_IRQ_PRIORITY 7
-#define STM32_ICU_TIM3_IRQ_PRIORITY 7
-#define STM32_ICU_TIM4_IRQ_PRIORITY 7
-#define STM32_ICU_TIM5_IRQ_PRIORITY 7
-#define STM32_ICU_TIM8_IRQ_PRIORITY 7
-#define STM32_ICU_TIM9_IRQ_PRIORITY 7
-
-/*
- * MAC driver system settings.
- */
-#define STM32_MAC_TRANSMIT_BUFFERS 2
-#define STM32_MAC_RECEIVE_BUFFERS 4
-#define STM32_MAC_BUFFERS_SIZE 1522
-#define STM32_MAC_PHY_TIMEOUT 100
-#define STM32_MAC_ETH1_CHANGE_PHY_STATE TRUE
-#define STM32_MAC_ETH1_IRQ_PRIORITY 13
-#define STM32_MAC_IP_CHECKSUM_OFFLOAD 0
-
-/*
- * PWM driver system settings.
- */
-#define STM32_PWM_USE_ADVANCED FALSE
-#define STM32_PWM_USE_TIM1 FALSE
-#define STM32_PWM_USE_TIM2 FALSE
-#define STM32_PWM_USE_TIM3 TRUE
-#define STM32_PWM_USE_TIM4 FALSE
-#define STM32_PWM_USE_TIM5 FALSE
-#define STM32_PWM_USE_TIM8 FALSE
-#define STM32_PWM_USE_TIM9 FALSE
-#define STM32_PWM_TIM1_IRQ_PRIORITY 7
-#define STM32_PWM_TIM2_IRQ_PRIORITY 7
-#define STM32_PWM_TIM3_IRQ_PRIORITY 7
-#define STM32_PWM_TIM4_IRQ_PRIORITY 7
-#define STM32_PWM_TIM5_IRQ_PRIORITY 7
-#define STM32_PWM_TIM8_IRQ_PRIORITY 7
-#define STM32_PWM_TIM9_IRQ_PRIORITY 7
-
-/*
- * SDC driver system settings.
- */
-#define STM32_SDC_SDIO_DMA_PRIORITY 3
-#define STM32_SDC_SDIO_IRQ_PRIORITY 9
-#define STM32_SDC_WRITE_TIMEOUT_MS 250
-#define STM32_SDC_READ_TIMEOUT_MS 25
-#define STM32_SDC_CLOCK_ACTIVATION_DELAY 10
-#define STM32_SDC_SDIO_UNALIGNED_SUPPORT TRUE
-#define STM32_SDC_SDIO_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-
-/*
- * SERIAL driver system settings.
- */
-#define STM32_SERIAL_USE_USART1 FALSE
-#define STM32_SERIAL_USE_USART2 TRUE
-#define STM32_SERIAL_USE_USART3 FALSE
-#define STM32_SERIAL_USE_UART4 FALSE
-#define STM32_SERIAL_USE_UART5 FALSE
-#define STM32_SERIAL_USE_USART6 FALSE
-#define STM32_SERIAL_USART1_PRIORITY 12
-#define STM32_SERIAL_USART2_PRIORITY 12
-#define STM32_SERIAL_USART3_PRIORITY 12
-#define STM32_SERIAL_UART4_PRIORITY 12
-#define STM32_SERIAL_UART5_PRIORITY 12
-#define STM32_SERIAL_USART6_PRIORITY 12
-
-/*
- * SPI driver system settings.
- */
-#define STM32_SPI_USE_SPI1 FALSE
-#define STM32_SPI_USE_SPI2 FALSE
-#define STM32_SPI_USE_SPI3 FALSE
-#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
-#define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
-#define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_SPI_SPI1_DMA_PRIORITY 1
-#define STM32_SPI_SPI2_DMA_PRIORITY 1
-#define STM32_SPI_SPI3_DMA_PRIORITY 1
-#define STM32_SPI_SPI1_IRQ_PRIORITY 10
-#define STM32_SPI_SPI2_IRQ_PRIORITY 10
-#define STM32_SPI_SPI3_IRQ_PRIORITY 10
-#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
-
-/*
- * ST driver system settings.
- */
-#define STM32_ST_IRQ_PRIORITY 8
-#define STM32_ST_USE_TIMER 2
-
-/*
- * UART driver system settings.
- */
-#define STM32_UART_USE_USART1 FALSE
-#define STM32_UART_USE_USART2 FALSE
-#define STM32_UART_USE_USART3 FALSE
-#define STM32_UART_USE_UART4 FALSE
-#define STM32_UART_USE_UART5 FALSE
-#define STM32_UART_USE_USART6 FALSE
-#define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
-#define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
-#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
-#define STM32_UART_USART3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
-#define STM32_UART_USART3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
-#define STM32_UART_UART4_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
-#define STM32_UART_UART4_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
-#define STM32_UART_UART5_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
-#define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
-#define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
-#define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_UART_USART1_IRQ_PRIORITY 12
-#define STM32_UART_USART2_IRQ_PRIORITY 12
-#define STM32_UART_USART3_IRQ_PRIORITY 12
-#define STM32_UART_UART4_IRQ_PRIORITY 12
-#define STM32_UART_UART5_IRQ_PRIORITY 12
-#define STM32_UART_USART6_IRQ_PRIORITY 12
-#define STM32_UART_USART1_DMA_PRIORITY 0
-#define STM32_UART_USART2_DMA_PRIORITY 0
-#define STM32_UART_USART3_DMA_PRIORITY 0
-#define STM32_UART_UART4_DMA_PRIORITY 0
-#define STM32_UART_UART5_DMA_PRIORITY 0
-#define STM32_UART_USART6_DMA_PRIORITY 0
-#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
-
-/*
- * USB driver system settings.
- */
-#define STM32_USB_USE_OTG1 FALSE
-#define STM32_USB_USE_OTG2 FALSE
-#define STM32_USB_OTG1_IRQ_PRIORITY 14
-#define STM32_USB_OTG2_IRQ_PRIORITY 14
-#define STM32_USB_OTG1_RX_FIFO_SIZE 512
-#define STM32_USB_OTG2_RX_FIFO_SIZE 1024
-#define STM32_USB_OTG_THREAD_PRIO LOWPRIO
-#define STM32_USB_OTG_THREAD_STACK_SIZE 128
-#define STM32_USB_OTGFIFO_FILL_BASEPRI 0
-
-/*
- * WDG driver system settings.
- */
-#define STM32_WDG_USE_IWDG FALSE
-
-/*
- * header for community drivers.
- */
-#include "mcuconf_community.h"
-
-#endif /* MCUCONF_H */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf_community.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf_community.h
deleted file mode 100644
index 7ca6e71..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf_community.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * FSMC driver system settings.
- */
-#define STM32_FSMC_USE_FSMC1 FALSE
-#define STM32_FSMC_FSMC1_IRQ_PRIORITY 10
-
-/*
- * FSMC NAND driver system settings.
- */
-#define STM32_NAND_USE_FSMC_NAND1 FALSE
-#define STM32_NAND_USE_FSMC_NAND2 FALSE
-#define STM32_NAND_USE_EXT_INT FALSE
-#define STM32_NAND_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
-#define STM32_NAND_DMA_PRIORITY 0
-#define STM32_NAND_DMA_ERROR_HOOK(nandp) osalSysHalt("DMA failure")
-
-/*
- * FSMC SRAM driver system settings.
- */
-#define STM32_USE_FSMC_SRAM FALSE
-#define STM32_SRAM_USE_FSMC_SRAM1 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM2 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM3 FALSE
-#define STM32_SRAM_USE_FSMC_SRAM4 FALSE
-
-/*
- * FSMC SDRAM driver system settings.
- */
-#define STM32_USE_FSMC_SDRAM FALSE
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.c
deleted file mode 100644
index be20dbc..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <string.h>
-
-#include "hal.h"
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-#if defined(BOARD_ST_STM32F4_DISCOVERY) || \
- defined(BOARD_ST_STM32F0_DISCOVERY) || \
- defined(BOARD_ST_STM32F0308_DISCOVERY)
- #if ONEWIRE_USE_STRONG_PULLUP
- #error "This board has not enough voltage for this feature"
- #endif
-#endif
-
-#if defined(BOARD_ST_STM32F0308_DISCOVERY)
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN GPIOB_PIN0
- #define ONEWIRE_PAD_MODE_ACTIVE (PAL_MODE_ALTERNATE(1) | PAL_STM32_OTYPE_OPENDRAIN)
- #define search_led_off() (palClearPad(GPIOC, GPIOC_LED4))
- #define search_led_on() (palSetPad(GPIOC, GPIOC_LED4))
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#elif defined(BOARD_ST_STM32F4_DISCOVERY)
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN GPIOB_PIN0
- #define ONEWIRE_PAD_MODE_ACTIVE (PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN)
- #define search_led_off() (palClearPad(GPIOD, GPIOD_LED4))
- #define search_led_on() (palSetPad(GPIOD, GPIOD_LED4))
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#elif defined(BOARD_OLIMEX_STM32_103STK)
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN 0
- #define ONEWIRE_PAD_MODE_IDLE PAL_MODE_INPUT
- #define ONEWIRE_PAD_MODE_ACTIVE PAL_MODE_STM32_ALTERNATE_OPENDRAIN
- #define search_led_on() (palClearPad(GPIOC, GPIOC_LED))
- #define search_led_off() (palSetPad(GPIOC, GPIOC_LED))
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#else
- #define ONEWIRE_PORT GPIOB
- #define ONEWIRE_PIN GPIOB_TACHOMETER
- #include "pads.h"
- #define ONEWIRE_PAD_MODE_ACTIVE (PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN)
- #define search_led_on red_led_on
- #define search_led_off red_led_off
- #define ONEWIRE_MASTER_CHANNEL 2
- #define ONEWIRE_SAMPLE_CHANNEL 3
-#endif
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-/*
- * Forward declarations
- */
-#if ONEWIRE_USE_STRONG_PULLUP
-static void strong_pullup_assert(void);
-static void strong_pullup_release(void);
-#endif
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-
-static uint8_t testbuf[12];
-
-/* stores 3 temperature values in millicelsius */
-static int32_t temperature[3];
-
-/*
- * Config for underlied PWM driver.
- * Note! It is NOT constant because 1-wire driver needs to change them
- * during functioning.
- */
-static PWMConfig pwm_cfg = {
- 0,
- 0,
- NULL,
- {
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL}
- },
- 0,
-#if STM32_PWM_USE_ADVANCED
- 0,
-#endif
- 0
-};
-
-/*
- *
- */
-static const onewireConfig ow_cfg = {
- &PWMD3,
- &pwm_cfg,
- PWM_OUTPUT_ACTIVE_LOW,
- ONEWIRE_MASTER_CHANNEL,
- ONEWIRE_SAMPLE_CHANNEL,
- ONEWIRE_PORT,
- ONEWIRE_PIN,
-#if defined(STM32F1XX)
- ONEWIRE_PAD_MODE_IDLE,
-#endif
- ONEWIRE_PAD_MODE_ACTIVE,
-#if ONEWIRE_USE_STRONG_PULLUP
- strong_pullup_assert,
- strong_pullup_release
-#endif
-};
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-#if ONEWIRE_USE_STRONG_PULLUP
-/**
- *
- */
-static void strong_pullup_assert(void) {
- palSetPadMode(ONEWIRE_PORT, ONEWIRE_PIN, PAL_MODE_STM32_ALTERNATE_PUSHPULL);
-}
-
-/**
- *
- */
-static void strong_pullup_release(void) {
- palSetPadMode(ONEWIRE_PORT, ONEWIRE_PIN, PAL_MODE_STM32_ALTERNATE_OPENDRAIN);
-}
-#endif /* ONEWIRE_USE_STRONG_PULLUP */
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/**
- *
- */
-void onewireTest(void) {
-
- int16_t tmp;
- uint8_t rombuf[24];
- size_t devices_on_bus = 0;
- size_t i = 0;
- bool presence;
-
- onewireObjectInit(&OWD1);
- onewireStart(&OWD1, &ow_cfg);
-
-#if ONEWIRE_SYNTH_SEARCH_TEST
- synthSearchRomTest(&OWD1);
-#endif
-
- for (i=0; i<3; i++)
- temperature[i] = -666;
-
- while (true) {
- if (true == onewireReset(&OWD1)){
-
- memset(rombuf, 0x55, sizeof(rombuf));
- search_led_on();
- devices_on_bus = onewireSearchRom(&OWD1, rombuf, 3);
- search_led_off();
- osalDbgCheck(devices_on_bus <= 3);
- osalDbgCheck(devices_on_bus > 0);
-
- if (1 == devices_on_bus){
- /* test read rom command */
- presence = onewireReset(&OWD1);
- osalDbgCheck(true == presence);
- testbuf[0] = ONEWIRE_CMD_READ_ROM;
- onewireWrite(&OWD1, testbuf, 1, 0);
- onewireRead(&OWD1, testbuf, 8);
- osalDbgCheck(testbuf[7] == onewireCRC(testbuf, 7));
- osalDbgCheck(0 == memcmp(rombuf, testbuf, 8));
- }
-
- /* start temperature measurement on all connected devices at once */
- presence = onewireReset(&OWD1);
- osalDbgCheck(true == presence);
- testbuf[0] = ONEWIRE_CMD_SKIP_ROM;
- testbuf[1] = ONEWIRE_CMD_CONVERT_TEMP;
-
-#if ONEWIRE_USE_STRONG_PULLUP
- onewireWrite(&OWD1, testbuf, 2, MS2ST(750));
-#else
- onewireWrite(&OWD1, testbuf, 2, 0);
- /* poll bus waiting ready signal from all connected devices */
- testbuf[0] = 0;
- while (testbuf[0] == 0){
- osalThreadSleepMilliseconds(50);
- onewireRead(&OWD1, testbuf, 1);
- }
-#endif
-
- for (i=0; i<devices_on_bus; i++) {
- /* read temperature device by device from their scratchpads */
- presence = onewireReset(&OWD1);
- osalDbgCheck(true == presence);
-
- testbuf[0] = ONEWIRE_CMD_MATCH_ROM;
- memcpy(&testbuf[1], &rombuf[i*8], 8);
- testbuf[9] = ONEWIRE_CMD_READ_SCRATCHPAD;
- onewireWrite(&OWD1, testbuf, 10, 0);
-
- onewireRead(&OWD1, testbuf, 9);
- osalDbgCheck(testbuf[8] == onewireCRC(testbuf, 8));
- memcpy(&tmp, &testbuf, 2);
- temperature[i] = ((int32_t)tmp * 625) / 10;
- }
- }
- else {
- osalSysHalt("No devices found");
- }
- osalThreadSleep(1); /* enforce ChibiOS's stack overflow check */
- }
-
- onewireStop(&OWD1);
-}
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.h b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.h
deleted file mode 100644
index 1bec2d0..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef ONEWIRE_TEST_H_
-#define ONEWIRE_TEST_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void onewireTest(void);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ONEWIRE_TEST_H_ */
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/readme.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/readme.txt
deleted file mode 100644
index 2f45f99..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/readme.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-*****************************************************************************
-** ChibiOS/RT HAL - 1-Wire driver demo for STM32F4xx. **
-*****************************************************************************
-
-** TARGET **
-
-The demo will on an STMicroelectronics STM32F4-Discovery board.
-
-** The Demo **
-
-The application demonstrates the use of the STM32F4xx 1-Wire driver.
-
-** Board Setup **
-
-To use demo you have to power your 1-wire device from 5V bus on board
-and connect DQ line to PB0 pin. Do not forget about external pullup
-resistor to 5V (4k7 recommended).
-
-** Build Procedure **
-
-The demo has been tested using the free Codesourcery GCC-based toolchain
-and YAGARTO.
-Just modify the TRGT line in the makefile in order to use different GCC ports.
-
-** Notes **
-
-Some files used by the demo are not part of ChibiOS/RT but are copyright of
-ST Microelectronics and are licensed under a different license.
-Also note that not all the files present in the ST library are distributed
-with ChibiOS/RT, you can find the whole library on the ST web site:
-
- http://www.st.com
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/real_roms.txt b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/real_roms.txt
deleted file mode 100644
index ea19c1a..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/real_roms.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-rombuf[0] 0x28
-rombuf[1] 0xec
-rombuf[2] 0xf5
-rombuf[3] 0x67
-rombuf[4] 0x5
-rombuf[5] 0x0
-rombuf[6] 0x0
-rombuf[7] 0x1d
-
-rombuf[8] 0x28
-rombuf[9] 0xbd
-rombuf[10] 0x1a
-rombuf[11] 0x60
-rombuf[12] 0x5
-rombuf[13] 0x0
-rombuf[14] 0x0
-rombuf[15] 0x37
-
-rombuf[16] 0x28
-rombuf[17] 0x83
-rombuf[18] 0x7d
-rombuf[19] 0x67
-rombuf[20] 0x5
-rombuf[21] 0x0
-rombuf[22] 0x0
-rombuf[23] 0xf
-
diff --git a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/search_rom_synth.c b/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/search_rom_synth.c
deleted file mode 100644
index cd2528f..0000000
--- a/ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/search_rom_synth.c
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2014 Uladzimir Pylinsky aka barthess
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include <stdlib.h>
-
-/*
- ******************************************************************************
- * DEFINES
- ******************************************************************************
- */
-
-/* do not set it more than 64 because of some fill_pattern functions
- * will be broken.*/
-#define SYNTH_DEVICES_MAX 64
-
-/*
- * synthetic device
- */
-typedef struct {
- bool active;
- uint64_t id;
-} OWSynthDevice;
-
-/*
- * synthetic bus
- */
-typedef struct {
- OWSynthDevice devices[SYNTH_DEVICES_MAX];
- size_t dev_present;
- bool complement_bit;
- ioline_t rom_bit;
-} OWSynthBus;
-
-/*
- ******************************************************************************
- * EXTERNS
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * PROTOTYPES
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * GLOBAL VARIABLES
- ******************************************************************************
- */
-
-static OWSynthBus synth_bus;
-
-/*
- * local buffer for discovered ROMs
- */
-static uint64_t detected_devices[SYNTH_DEVICES_MAX];
-
-/*
- ******************************************************************************
- ******************************************************************************
- * LOCAL FUNCTIONS
- ******************************************************************************
- ******************************************************************************
- */
-
-/*
- ******************************************************************************
- * EXPORTED FUNCTIONS
- ******************************************************************************
- */
-
-/**
- *
- */
-void _synth_ow_write_bit(onewireDriver *owp, ioline_t bit) {
- (void)owp;
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++) {
- if (((synth_bus.devices[i].id >> synth_bus.rom_bit) & 1U) != bit) {
- synth_bus.devices[i].active = false;
- }
- }
- synth_bus.rom_bit++;
-}
-
-/**
- *
- */
-ioline_t _synth_ow_read_bit(void) {
- ioline_t ret = 0xFF;
- size_t i;
- ioline_t bit;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++) {
- if (synth_bus.devices[i].active){
- bit = (synth_bus.devices[i].id >> synth_bus.rom_bit) & 1U;
- if (synth_bus.complement_bit){
- bit ^= 1U;
- }
- if (0xFF == ret)
- ret = bit;
- else
- ret &= bit;
- }
- }
- synth_bus.complement_bit = !synth_bus.complement_bit;
- return ret;
-}
-
-/**
- *
- */
-static void synth_reset_pulse(void){
- size_t i;
-
- for (i=0; i<synth_bus.dev_present; i++){
- synth_bus.devices[i].active = true;
- }
-}
-
-/**
- *
- */
-static size_t synth_search_rom(onewireDriver *owp, uint8_t *result, size_t max_rom_cnt) {
-
- size_t i;
-
- search_clean_start(&owp->search_rom);
-
- do {
- /* initialize buffer to store result */
- if (owp->search_rom.reg.devices_found >= max_rom_cnt)
- owp->search_rom.retbuf = result + 8*(max_rom_cnt-1);
- else
- owp->search_rom.retbuf = result + 8*owp->search_rom.reg.devices_found;
- memset(owp->search_rom.retbuf, 0, 8);
-
- /* clean iteration state */
- search_clean_iteration(&owp->search_rom);
-
- /**/
- synth_reset_pulse();
- synth_bus.rom_bit = 0;
- synth_bus.complement_bit = false;
- for (i=0; i<64*3 - 1; i++){
- ow_search_rom_cb(NULL, owp);
- }
-
- if (ONEWIRE_SEARCH_ROM_ERROR != owp->search_rom.reg.result) {
- /* store cached result for usage in next iteration */
- memcpy(owp->search_rom.prev_path, owp->search_rom.retbuf, 8);
- }
- }
- while (ONEWIRE_SEARCH_ROM_SUCCESS == owp->search_rom.reg.result);
-
- /**/
- if (ONEWIRE_SEARCH_ROM_ERROR == owp->search_rom.reg.result)
- return 0;
- else
- return owp->search_rom.reg.devices_found;
-}
-
-/**
- *
- */
-static void fill_pattern_real_devices(void) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- synth_bus.devices[0].active = true;
- synth_bus.devices[0].id = 0x1d00000567f5ec28;
-
- synth_bus.devices[1].active = true;
- synth_bus.devices[1].id = 0x37000005601abd28;
-
- synth_bus.devices[2].active = true;
- synth_bus.devices[2].id = 0x0f000005677d8328;
-}
-
-/**
- *
- */
-static void fill_pattern_00(size_t devices, size_t start) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = (start + i);
- }
-}
-
-/**
- *
- */
-static void fill_pattern_01(size_t devices) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = (devices - i);
- }
-}
-
-/**
- *
- */
-static void fill_pattern_02(size_t devices) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = ((uint64_t)1 << i);
- }
-}
-
-/**
- *
- */
-static void fill_pattern_03(size_t devices) {
- size_t i;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++)
- synth_bus.devices[i].active = false;
-
- for (i=0; i<devices; i++){
- synth_bus.devices[i].active = true;
- synth_bus.devices[i].id = ((uint64_t)0x8000000000000000 >> i);
- }
-}
-
-/**
- * @brief random pattern helper
- */
-static bool is_id_uniq(const OWSynthDevice *dev, size_t n, uint64_t id) {
- size_t i;
-
- for (i=0; i<n; i++) {
- if (dev[i].id == id)
- return false;
- }
- return true;
-}
-
-/**
- *
- */
-static void fill_pattern_rand(size_t devices) {
- size_t i;
- uint64_t new_id;
-
- for (i=0; i<SYNTH_DEVICES_MAX; i++){
- synth_bus.devices[i].active = false;
- synth_bus.devices[i].id = 0;
- }
-
- for (i=0; i<devices; i++) {
- do {
- new_id = rand();
- new_id = (new_id << 32) | rand();
- } while (true != is_id_uniq(synth_bus.devices, i, new_id));
-
- synth_bus.devices[i].id = new_id;
- synth_bus.devices[i].active = true;
- }
-}
-
-/**
- *
- */
-static bool check_result(size_t detected) {
-
- size_t i,j;
- bool match = false;
-
- for (i=0; i<detected; i++){
- match = false;
- for (j=0; j<detected; j++){
- if (synth_bus.devices[i].id == detected_devices[j]){
- match = true;
- break;
- }
- }
- if (false == match)
- return OSAL_FAILED;
- }
- return OSAL_SUCCESS;
-}
-
-/**
- *
- */
-void synthSearchRomTest(onewireDriver *owp) {
-
- size_t detected = 0;
- size_t i;
-
- synth_bus.dev_present = 3;
- fill_pattern_real_devices();
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- for (i=1; i<=SYNTH_DEVICES_MAX; i++){
- synth_bus.dev_present = i;
-
- fill_pattern_00(synth_bus.dev_present, 0);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_00(synth_bus.dev_present, 1);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_01(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_02(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
-
- fill_pattern_03(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
- }
-
- i = 0;
- while (i < 1000) {
- synth_bus.dev_present = 1 + (rand() & 63);
-
- fill_pattern_rand(synth_bus.dev_present);
- detected = synth_search_rom(owp, (uint8_t *)detected_devices, SYNTH_DEVICES_MAX);
- osalDbgCheck(synth_bus.dev_present == detected);
- osalDbgCheck(OSAL_SUCCESS == check_result(detected));
- i++;
- }
-}
-
-
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.cproject b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.cproject
deleted file mode 100644
index 5aa94c5..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.cproject
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.114656749">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.114656749" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildProperties="" description="" id="0.114656749" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.114656749." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861.169007201" name=""/>
- <builder autoBuildTarget="all" cleanBuildTarget="clean" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" id="org.eclipse.cdt.build.core.settings.default.builder.579570726" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.2143276802" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1873650595" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1337802279" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1707090075" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.338985256" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1165165914" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.714476670" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="TM4C123x-EXT.null.1703860681" name="TM4C123x-EXT"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.114656749">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
- <storageModule moduleId="refreshScope"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.project b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.project
deleted file mode 100644
index 79bd112..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.project
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>TM4C123x-EXT</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>board</name>
- <type>2</type>
- <locationURI>CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD</locationURI>
- </link>
- <link>
- <name>community_os</name>
- <type>2</type>
- <locationURI>CHIBIOS3/community/os</locationURI>
- </link>
- <link>
- <name>os</name>
- <type>2</type>
- <locationURI>CHIBIOS3/os</locationURI>
- </link>
- <link>
- <name>test</name>
- <type>2</type>
- <locationURI>CHIBIOS3/test</locationURI>
- </link>
- </linkedResources>
- <variableList>
- <variable>
- <name>CHIBIOS3</name>
- <value>file:/C:/ChibiStudio/chibios3</value>
- </variable>
- </variableList>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/Makefile b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/Makefile
deleted file mode 100644
index f587083..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/Makefile
+++ /dev/null
@@ -1,212 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = hard
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_tm4c123x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/TIVA/TM4C123x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/TM4C123xH6.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/chconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/chconf.h
deleted file mode 100644
index dd6722a..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/chconf.h
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 1000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/**
- * @brief Realtime Counter frequency.
- * @details Frequency of the system counter used for realtime delays and
- * measurements.
- */
-#define CH_CFG_RTC_FREQUENCY 80000000
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop. */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
deleted file mode 100644
index 8772f9c..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${eclipse_home}\..\tools\openocd\bin\openocd.exe"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-c &quot;telnet_port 4444&quot; -f &quot;interface/ti-icdi.cfg&quot; -f &quot;${file_prompt}&quot;"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${eclipse_home}\..\tools\openocd\bin\"/>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/TM4C123x-EXT (OpenOCD, Flash and Run).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/TM4C123x-EXT (OpenOCD, Flash and Run).launch
deleted file mode 100644
index d963642..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/TM4C123x-EXT (OpenOCD, Flash and Run).launch
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
-<stringAttribute key="bad_container_name" value="\TM4C123x-\debug"/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="1"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="monitor reset halt&#13;&#10;monitor reset init"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
-<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
-<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
-<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;dmachis-spi_serve_interrupt-(format)&quot; val=&quot;0&quot;/&gt;&lt;/contentList&gt;"/>
-<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TM4C123x-EXT"/>
-<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.114656749"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/TM4C123x-EXT"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/halconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/halconf.h
deleted file mode 100644
index 6e763ee..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/halconf.h
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT TRUE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/main.c b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/main.c
deleted file mode 100644
index 4370794..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/main.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-static void extcb1(EXTDriver *extp, expchannel_t channel)
-{
- (void)extp;
- (void)channel;
-
- palTogglePad(GPIOF, GPIOF_LED_RED);
-}
-
-static void extcb2(EXTDriver *extp, expchannel_t channel)
-{
- (void)extp;
- (void)channel;
-
- palTogglePad(GPIOF, GPIOF_LED_GREEN);
-}
-
-static const EXTConfig extcfg =
-{
- {
- /* GPIOA */
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- /* GPIOB */
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- /* GPIOC */
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- /* GPIOD */
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- /* GPIOE */
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- /* GPIOF */
- {EXT_CH_MODE_FALLING_EDGE | EXT_CH_MODE_AUTOSTART, extcb1},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_RISING_EDGE | EXT_CH_MODE_AUTOSTART, extcb2},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL},
- {EXT_CH_MODE_DISABLED, NULL}
- }
-};
-
-/*
- * Application entry point.
- */
-int main(void)
-{
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- palSetPadMode(GPIOF, GPIOF_LED_RED, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOF, GPIOF_LED_GREEN, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOF, GPIOF_SW1, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOF, GPIOF_SW2, PAL_MODE_INPUT_PULLUP);
-
- extStart(&EXTD1, &extcfg);
-
- /*
- * Normal main() thread activity
- */
- while (TRUE) {
- chThdSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/mcuconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/mcuconf.h
deleted file mode 100644
index 74a4da3..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/mcuconf.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * TM4C123x drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 7...0 Lowest...Highest.
- */
-
-#define TM4C123x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define TIVA_OSCSRC TIVA_RCC2_OSCSRC2_MOSC
-#define TIVA_MOSC_ENABLE TRUE
-#define TIVA_DIV400_VALUE 1
-#define TIVA_SYSDIV_VALUE 2
-#define TIVA_USESYSDIV_ENABLE FALSE
-#define TIVA_SYSDIV2LSB_ENABLE FALSE
-#define TIVA_BYPASS_VALUE 0
-#define TIVA_PWM_FIELDS (TIVA_RCC_USEPWMDIV | \
- TIVA_RCC_PWMDIV_8)
-
-/*
- * GPIO driver system settings.
- */
-#define TIVA_GPIO_GPIOA_USE_AHB TRUE
-#define TIVA_GPIO_GPIOB_USE_AHB TRUE
-#define TIVA_GPIO_GPIOC_USE_AHB TRUE
-#define TIVA_GPIO_GPIOD_USE_AHB TRUE
-#define TIVA_GPIO_GPIOE_USE_AHB TRUE
-#define TIVA_GPIO_GPIOF_USE_AHB TRUE
-
-/*
- * GPT driver system settings.
- */
-#define TIVA_GPT_USE_GPT0 FALSE
-#define TIVA_GPT_USE_GPT1 FALSE
-#define TIVA_GPT_USE_GPT2 FALSE
-#define TIVA_GPT_USE_GPT3 FALSE
-#define TIVA_GPT_USE_GPT4 FALSE
-#define TIVA_GPT_USE_GPT5 FALSE
-#define TIVA_GPT_USE_WGPT0 FALSE
-#define TIVA_GPT_USE_WGPT1 FALSE
-#define TIVA_GPT_USE_WGPT2 FALSE
-#define TIVA_GPT_USE_WGPT3 FALSE
-#define TIVA_GPT_USE_WGPT4 FALSE
-#define TIVA_GPT_USE_WGPT5 FALSE
-
-#define TIVA_GPT_GPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT5A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT5A_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define TIVA_I2C_USE_I2C0 FALSE
-#define TIVA_I2C_USE_I2C1 FALSE
-#define TIVA_I2C_USE_I2C2 FALSE
-#define TIVA_I2C_USE_I2C3 FALSE
-#define TIVA_I2C_USE_I2C4 FALSE
-#define TIVA_I2C_USE_I2C5 FALSE
-#define TIVA_I2C_USE_I2C6 FALSE
-#define TIVA_I2C_USE_I2C7 FALSE
-#define TIVA_I2C_I2C0_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C1_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C2_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C3_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C4_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C5_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C6_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C7_IRQ_PRIORITY 4
-
-/*
- * PWM driver system settings.
- */
-#define TIVA_PWM_USE_PWM0 FALSE
-#define TIVA_PWM_USE_PWM1 FALSE
-#define TIVA_PWM_PWM0_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_3_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_3_IRQ_PRIORITY 4
-
-/*
- * SERIAL driver system settings.
- */
-#define TIVA_SERIAL_USE_UART0 FALSE
-#define TIVA_SERIAL_USE_UART1 FALSE
-#define TIVA_SERIAL_USE_UART2 FALSE
-#define TIVA_SERIAL_USE_UART3 FALSE
-#define TIVA_SERIAL_USE_UART4 FALSE
-#define TIVA_SERIAL_USE_UART5 FALSE
-#define TIVA_SERIAL_USE_UART6 FALSE
-#define TIVA_SERIAL_USE_UART7 FALSE
-#define TIVA_SERIAL_UART0_PRIORITY 5
-#define TIVA_SERIAL_UART1_PRIORITY 5
-#define TIVA_SERIAL_UART2_PRIORITY 5
-#define TIVA_SERIAL_UART3_PRIORITY 5
-#define TIVA_SERIAL_UART4_PRIORITY 5
-#define TIVA_SERIAL_UART5_PRIORITY 5
-#define TIVA_SERIAL_UART6_PRIORITY 5
-#define TIVA_SERIAL_UART7_PRIORITY 5
-
-/*
- * SPI driver system settings.
- */
-#define TIVA_SPI_USE_SSI0 TRUE
-#define TIVA_SPI_USE_SSI1 FALSE
-#define TIVA_SPI_USE_SSI2 FALSE
-#define TIVA_SPI_USE_SSI3 FALSE
-#define TIVA_SPI_SSI0_RX_UDMA_CHANNEL 10
-#define TIVA_SPI_SSI1_RX_UDMA_CHANNEL 24
-#define TIVA_SPI_SSI2_RX_UDMA_CHANNEL 12
-#define TIVA_SPI_SSI3_RX_UDMA_CHANNEL 14
-#define TIVA_SPI_SSI0_TX_UDMA_CHANNEL 11
-#define TIVA_SPI_SSI1_TX_UDMA_CHANNEL 25
-#define TIVA_SPI_SSI2_TX_UDMA_CHANNEL 13
-#define TIVA_SPI_SSI3_TX_UDMA_CHANNEL 15
-#define TIVA_SPI_SSI0_RX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI1_RX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI2_RX_UDMA_MAPPING 2
-#define TIVA_SPI_SSI3_RX_UDMA_MAPPING 2
-#define TIVA_SPI_SSI0_TX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI1_TX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI2_TX_UDMA_MAPPING 2
-#define TIVA_SPI_SSI3_TX_UDMA_MAPPING 2
-
-/*
- * ST driver system settings.
- */
-#define TIVA_ST_IRQ_PRIORITY 2
-#define TIVA_ST_USE_WIDE_TIMER TRUE
-#define TIVA_ST_TIMER_NUMBER 5
-#define TIVA_ST_TIMER_LETTER A
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.cproject b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.cproject
deleted file mode 100644
index 93c394e..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.cproject
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.114656749">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.114656749" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildProperties="" description="" id="0.114656749" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.114656749." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861.169007201" name=""/>
- <builder autoBuildTarget="all" cleanBuildTarget="clean" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" id="org.eclipse.cdt.build.core.settings.default.builder.579570726" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.2143276802" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1873650595" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1337802279" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1707090075" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.338985256" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1165165914" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.714476670" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="TM4C123x-GPT.null.1703860681" name="TM4C123x-GPT"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.114656749">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
- <storageModule moduleId="refreshScope"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.project b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.project
deleted file mode 100644
index ae2b92b..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.project
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>TM4C123x-GPT</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>board</name>
- <type>2</type>
- <locationURI>CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD</locationURI>
- </link>
- <link>
- <name>community_os</name>
- <type>2</type>
- <locationURI>CHIBIOS3/community/os</locationURI>
- </link>
- <link>
- <name>os</name>
- <type>2</type>
- <locationURI>CHIBIOS3/os</locationURI>
- </link>
- <link>
- <name>test</name>
- <type>2</type>
- <locationURI>CHIBIOS3/test</locationURI>
- </link>
- </linkedResources>
- <variableList>
- <variable>
- <name>CHIBIOS3</name>
- <value>file:/C:/ChibiStudio/chibios3</value>
- </variable>
- </variableList>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/Makefile b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/Makefile
deleted file mode 100644
index f587083..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/Makefile
+++ /dev/null
@@ -1,212 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = hard
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_tm4c123x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/TIVA/TM4C123x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/TM4C123xH6.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/chconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/chconf.h
deleted file mode 100644
index 25e39f6..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/chconf.h
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/**
- * @brief Realtime Counter frequency.
- * @details Frequency of the system counter used for realtime delays and
- * measurements.
- */
-#define CH_CFG_RTC_FREQUENCY 80000000
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop. */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
deleted file mode 100644
index 8772f9c..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${eclipse_home}\..\tools\openocd\bin\openocd.exe"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-c &quot;telnet_port 4444&quot; -f &quot;interface/ti-icdi.cfg&quot; -f &quot;${file_prompt}&quot;"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${eclipse_home}\..\tools\openocd\bin\"/>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/TM4C123x-GPT (OpenOCD, Flash and Run).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/TM4C123x-GPT (OpenOCD, Flash and Run).launch
deleted file mode 100644
index 4c35b02..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/TM4C123x-GPT (OpenOCD, Flash and Run).launch
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
-<stringAttribute key="bad_container_name" value="\TM4C123x-GPT\debug"/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="1"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="monitor reset halt&#13;&#10;monitor reset init"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
-<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
-<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
-<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList/&gt;"/>
-<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TM4C123x-GPT"/>
-<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.114656749"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/TM4C123x-GPT"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/halconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/halconf.h
deleted file mode 100644
index 4d1738c..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/halconf.h
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT TRUE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/main.c b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/main.c
deleted file mode 100644
index 4e19b14..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/main.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-/*
- * GPT1 callback
- */
-static void gpt1cb(GPTDriver *gptp)
-{
- (void)gptp;
- palClearPad(GPIOF, GPIOF_LED_RED);
-}
-
-/*
- * GPT7 callback
- */
-static void gpt7cb(GPTDriver *gptp)
-{
- (void)gptp;
- palSetPad(GPIOF, GPIOF_LED_RED);
- chSysLockFromISR();
- gptStartOneShotI(&GPTD1, 31250); /* 0.1 second pulse.*/
- chSysUnlockFromISR();
-}
-
-/*
- * GPT1 configuration.
- */
-static const GPTConfig gpt1cfg =
-{
- 312500, /* 312500 kHz timer clock.*/
- gpt1cb, /* Timer callback.*/
-};
-
-/*
- * GPT7 configuration.
- */
-static const GPTConfig gpt7cfg =
-{
- 10000, /* 10000 kHz timer clock.*/
- gpt7cb, /* Timer callback.*/
-};
-
-/*
- * Application entry point.
- */
-int main(void)
-{
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- palSetPadMode(GPIOF, GPIOF_LED_RED, PAL_MODE_OUTPUT_PUSHPULL);
-
- /*
- * Start the gpt drivers with the custom configurations.
- */
- gptStart(&GPTD1, &gpt1cfg);
- gptStart(&GPTD7, &gpt7cfg);
-
- /*
- * Normal main() thread activity
- */
- while (TRUE) {
- gptStartContinuous(&GPTD7, 5000);
- chThdSleepMilliseconds(5000);
- gptStopTimer(&GPTD7);
- gptStartContinuous(&GPTD7, 2500);
- chThdSleepMilliseconds(5000);
- gptStopTimer(&GPTD7);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/mcuconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/mcuconf.h
deleted file mode 100644
index b193fa9..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/mcuconf.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * TM4C123x drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 7...0 Lowest...Highest.
- */
-
-#define TM4C123x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define TIVA_OSCSRC TIVA_RCC2_OSCSRC2_MOSC
-#define TIVA_MOSC_ENABLE TRUE
-#define TIVA_DIV400_VALUE 1
-#define TIVA_SYSDIV_VALUE 2
-#define TIVA_USESYSDIV_ENABLE FALSE
-#define TIVA_SYSDIV2LSB_ENABLE FALSE
-#define TIVA_BYPASS_VALUE 0
-#define TIVA_PWM_FIELDS (TIVA_RCC_USEPWMDIV | \
- TIVA_RCC_PWMDIV_8)
-
-/*
- * GPIO driver system settings.
- */
-#define TIVA_GPIO_GPIOA_USE_AHB TRUE
-#define TIVA_GPIO_GPIOB_USE_AHB TRUE
-#define TIVA_GPIO_GPIOC_USE_AHB TRUE
-#define TIVA_GPIO_GPIOD_USE_AHB TRUE
-#define TIVA_GPIO_GPIOE_USE_AHB TRUE
-#define TIVA_GPIO_GPIOF_USE_AHB TRUE
-
-/*
- * GPT driver system settings.
- */
-#define TIVA_GPT_USE_GPT0 TRUE
-#define TIVA_GPT_USE_GPT1 TRUE
-#define TIVA_GPT_USE_GPT2 FALSE
-#define TIVA_GPT_USE_GPT3 FALSE
-#define TIVA_GPT_USE_GPT4 FALSE
-#define TIVA_GPT_USE_GPT5 FALSE
-#define TIVA_GPT_USE_WGPT0 TRUE
-#define TIVA_GPT_USE_WGPT1 TRUE
-#define TIVA_GPT_USE_WGPT2 FALSE
-#define TIVA_GPT_USE_WGPT3 FALSE
-#define TIVA_GPT_USE_WGPT4 FALSE
-#define TIVA_GPT_USE_WGPT5 FALSE
-
-#define TIVA_GPT_GPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT5A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT5A_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define TIVA_I2C_USE_I2C0 FALSE
-#define TIVA_I2C_USE_I2C1 FALSE
-#define TIVA_I2C_USE_I2C2 FALSE
-#define TIVA_I2C_USE_I2C3 FALSE
-#define TIVA_I2C_USE_I2C4 FALSE
-#define TIVA_I2C_USE_I2C5 FALSE
-#define TIVA_I2C_USE_I2C6 FALSE
-#define TIVA_I2C_USE_I2C7 FALSE
-#define TIVA_I2C_I2C0_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C1_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C2_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C3_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C4_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C5_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C6_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C7_IRQ_PRIORITY 4
-
-/*
- * PWM driver system settings.
- */
-#define TIVA_PWM_USE_PWM0 FALSE
-#define TIVA_PWM_USE_PWM1 FALSE
-#define TIVA_PWM_PWM0_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_3_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_3_IRQ_PRIORITY 4
-
-/*
- * SERIAL driver system settings.
- */
-#define TIVA_SERIAL_USE_UART0 FALSE
-#define TIVA_SERIAL_USE_UART1 FALSE
-#define TIVA_SERIAL_USE_UART2 FALSE
-#define TIVA_SERIAL_USE_UART3 FALSE
-#define TIVA_SERIAL_USE_UART4 FALSE
-#define TIVA_SERIAL_USE_UART5 FALSE
-#define TIVA_SERIAL_USE_UART6 FALSE
-#define TIVA_SERIAL_USE_UART7 FALSE
-#define TIVA_SERIAL_UART0_PRIORITY 5
-#define TIVA_SERIAL_UART1_PRIORITY 5
-#define TIVA_SERIAL_UART2_PRIORITY 5
-#define TIVA_SERIAL_UART3_PRIORITY 5
-#define TIVA_SERIAL_UART4_PRIORITY 5
-#define TIVA_SERIAL_UART5_PRIORITY 5
-#define TIVA_SERIAL_UART6_PRIORITY 5
-#define TIVA_SERIAL_UART7_PRIORITY 5
-
-/*
- * ST driver system settings.
- */
-#define TIVA_ST_IRQ_PRIORITY 2
-#define TIVA_ST_USE_WIDE_TIMER TRUE
-#define TIVA_ST_TIMER_NUMBER 5
-#define TIVA_ST_TIMER_LETTER A
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.cproject b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.cproject
deleted file mode 100644
index 31b2a7f..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.cproject
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.114656749">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.114656749" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildProperties="" description="" id="0.114656749" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.114656749." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861.169007201" name=""/>
- <builder autoBuildTarget="all" cleanBuildTarget="clean" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" id="org.eclipse.cdt.build.core.settings.default.builder.579570726" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.2143276802" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1873650595" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1337802279" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1707090075" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.338985256" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1165165914" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.714476670" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="TM4C123x-I2C.null.1703860681" name="TM4C123x-I2C"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.114656749">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
- <storageModule moduleId="refreshScope"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.project b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.project
deleted file mode 100644
index fcc4cb1..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.project
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>TM4C123x-I2C</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>board</name>
- <type>2</type>
- <locationURI>CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD</locationURI>
- </link>
- <link>
- <name>os</name>
- <type>2</type>
- <locationURI>CHIBIOS3/os</locationURI>
- </link>
- <link>
- <name>test</name>
- <type>2</type>
- <locationURI>CHIBIOS3/test</locationURI>
- </link>
- </linkedResources>
- <variableList>
- <variable>
- <name>CHIBIOS3</name>
- <value>file:/C:/ChibiStudio/chibios3</value>
- </variable>
- </variableList>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/Makefile b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/Makefile
deleted file mode 100644
index 32abbee..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/Makefile
+++ /dev/null
@@ -1,214 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = hard
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_tm4c123x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/TIVA/TM4C123x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-include $(CHIBIOS)/os/hal/lib/streams/streams.mk
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/TM4C123xH6.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- $(STREAMSSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(STREAMSINC) $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/chconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/chconf.h
deleted file mode 100644
index 25e39f6..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/chconf.h
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/**
- * @brief Realtime Counter frequency.
- * @details Frequency of the system counter used for realtime delays and
- * measurements.
- */
-#define CH_CFG_RTC_FREQUENCY 80000000
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop. */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
deleted file mode 100644
index 8772f9c..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${eclipse_home}\..\tools\openocd\bin\openocd.exe"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-c &quot;telnet_port 4444&quot; -f &quot;interface/ti-icdi.cfg&quot; -f &quot;${file_prompt}&quot;"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${eclipse_home}\..\tools\openocd\bin\"/>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/TM4C123x-I2C (OpenOCD, Flash and Run).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/TM4C123x-I2C (OpenOCD, Flash and Run).launch
deleted file mode 100644
index 0a80573..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/TM4C123x-I2C (OpenOCD, Flash and Run).launch
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
-<stringAttribute key="bad_container_name" value="\TM4C123x-I2C\debug"/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="1"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="monitor reset halt&#13;&#10;monitor reset init"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
-<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
-<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
-<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList/&gt;"/>
-<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TM4C123x-I2C"/>
-<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.114656749"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/TM4C123x-I2C"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/halconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/halconf.h
deleted file mode 100644
index 5c926e9..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/halconf.h
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C TRUE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL TRUE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/main.c b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/main.c
deleted file mode 100644
index 5f58176..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/main.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-#include "chprintf.h"
-
-/* buffers depth */
-#define TEMP_RX_DEPTH 6
-#define TEMP_TX_DEPTH 6
-
-/* tmp275 specific addresses */
-#define TMP275_TEMP 0x00
-#define TMP275_CONF 0x01
-#define TMP275_TLOW 0x02
-#define TMP275_THIGH 0x03
-
-/* tmp275 config register */
-#define TMP275_CONF_SD 0x01
-#define TMP275_CONF_TM 0x02
-#define TMP275_CONF_POL 0x04
-#define TMP275_CONF_F0 0x08
-#define TMP275_CONF_F1 0x10
-#define TMP275_CONF_R0 0x20
-#define TMP275_CONF_R1 0x40
-#define TMP275_CONF_OS 0x80
-
-#define TMP275_ADDR 0b01001001
-
-static uint8_t rxbuf[TEMP_RX_DEPTH];
-static uint8_t txbuf[TEMP_TX_DEPTH];
-static i2cflags_t errors = 0;
-static uint16_t temperature;
-
-/* I2C configuration*/
-static const I2CConfig i2cfg =
-{
- 400000
-};
-
-/*
- * Application entry point.
- */
-int main(void)
-{
- msg_t status = MSG_OK;
- systime_t tmo = MS2ST(100);
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- /* Configure RX and TX pins for UART0.*/
- palSetPadMode(GPIOA, GPIOA_UART0_RX, PAL_MODE_INPUT | PAL_MODE_ALTERNATE(1));
- palSetPadMode(GPIOA, GPIOA_UART0_TX, PAL_MODE_INPUT | PAL_MODE_ALTERNATE(1));
-
- /*
- * Start the serial driver with the default configuration.
- */
- sdStart(&SD1, NULL);
-
- /* Configure SCK and SCL pins for I2C0.*/
- palSetPadMode(GPIOB, GPIOB_I2C0_SCL, PAL_MODE_OUTPUT_PUSHPULL | PAL_MODE_ALTERNATE(3));
- palSetPadMode(GPIOB, GPIOB_I2C0_SDA, PAL_MODE_OUTPUT_OPENDRAIN | PAL_MODE_ALTERNATE(3));
-
- /*
- * Start the i2c driver with the custom configuration.
- */
- i2cStart(&I2CD1, &i2cfg);
-
- chprintf((BaseSequentialStream *)&SD1, "\r\n**********************\r\n");
- chprintf((BaseSequentialStream *)&SD1, "* TM4C123x I2C Demo. *\r\n");
- chprintf((BaseSequentialStream *)&SD1, "**********************\r\n\r\n");
-
- txbuf[0] = TMP275_CONF; // register address
- txbuf[1] = TMP275_CONF_R0 | TMP275_CONF_R1; // set conversion resolution to 12 bits
- i2cAcquireBus(&I2CD1);
- status = i2cMasterTransmitTimeout(&I2CD1, TMP275_ADDR, txbuf, 2, rxbuf, 0, tmo);
- i2cReleaseBus(&I2CD1);
-
- if (status != MSG_OK){
- errors = i2cGetErrors(&I2CD1);
- chprintf((BaseSequentialStream *)&SD1, "ERROR: errors detected.\r\n");
- }
-
- /*
- * Normal main() thread activity
- */
- while (TRUE) {
- txbuf[0] = TMP275_TEMP; // register address
- i2cAcquireBus(&I2CD1);
- status = i2cMasterTransmitTimeout(&I2CD1, TMP275_ADDR, txbuf, 1, rxbuf, 2, tmo);
- i2cReleaseBus(&I2CD1);
-
- if (status != MSG_OK){
- errors = i2cGetErrors(&I2CD1);
- chprintf((BaseSequentialStream *)&SD1, "Status: %i\r\n", status);
- }
- else{
- temperature = (((rxbuf[0] << 8) | rxbuf[1]) >> 4);
- chprintf((BaseSequentialStream *)&SD1, "Temperature: %u,%4u\r\n", temperature >> 4, 625*(temperature & 0x0f));
- }
-
- chThdSleepMilliseconds(1000);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/mcuconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/mcuconf.h
deleted file mode 100644
index 81555ed..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/mcuconf.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * TM4C123x drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 7...0 Lowest...Highest.
- */
-
-#define TM4C123x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define TIVA_OSCSRC TIVA_RCC2_OSCSRC2_MOSC
-#define TIVA_MOSC_ENABLE TRUE
-#define TIVA_DIV400_VALUE 1
-#define TIVA_SYSDIV_VALUE 2
-#define TIVA_USESYSDIV_ENABLE FALSE
-#define TIVA_SYSDIV2LSB_ENABLE FALSE
-#define TIVA_BYPASS_VALUE 0
-#define TIVA_PWM_FIELDS (TIVA_RCC_USEPWMDIV | \
- TIVA_RCC_PWMDIV_8)
-
-/*
- * GPIO driver system settings.
- */
-#define TIVA_GPIO_GPIOA_USE_AHB TRUE
-#define TIVA_GPIO_GPIOB_USE_AHB TRUE
-#define TIVA_GPIO_GPIOC_USE_AHB TRUE
-#define TIVA_GPIO_GPIOD_USE_AHB TRUE
-#define TIVA_GPIO_GPIOE_USE_AHB TRUE
-#define TIVA_GPIO_GPIOF_USE_AHB TRUE
-
-/*
- * GPT driver system settings.
- */
-#define TIVA_GPT_USE_GPT0 FALSE
-#define TIVA_GPT_USE_GPT1 FALSE
-#define TIVA_GPT_USE_GPT2 FALSE
-#define TIVA_GPT_USE_GPT3 FALSE
-#define TIVA_GPT_USE_GPT4 FALSE
-#define TIVA_GPT_USE_GPT5 FALSE
-#define TIVA_GPT_USE_WGPT0 FALSE
-#define TIVA_GPT_USE_WGPT1 FALSE
-#define TIVA_GPT_USE_WGPT2 FALSE
-#define TIVA_GPT_USE_WGPT3 FALSE
-#define TIVA_GPT_USE_WGPT4 FALSE
-#define TIVA_GPT_USE_WGPT5 FALSE
-
-#define TIVA_GPT_GPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT5A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT5A_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define TIVA_I2C_USE_I2C0 TRUE
-#define TIVA_I2C_USE_I2C1 FALSE
-#define TIVA_I2C_USE_I2C2 FALSE
-#define TIVA_I2C_USE_I2C3 FALSE
-#define TIVA_I2C_USE_I2C4 FALSE
-#define TIVA_I2C_USE_I2C5 FALSE
-#define TIVA_I2C_USE_I2C6 FALSE
-#define TIVA_I2C_USE_I2C7 FALSE
-#define TIVA_I2C_I2C0_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C1_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C2_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C3_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C4_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C5_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C6_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C7_IRQ_PRIORITY 4
-
-/*
- * PWM driver system settings.
- */
-#define TIVA_PWM_USE_PWM0 FALSE
-#define TIVA_PWM_USE_PWM1 FALSE
-#define TIVA_PWM_PWM0_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_3_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_3_IRQ_PRIORITY 4
-
-/*
- * SERIAL driver system settings.
- */
-#define TIVA_SERIAL_USE_UART0 TRUE
-#define TIVA_SERIAL_USE_UART1 FALSE
-#define TIVA_SERIAL_USE_UART2 FALSE
-#define TIVA_SERIAL_USE_UART3 FALSE
-#define TIVA_SERIAL_USE_UART4 FALSE
-#define TIVA_SERIAL_USE_UART5 FALSE
-#define TIVA_SERIAL_USE_UART6 FALSE
-#define TIVA_SERIAL_USE_UART7 FALSE
-#define TIVA_SERIAL_UART0_PRIORITY 5
-#define TIVA_SERIAL_UART1_PRIORITY 5
-#define TIVA_SERIAL_UART2_PRIORITY 5
-#define TIVA_SERIAL_UART3_PRIORITY 5
-#define TIVA_SERIAL_UART4_PRIORITY 5
-#define TIVA_SERIAL_UART5_PRIORITY 5
-#define TIVA_SERIAL_UART6_PRIORITY 5
-#define TIVA_SERIAL_UART7_PRIORITY 5
-
-/*
- * ST driver system settings.
- */
-#define TIVA_ST_IRQ_PRIORITY 2
-#define TIVA_ST_USE_WIDE_TIMER TRUE
-#define TIVA_ST_TIMER_NUMBER 5
-#define TIVA_ST_TIMER_LETTER A
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.cproject b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.cproject
deleted file mode 100644
index b1141bf..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.cproject
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.114656749">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.114656749" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildProperties="" description="" id="0.114656749" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.114656749." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861.169007201" name=""/>
- <builder autoBuildTarget="all" cleanBuildTarget="clean" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" id="org.eclipse.cdt.build.core.settings.default.builder.579570726" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.2143276802" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1873650595" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1337802279" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1707090075" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.338985256" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1165165914" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.714476670" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="TM4C123x-PWM.null.1703860681" name="TM4C123x-PWM"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.114656749">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
- <storageModule moduleId="refreshScope"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.project b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.project
deleted file mode 100644
index 30f93a6..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.project
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>TM4C123x-PWM</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>board</name>
- <type>2</type>
- <locationURI>CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD</locationURI>
- </link>
- <link>
- <name>community_os</name>
- <type>2</type>
- <locationURI>CHIBIOS3/community/os</locationURI>
- </link>
- <link>
- <name>os</name>
- <type>2</type>
- <locationURI>CHIBIOS3/os</locationURI>
- </link>
- <link>
- <name>test</name>
- <type>2</type>
- <locationURI>CHIBIOS3/test</locationURI>
- </link>
- </linkedResources>
- <variableList>
- <variable>
- <name>CHIBIOS3</name>
- <value>file:/C:/ChibiStudio/chibios3</value>
- </variable>
- </variableList>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/Makefile b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/Makefile
deleted file mode 100644
index f587083..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/Makefile
+++ /dev/null
@@ -1,212 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = hard
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_tm4c123x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/TIVA/TM4C123x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/TM4C123xH6.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/chconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/chconf.h
deleted file mode 100644
index 25e39f6..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/chconf.h
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/**
- * @brief Realtime Counter frequency.
- * @details Frequency of the system counter used for realtime delays and
- * measurements.
- */
-#define CH_CFG_RTC_FREQUENCY 80000000
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop. */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
deleted file mode 100644
index 8772f9c..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${eclipse_home}\..\tools\openocd\bin\openocd.exe"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-c &quot;telnet_port 4444&quot; -f &quot;interface/ti-icdi.cfg&quot; -f &quot;${file_prompt}&quot;"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${eclipse_home}\..\tools\openocd\bin\"/>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/TM4C123x-PWM (OpenOCD, Flash and Run).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/TM4C123x-PWM (OpenOCD, Flash and Run).launch
deleted file mode 100644
index 6ab8ff4..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/TM4C123x-PWM (OpenOCD, Flash and Run).launch
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
-<stringAttribute key="bad_container_name" value="\TM4C123x-PWM\debug"/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="1"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="monitor reset halt&#13;&#10;monitor reset init"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
-<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
-<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
-<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList/&gt;"/>
-<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TM4C123x-PWM"/>
-<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.114656749"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/TM4C123x-PWM"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/halconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/halconf.h
deleted file mode 100644
index 433d5d0..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/halconf.h
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM TRUE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/main.c b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/main.c
deleted file mode 100644
index 4772e6c..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/main.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-static void pwmpcb(PWMDriver *pwmp)
-{
- (void)pwmp;
- palClearPad(GPIOF, GPIOF_LED_RED);
- palClearPad(GPIOF, GPIOF_LED_GREEN);
- palClearPad(GPIOF, GPIOF_LED_BLUE);
-}
-
-static void pwmc1cb0(PWMDriver *pwmp)
-{
- (void)pwmp;
- palSetPad(GPIOF, GPIOF_LED_RED);
-}
-
-static void pwmc1cb1(PWMDriver *pwmp)
-{
- (void)pwmp;
- palSetPad(GPIOF, GPIOF_LED_GREEN);
-}
-
-static void pwmc1cb2(PWMDriver *pwmp)
-{
- (void)pwmp;
- palSetPad(GPIOF, GPIOF_LED_BLUE);
-}
-
-static PWMConfig pwmcfg = {
- 10000, /* 10kHz PWM clock frequency.*/
- 10000, /* Initial PWM period 1S.*/
- pwmpcb,
- {
- {PWM_OUTPUT_DISABLED, pwmc1cb0},
- {PWM_OUTPUT_DISABLED, pwmc1cb1},
- {PWM_OUTPUT_DISABLED, pwmc1cb2},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL},
- {PWM_OUTPUT_DISABLED, NULL}
- }
-};
-
-/*
- * Application entry point.
- */
-int main(void)
-{
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- palSetPadMode(GPIOF, GPIOF_LED_RED, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOF, GPIOF_LED_GREEN, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOF, GPIOF_LED_BLUE, PAL_MODE_OUTPUT_PUSHPULL);
-
- /*
- * Start PWM driver
- */
- pwmStart(&PWMD1, &pwmcfg);
-
- pwmEnableChannel(&PWMD1, 0, 0);
- pwmEnableChannel(&PWMD1, 1, 0);
- pwmEnableChannel(&PWMD1, 2, 0);
- pwmEnableChannelNotification(&PWMD1, 0);
- pwmEnableChannelNotification(&PWMD1, 1);
- pwmEnableChannelNotification(&PWMD1, 2);
- pwmEnablePeriodicNotification(&PWMD1);
-
- /*
- * Normal main() thread activity
- */
- while (TRUE) {
- uint16_t rgbColour[3];
- uint8_t decColour;
- uint16_t i;
-
- // Start off with red.
- rgbColour[0] = pwmcfg.frequency - 2;
- rgbColour[1] = 0;
- rgbColour[2] = 0;
-
- // Choose the colours to increment and decrement.
- for (decColour = 0; decColour < 3; decColour++) {
- int incColour = decColour == 2 ? 0 : decColour + 1;
-
- // cross-fade the two colours.
- for(i = 0; i < pwmcfg.frequency - 2; i++) {
- rgbColour[decColour] -= 1;
- rgbColour[incColour] += 1;
-
- pwmEnableChannel(&PWMD1, 0, rgbColour[0]);
- pwmEnableChannel(&PWMD1, 1, rgbColour[1]);
- pwmEnableChannel(&PWMD1, 2, rgbColour[2]);
-
- chThdSleepMilliseconds(1);
- }
- }
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/mcuconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/mcuconf.h
deleted file mode 100644
index 9584bf8..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/mcuconf.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * TM4C123x drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 7...0 Lowest...Highest.
- */
-
-#define TM4C123x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define TIVA_OSCSRC TIVA_RCC2_OSCSRC2_MOSC
-#define TIVA_MOSC_ENABLE TRUE
-#define TIVA_DIV400_VALUE 1
-#define TIVA_SYSDIV_VALUE 2
-#define TIVA_USESYSDIV_ENABLE FALSE
-#define TIVA_SYSDIV2LSB_ENABLE FALSE
-#define TIVA_BYPASS_VALUE 0
-#define TIVA_PWM_FIELDS (TIVA_RCC_USEPWMDIV | \
- TIVA_RCC_PWMDIV_8)
-
-/*
- * GPIO driver system settings.
- */
-#define TIVA_GPIO_GPIOA_USE_AHB TRUE
-#define TIVA_GPIO_GPIOB_USE_AHB TRUE
-#define TIVA_GPIO_GPIOC_USE_AHB TRUE
-#define TIVA_GPIO_GPIOD_USE_AHB TRUE
-#define TIVA_GPIO_GPIOE_USE_AHB TRUE
-#define TIVA_GPIO_GPIOF_USE_AHB TRUE
-
-/*
- * GPT driver system settings.
- */
-#define TIVA_GPT_USE_GPT0 FALSE
-#define TIVA_GPT_USE_GPT1 FALSE
-#define TIVA_GPT_USE_GPT2 FALSE
-#define TIVA_GPT_USE_GPT3 FALSE
-#define TIVA_GPT_USE_GPT4 FALSE
-#define TIVA_GPT_USE_GPT5 FALSE
-#define TIVA_GPT_USE_WGPT0 FALSE
-#define TIVA_GPT_USE_WGPT1 FALSE
-#define TIVA_GPT_USE_WGPT2 FALSE
-#define TIVA_GPT_USE_WGPT3 FALSE
-#define TIVA_GPT_USE_WGPT4 FALSE
-#define TIVA_GPT_USE_WGPT5 FALSE
-
-#define TIVA_GPT_GPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT5A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT5A_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define TIVA_I2C_USE_I2C0 FALSE
-#define TIVA_I2C_USE_I2C1 FALSE
-#define TIVA_I2C_USE_I2C2 FALSE
-#define TIVA_I2C_USE_I2C3 FALSE
-#define TIVA_I2C_USE_I2C4 FALSE
-#define TIVA_I2C_USE_I2C5 FALSE
-#define TIVA_I2C_USE_I2C6 FALSE
-#define TIVA_I2C_USE_I2C7 FALSE
-#define TIVA_I2C_I2C0_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C1_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C2_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C3_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C4_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C5_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C6_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C7_IRQ_PRIORITY 4
-
-/*
- * PWM driver system settings.
- */
-#define TIVA_PWM_USE_PWM0 TRUE
-#define TIVA_PWM_USE_PWM1 TRUE
-#define TIVA_PWM_PWM0_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_3_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_3_IRQ_PRIORITY 4
-
-/*
- * SERIAL driver system settings.
- */
-#define TIVA_SERIAL_USE_UART0 FALSE
-#define TIVA_SERIAL_USE_UART1 FALSE
-#define TIVA_SERIAL_USE_UART2 FALSE
-#define TIVA_SERIAL_USE_UART3 FALSE
-#define TIVA_SERIAL_USE_UART4 FALSE
-#define TIVA_SERIAL_USE_UART5 FALSE
-#define TIVA_SERIAL_USE_UART6 FALSE
-#define TIVA_SERIAL_USE_UART7 FALSE
-#define TIVA_SERIAL_UART0_PRIORITY 5
-#define TIVA_SERIAL_UART1_PRIORITY 5
-#define TIVA_SERIAL_UART2_PRIORITY 5
-#define TIVA_SERIAL_UART3_PRIORITY 5
-#define TIVA_SERIAL_UART4_PRIORITY 5
-#define TIVA_SERIAL_UART5_PRIORITY 5
-#define TIVA_SERIAL_UART6_PRIORITY 5
-#define TIVA_SERIAL_UART7_PRIORITY 5
-
-/*
- * ST driver system settings.
- */
-#define TIVA_ST_IRQ_PRIORITY 2
-#define TIVA_ST_USE_WIDE_TIMER TRUE
-#define TIVA_ST_TIMER_NUMBER 5
-#define TIVA_ST_TIMER_LETTER A
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.cproject b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.cproject
deleted file mode 100644
index 483936f..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.cproject
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.114656749">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.114656749" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildProperties="" description="" id="0.114656749" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.114656749." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861.169007201" name=""/>
- <builder autoBuildTarget="all" cleanBuildTarget="clean" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" id="org.eclipse.cdt.build.core.settings.default.builder.579570726" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.2143276802" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1873650595" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1337802279" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1707090075" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.338985256" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1165165914" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.714476670" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="TM4C123x-SPI.null.1703860681" name="TM4C123x-SPI"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.114656749">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
- <storageModule moduleId="refreshScope"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.project b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.project
deleted file mode 100644
index 150ab22..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.project
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>TM4C123x-SPI</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>board</name>
- <type>2</type>
- <locationURI>CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD</locationURI>
- </link>
- <link>
- <name>community_os</name>
- <type>2</type>
- <locationURI>CHIBIOS3/community/os</locationURI>
- </link>
- <link>
- <name>os</name>
- <type>2</type>
- <locationURI>CHIBIOS3/os</locationURI>
- </link>
- <link>
- <name>test</name>
- <type>2</type>
- <locationURI>CHIBIOS3/test</locationURI>
- </link>
- </linkedResources>
- <variableList>
- <variable>
- <name>CHIBIOS3</name>
- <value>file:/C:/ChibiStudio/chibios3</value>
- </variable>
- </variableList>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/Makefile b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/Makefile
deleted file mode 100644
index f587083..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/Makefile
+++ /dev/null
@@ -1,212 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = hard
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_tm4c123x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/TIVA/TM4C123x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/TM4C123xH6.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/chconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/chconf.h
deleted file mode 100644
index 25e39f6..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/chconf.h
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/**
- * @brief Realtime Counter frequency.
- * @details Frequency of the system counter used for realtime delays and
- * measurements.
- */
-#define CH_CFG_RTC_FREQUENCY 80000000
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop. */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
deleted file mode 100644
index 8772f9c..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${eclipse_home}\..\tools\openocd\bin\openocd.exe"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-c &quot;telnet_port 4444&quot; -f &quot;interface/ti-icdi.cfg&quot; -f &quot;${file_prompt}&quot;"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${eclipse_home}\..\tools\openocd\bin\"/>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/TM4C123x-SPI (OpenOCD, Flash and Run).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/TM4C123x-SPI (OpenOCD, Flash and Run).launch
deleted file mode 100644
index fe40b6e..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/TM4C123x-SPI (OpenOCD, Flash and Run).launch
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
-<stringAttribute key="bad_container_name" value="\TM4C123x-SPI\debug"/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="1"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="monitor reset halt&#13;&#10;monitor reset init"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
-<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
-<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
-<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;dmachis-spi_serve_interrupt-(format)&quot; val=&quot;0&quot;/&gt;&lt;/contentList&gt;"/>
-<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TM4C123x-SPI"/>
-<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.114656749"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/TM4C123x-SPI"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/halconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/halconf.h
deleted file mode 100644
index a8aaed6..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/halconf.h
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI TRUE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/main.c b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/main.c
deleted file mode 100644
index f04cdbf..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/main.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-/*
- * SPI TX and RX buffers.
- */
-static uint8_t txbuf[512];
-static uint8_t rxbuf[512];
-
-/*
- * High speed SPI configuration (5MHZ, CPHA=0, CPOL=0).
- */
-static const SPIConfig hs_spicfg =
-{
- NULL,
- GPIOA,
- 3,
- TIVA_CR0_DSS(8) | /*TIVA_CR0_SPH | TIVA_CR_SPO |*/ TIVA_CR0_SRC(0),
- 16
-};
-
-/*
- * Low speed SPI configuration (1MHz, CPHA=0, CPOL=0).
- */
-static const SPIConfig ls_spicfg =
-{
- NULL,
- GPIOA,
- 3,
- TIVA_CR0_DSS(8) | /*TIVA_CR0_SPH | TIVA_CR_SPO |*/ TIVA_CR0_SRC(0),
- 80
-};
-
-/*
- * SPI bus contender 1.
- */
-static THD_WORKING_AREA(spi_thread_1_wa, 256);
-static THD_FUNCTION(spi_thread_1, p)
-{
- (void)p;
- chRegSetThreadName("SPI thread 1");
- while (TRUE) {
- spiAcquireBus(&SPID1); /* Acquire ownership of the bus. */
- palSetPad(GPIOF, GPIOF_LED_GREEN); /* LED ON. */
- spiStart(&SPID1, &hs_spicfg); /* Setup transfer parameters. */
- spiSelect(&SPID1); /* Slave Select assertion. */
- spiExchange(&SPID1, 512,
- txbuf, rxbuf); /* Atomic transfer operations. */
- spiUnselect(&SPID1); /* Slave Select de-assertion. */
- spiReleaseBus(&SPID1); /* Ownership release. */
- }
-}
-
-/*
- * SPI bus contender 2.
- */
-static THD_WORKING_AREA(spi_thread_2_wa, 256);
-static THD_FUNCTION(spi_thread_2, p)
-{
- (void)p;
- chRegSetThreadName("SPI thread 2");
- while (TRUE) {
- spiAcquireBus(&SPID1); /* Acquire ownership of the bus. */
- palClearPad(GPIOF, GPIOF_LED_GREEN);/* LED OFF. */
- spiStart(&SPID1, &ls_spicfg); /* Setup transfer parameters. */
- spiSelect(&SPID1); /* Slave Select assertion. */
- spiExchange(&SPID1, 512,
- txbuf, rxbuf); /* Atomic transfer operations. */
- spiUnselect(&SPID1); /* Slave Select de-assertion. */
- spiReleaseBus(&SPID1); /* Ownership release. */
- }
-}
-
-/*
- * Application entry point.
- */
-int main(void)
-{
- size_t i;
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- palSetPadMode(GPIOA, GPIOA_SSI0_CLK, PAL_MODE_OUTPUT_PUSHPULL |
- PAL_MODE_ALTERNATE(2));
- palSetPadMode(GPIOA, GPIOA_SSI0_RX, PAL_MODE_OUTPUT_PUSHPULL |
- PAL_MODE_ALTERNATE(2));
- palSetPadMode(GPIOA, GPIOA_SSI0_TX, PAL_MODE_OUTPUT_PUSHPULL |
- PAL_MODE_ALTERNATE(2));
- palSetPadMode(GPIOA, GPIOA_PIN3, PAL_MODE_OUTPUT_PUSHPULL);
-
- palSetPadMode(GPIOF, GPIOF_LED_GREEN, PAL_MODE_OUTPUT_PUSHPULL);
-
- /*
- * Prepare transmit pattern.
- */
- for (i = 0; i < sizeof(txbuf); i++) {
- txbuf[i] = (uint8_t)i;
- }
-
- /*
- * Starting the transmitter and receiver threads.
- */
- chThdCreateStatic(spi_thread_1_wa, sizeof(spi_thread_1_wa),
- NORMALPRIO + 1, spi_thread_1, NULL);
- chThdCreateStatic(spi_thread_2_wa, sizeof(spi_thread_2_wa),
- NORMALPRIO + 1, spi_thread_2, NULL);
-
- /*
- * Normal main() thread activity
- */
- while (TRUE) {
- chThdSleepMilliseconds(500);
- }
-
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/mcuconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/mcuconf.h
deleted file mode 100644
index 74a4da3..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/mcuconf.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * TM4C123x drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 7...0 Lowest...Highest.
- */
-
-#define TM4C123x_MCUCONF
-
-/*
- * HAL driver system settings.
- */
-#define TIVA_OSCSRC TIVA_RCC2_OSCSRC2_MOSC
-#define TIVA_MOSC_ENABLE TRUE
-#define TIVA_DIV400_VALUE 1
-#define TIVA_SYSDIV_VALUE 2
-#define TIVA_USESYSDIV_ENABLE FALSE
-#define TIVA_SYSDIV2LSB_ENABLE FALSE
-#define TIVA_BYPASS_VALUE 0
-#define TIVA_PWM_FIELDS (TIVA_RCC_USEPWMDIV | \
- TIVA_RCC_PWMDIV_8)
-
-/*
- * GPIO driver system settings.
- */
-#define TIVA_GPIO_GPIOA_USE_AHB TRUE
-#define TIVA_GPIO_GPIOB_USE_AHB TRUE
-#define TIVA_GPIO_GPIOC_USE_AHB TRUE
-#define TIVA_GPIO_GPIOD_USE_AHB TRUE
-#define TIVA_GPIO_GPIOE_USE_AHB TRUE
-#define TIVA_GPIO_GPIOF_USE_AHB TRUE
-
-/*
- * GPT driver system settings.
- */
-#define TIVA_GPT_USE_GPT0 FALSE
-#define TIVA_GPT_USE_GPT1 FALSE
-#define TIVA_GPT_USE_GPT2 FALSE
-#define TIVA_GPT_USE_GPT3 FALSE
-#define TIVA_GPT_USE_GPT4 FALSE
-#define TIVA_GPT_USE_GPT5 FALSE
-#define TIVA_GPT_USE_WGPT0 FALSE
-#define TIVA_GPT_USE_WGPT1 FALSE
-#define TIVA_GPT_USE_WGPT2 FALSE
-#define TIVA_GPT_USE_WGPT3 FALSE
-#define TIVA_GPT_USE_WGPT4 FALSE
-#define TIVA_GPT_USE_WGPT5 FALSE
-
-#define TIVA_GPT_GPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT5A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT5A_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define TIVA_I2C_USE_I2C0 FALSE
-#define TIVA_I2C_USE_I2C1 FALSE
-#define TIVA_I2C_USE_I2C2 FALSE
-#define TIVA_I2C_USE_I2C3 FALSE
-#define TIVA_I2C_USE_I2C4 FALSE
-#define TIVA_I2C_USE_I2C5 FALSE
-#define TIVA_I2C_USE_I2C6 FALSE
-#define TIVA_I2C_USE_I2C7 FALSE
-#define TIVA_I2C_I2C0_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C1_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C2_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C3_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C4_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C5_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C6_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C7_IRQ_PRIORITY 4
-
-/*
- * PWM driver system settings.
- */
-#define TIVA_PWM_USE_PWM0 FALSE
-#define TIVA_PWM_USE_PWM1 FALSE
-#define TIVA_PWM_PWM0_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_3_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_3_IRQ_PRIORITY 4
-
-/*
- * SERIAL driver system settings.
- */
-#define TIVA_SERIAL_USE_UART0 FALSE
-#define TIVA_SERIAL_USE_UART1 FALSE
-#define TIVA_SERIAL_USE_UART2 FALSE
-#define TIVA_SERIAL_USE_UART3 FALSE
-#define TIVA_SERIAL_USE_UART4 FALSE
-#define TIVA_SERIAL_USE_UART5 FALSE
-#define TIVA_SERIAL_USE_UART6 FALSE
-#define TIVA_SERIAL_USE_UART7 FALSE
-#define TIVA_SERIAL_UART0_PRIORITY 5
-#define TIVA_SERIAL_UART1_PRIORITY 5
-#define TIVA_SERIAL_UART2_PRIORITY 5
-#define TIVA_SERIAL_UART3_PRIORITY 5
-#define TIVA_SERIAL_UART4_PRIORITY 5
-#define TIVA_SERIAL_UART5_PRIORITY 5
-#define TIVA_SERIAL_UART6_PRIORITY 5
-#define TIVA_SERIAL_UART7_PRIORITY 5
-
-/*
- * SPI driver system settings.
- */
-#define TIVA_SPI_USE_SSI0 TRUE
-#define TIVA_SPI_USE_SSI1 FALSE
-#define TIVA_SPI_USE_SSI2 FALSE
-#define TIVA_SPI_USE_SSI3 FALSE
-#define TIVA_SPI_SSI0_RX_UDMA_CHANNEL 10
-#define TIVA_SPI_SSI1_RX_UDMA_CHANNEL 24
-#define TIVA_SPI_SSI2_RX_UDMA_CHANNEL 12
-#define TIVA_SPI_SSI3_RX_UDMA_CHANNEL 14
-#define TIVA_SPI_SSI0_TX_UDMA_CHANNEL 11
-#define TIVA_SPI_SSI1_TX_UDMA_CHANNEL 25
-#define TIVA_SPI_SSI2_TX_UDMA_CHANNEL 13
-#define TIVA_SPI_SSI3_TX_UDMA_CHANNEL 15
-#define TIVA_SPI_SSI0_RX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI1_RX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI2_RX_UDMA_MAPPING 2
-#define TIVA_SPI_SSI3_RX_UDMA_MAPPING 2
-#define TIVA_SPI_SSI0_TX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI1_TX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI2_TX_UDMA_MAPPING 2
-#define TIVA_SPI_SSI3_TX_UDMA_MAPPING 2
-
-/*
- * ST driver system settings.
- */
-#define TIVA_ST_IRQ_PRIORITY 2
-#define TIVA_ST_USE_WIDE_TIMER TRUE
-#define TIVA_ST_TIMER_NUMBER 5
-#define TIVA_ST_TIMER_LETTER A
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.cproject b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.cproject
deleted file mode 100644
index f9404f1..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.cproject
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?>
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
- <storageModule moduleId="org.eclipse.cdt.core.settings">
- <cconfiguration id="0.114656749">
- <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.114656749" moduleId="org.eclipse.cdt.core.settings" name="Default">
- <externalSettings/>
- <extensions>
- <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
- </extensions>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <configuration artifactName="${ProjName}" buildProperties="" description="" id="0.114656749" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
- <folderInfo id="0.114656749." name="/" resourcePath="">
- <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
- <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.1182750861.169007201" name=""/>
- <builder autoBuildTarget="all" cleanBuildTarget="clean" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" id="org.eclipse.cdt.build.core.settings.default.builder.579570726" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.libs.2143276802" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1873650595" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1337802279" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1707090075" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.338985256" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- <tool id="org.eclipse.cdt.build.core.settings.holder.1165165914" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
- <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.714476670" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
- </tool>
- </toolChain>
- </folderInfo>
- </configuration>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
- </cconfiguration>
- </storageModule>
- <storageModule moduleId="cdtBuildSystem" version="4.0.0">
- <project id="TM4C123x-WDG.null.1703860681" name="TM4C123x-WDG"/>
- </storageModule>
- <storageModule moduleId="scannerConfiguration">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
- <scannerConfigBuildInfo instanceId="0.114656749">
- <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
- </scannerConfigBuildInfo>
- </storageModule>
- <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
- <storageModule moduleId="refreshScope"/>
-</cproject>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.project b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.project
deleted file mode 100644
index 1c2bc3f..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.project
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>TM4C123x-WDG</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>?name?</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildArguments</key>
- <value>-j1</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.buildCommand</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.contents</key>
- <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
- <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- </natures>
- <linkedResources>
- <link>
- <name>board</name>
- <type>2</type>
- <locationURI>CHIBIOS/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD</locationURI>
- </link>
- <link>
- <name>community_os</name>
- <type>2</type>
- <locationURI>PARENT-1-CHIBIOS/ChibiOS-Contrib/os</locationURI>
- </link>
- <link>
- <name>os</name>
- <type>2</type>
- <locationURI>CHIBIOS/os</locationURI>
- </link>
- </linkedResources>
- <variableList>
- <variable>
- <name>CHIBIOS3</name>
- <value>file:/C:/ChibiStudio/chibios3</value>
- </variable>
- </variableList>
-</projectDescription>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/Makefile b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/Makefile
deleted file mode 100644
index 5ae01c9..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/Makefile
+++ /dev/null
@@ -1,212 +0,0 @@
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
- USE_OPT = -O0 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C specific options here (added to USE_OPT).
-ifeq ($(USE_COPT),)
- USE_COPT =
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
- USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
- USE_LINK_GC = yes
-endif
-
-# Linker extra options here.
-ifeq ($(USE_LDOPT),)
- USE_LDOPT =
-endif
-
-# Enable this if you want link time optimizations (LTO)
-ifeq ($(USE_LTO),)
- USE_LTO = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
- USE_THUMB = yes
-endif
-
-# Enable this if you want to see the full log while compiling.
-ifeq ($(USE_VERBOSE_COMPILE),)
- USE_VERBOSE_COMPILE = no
-endif
-
-#
-# Build global options
-##############################################################################
-
-##############################################################################
-# Architecture or project specific options
-#
-
-# Stack size to be allocated to the Cortex-M process stack. This stack is
-# the stack used by the main() thread.
-ifeq ($(USE_PROCESS_STACKSIZE),)
- USE_PROCESS_STACKSIZE = 0x400
-endif
-
-# Stack size to the allocated to the Cortex-M main/exceptions stack. This
-# stack is used for processing interrupts and exceptions.
-ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
- USE_EXCEPTIONS_STACKSIZE = 0x400
-endif
-
-# Enables the use of FPU on Cortex-M4 (no, softfp, hard).
-ifeq ($(USE_FPU),)
- USE_FPU = hard
-endif
-
-#
-# Architecture or project specific options
-##############################################################################
-
-##############################################################################
-# Project, sources and paths
-#
-
-# Define project name here
-PROJECT = ch
-
-# Imported source files and paths
-CHIBIOS = ../../../../../ChibiOS-RT
-CHIBIOS_CONTRIB = $(CHIBIOS)/../ChibiOS-Contrib
-# Startup files.
-include $(CHIBIOS_CONTRIB)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_tm4c123x.mk
-# HAL-OSAL files (optional).
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS_CONTRIB)/os/hal/ports/TIVA/TM4C123x/platform.mk
-include $(CHIBIOS_CONTRIB)/os/hal/boards/TI_TM4C123G_LAUNCHPAD/board.mk
-include $(CHIBIOS)/os/hal/osal/rt/osal.mk
-# RTOS files (optional).
-include $(CHIBIOS)/os/rt/rt.mk
-include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk
-# Other files (optional).
-
-# Define linker script file here
-LDSCRIPT= $(STARTUPLD)/TM4C123xH6.ld
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(TESTSRC) \
- main.c
-
-# C++ sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CPPSRC =
-
-# C sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACSRC =
-
-# C++ sources to be compiled in ARM mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-ACPPSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCSRC =
-
-# C sources to be compiled in THUMB mode regardless of the global setting.
-# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
-# option that results in lower performance and larger code size.
-TCPPSRC =
-
-# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
-
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
- $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU = cortex-m4
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-# runtime support makes code size explode.
-LD = $(TRGT)gcc
-#LD = $(TRGT)g++
-CP = $(TRGT)objcopy
-AS = $(TRGT)gcc -x assembler-with-cpp
-AR = $(TRGT)ar
-OD = $(TRGT)objdump
-SZ = $(TRGT)size
-HEX = $(CP) -O ihex
-BIN = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-#
-# End of user defines
-##############################################################################
-
-RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC
-include $(RULESPATH)/rules.mk
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/chconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/chconf.h
deleted file mode 100644
index 25e39f6..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/chconf.h
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _CHCONF_H_
-#define _CHCONF_H_
-
-#define _CHIBIOS_RT_CONF_
-
-/*===========================================================================*/
-/**
- * @name System timers settings
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief System time counter resolution.
- * @note Allowed values are 16 or 32 bits.
- */
-#define CH_CFG_ST_RESOLUTION 32
-
-/**
- * @brief System tick frequency.
- * @details Frequency of the system timer that drives the system ticks. This
- * setting also defines the system tick time unit.
- */
-#define CH_CFG_ST_FREQUENCY 10000
-
-/**
- * @brief Time delta constant for the tick-less mode.
- * @note If this value is zero then the system uses the classic
- * periodic tick. This value represents the minimum number
- * of ticks that is safe to specify in a timeout directive.
- * The value one is not valid, timeouts are rounded up to
- * this value.
- */
-#define CH_CFG_ST_TIMEDELTA 0
-
-/**
- * @brief Realtime Counter frequency.
- * @details Frequency of the system counter used for realtime delays and
- * measurements.
- */
-#define CH_CFG_RTC_FREQUENCY 80000000
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel parameters and options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Round robin interval.
- * @details This constant is the number of system ticks allowed for the
- * threads before preemption occurs. Setting this value to zero
- * disables the preemption for threads with equal priority and the
- * round robin becomes cooperative. Note that higher priority
- * threads can still preempt, the kernel is always preemptive.
- * @note Disabling the round robin preemption makes the kernel more compact
- * and generally faster.
- * @note The round robin preemption is not supported in tickless mode and
- * must be set to zero in that case.
- */
-#define CH_CFG_TIME_QUANTUM 0
-
-/**
- * @brief Managed RAM size.
- * @details Size of the RAM area to be managed by the OS. If set to zero
- * then the whole available RAM is used. The core memory is made
- * available to the heap allocator and/or can be used directly through
- * the simplified core memory allocator.
- *
- * @note In order to let the OS manage the whole RAM the linker script must
- * provide the @p __heap_base__ and @p __heap_end__ symbols.
- * @note Requires @p CH_CFG_USE_MEMCORE.
- */
-#define CH_CFG_MEMCORE_SIZE 0
-
-/**
- * @brief Idle thread automatic spawn suppression.
- * @details When this option is activated the function @p chSysInit()
- * does not spawn the idle thread. The application @p main()
- * function becomes the idle thread and must implement an
- * infinite loop. */
-#define CH_CFG_NO_IDLE_THREAD FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Performance options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief OS optimization.
- * @details If enabled then time efficient rather than space efficient code
- * is used when two possible implementations exist.
- *
- * @note This is not related to the compiler optimization options.
- * @note The default is @p TRUE.
- */
-#define CH_CFG_OPTIMIZE_SPEED TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Subsystem options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Time Measurement APIs.
- * @details If enabled then the time measurement APIs are included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_TM TRUE
-
-/**
- * @brief Threads registry APIs.
- * @details If enabled then the registry APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_REGISTRY TRUE
-
-/**
- * @brief Threads synchronization APIs.
- * @details If enabled then the @p chThdWait() function is included in
- * the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_WAITEXIT TRUE
-
-/**
- * @brief Semaphores APIs.
- * @details If enabled then the Semaphores APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_SEMAPHORES TRUE
-
-/**
- * @brief Semaphores queuing mode.
- * @details If enabled then the threads are enqueued on semaphores by
- * priority rather than in FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
-
-/**
- * @brief Mutexes APIs.
- * @details If enabled then the mutexes APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MUTEXES TRUE
-
-/**
- * @brief Conditional Variables APIs.
- * @details If enabled then the conditional variables APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MUTEXES.
- */
-#define CH_CFG_USE_CONDVARS TRUE
-
-/**
- * @brief Conditional Variables APIs with timeout.
- * @details If enabled then the conditional variables APIs with timeout
- * specification are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_CONDVARS.
- */
-#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
-
-/**
- * @brief Events Flags APIs.
- * @details If enabled then the event flags APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_EVENTS TRUE
-
-/**
- * @brief Events Flags APIs with timeout.
- * @details If enabled then the events APIs with timeout specification
- * are included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_EVENTS.
- */
-#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
-
-/**
- * @brief Synchronous Messages APIs.
- * @details If enabled then the synchronous messages APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MESSAGES TRUE
-
-/**
- * @brief Synchronous Messages queuing mode.
- * @details If enabled then messages are served by priority rather than in
- * FIFO order.
- *
- * @note The default is @p FALSE. Enable this if you have special
- * requirements.
- * @note Requires @p CH_CFG_USE_MESSAGES.
- */
-#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
-
-/**
- * @brief Mailboxes APIs.
- * @details If enabled then the asynchronous messages (mailboxes) APIs are
- * included in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_SEMAPHORES.
- */
-#define CH_CFG_USE_MAILBOXES TRUE
-
-/**
- * @brief I/O Queues APIs.
- * @details If enabled then the I/O queues APIs are included in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_QUEUES TRUE
-
-/**
- * @brief Core Memory Manager APIs.
- * @details If enabled then the core memory manager APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMCORE TRUE
-
-/**
- * @brief Heap Allocator APIs.
- * @details If enabled then the memory heap allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or
- * @p CH_CFG_USE_SEMAPHORES.
- * @note Mutexes are recommended.
- */
-#define CH_CFG_USE_HEAP TRUE
-
-/**
- * @brief Memory Pools Allocator APIs.
- * @details If enabled then the memory pools allocator APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- */
-#define CH_CFG_USE_MEMPOOLS TRUE
-
-/**
- * @brief Dynamic Threads APIs.
- * @details If enabled then the dynamic threads creation APIs are included
- * in the kernel.
- *
- * @note The default is @p TRUE.
- * @note Requires @p CH_CFG_USE_WAITEXIT.
- * @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS.
- */
-#define CH_CFG_USE_DYNAMIC TRUE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Debug options
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Debug option, kernel statistics.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_STATISTICS FALSE
-
-/**
- * @brief Debug option, system state check.
- * @details If enabled the correct call protocol for system APIs is checked
- * at runtime.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_SYSTEM_STATE_CHECK FALSE
-
-/**
- * @brief Debug option, parameters checks.
- * @details If enabled then the checks on the API functions input
- * parameters are activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_CHECKS FALSE
-
-/**
- * @brief Debug option, consistency checks.
- * @details If enabled then all the assertions in the kernel code are
- * activated. This includes consistency checks inside the kernel,
- * runtime anomalies and port-defined checks.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_ASSERTS FALSE
-
-/**
- * @brief Debug option, trace buffer.
- * @details If enabled then the context switch circular trace buffer is
- * activated.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_ENABLE_TRACE FALSE
-
-/**
- * @brief Debug option, stack checks.
- * @details If enabled then a runtime stack check is performed.
- *
- * @note The default is @p FALSE.
- * @note The stack check is performed in a architecture/port dependent way.
- * It may not be implemented or some ports.
- * @note The default failure mode is to halt the system with the global
- * @p panic_msg variable set to @p NULL.
- */
-#define CH_DBG_ENABLE_STACK_CHECK FALSE
-
-/**
- * @brief Debug option, stacks initialization.
- * @details If enabled then the threads working area is filled with a byte
- * value when a thread is created. This can be useful for the
- * runtime measurement of the used stack.
- *
- * @note The default is @p FALSE.
- */
-#define CH_DBG_FILL_THREADS FALSE
-
-/**
- * @brief Debug option, threads profiling.
- * @details If enabled then a field is added to the @p thread_t structure that
- * counts the system ticks occurred while executing the thread.
- *
- * @note The default is @p FALSE.
- * @note This debug option is not currently compatible with the
- * tickless mode.
- */
-#define CH_DBG_THREADS_PROFILING FALSE
-
-/** @} */
-
-/*===========================================================================*/
-/**
- * @name Kernel hooks
- * @{
- */
-/*===========================================================================*/
-
-/**
- * @brief Threads descriptor structure extension.
- * @details User fields added to the end of the @p thread_t structure.
- */
-#define CH_CFG_THREAD_EXTRA_FIELDS \
- /* Add threads custom fields here.*/
-
-/**
- * @brief Threads initialization hook.
- * @details User initialization code added to the @p chThdInit() API.
- *
- * @note It is invoked from within @p chThdInit() and implicitly from all
- * the threads creation APIs.
- */
-#define CH_CFG_THREAD_INIT_HOOK(tp) { \
- /* Add threads initialization code here.*/ \
-}
-
-/**
- * @brief Threads finalization hook.
- * @details User finalization code added to the @p chThdExit() API.
- *
- * @note It is inserted into lock zone.
- * @note It is also invoked when the threads simply return in order to
- * terminate.
- */
-#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
- /* Add threads finalization code here.*/ \
-}
-
-/**
- * @brief Context switch hook.
- * @details This hook is invoked just before switching between threads.
- */
-#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief ISR enter hook.
- */
-#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
- /* IRQ prologue code here.*/ \
-}
-
-/**
- * @brief ISR exit hook.
- */
-#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
- /* IRQ epilogue code here.*/ \
-}
-
-/**
- * @brief Idle thread enter hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to activate a power saving mode.
- */
-#define CH_CFG_IDLE_ENTER_HOOK() { \
-}
-
-/**
- * @brief Idle thread leave hook.
- * @note This hook is invoked within a critical zone, no OS functions
- * should be invoked from here.
- * @note This macro can be used to deactivate a power saving mode.
- */
-#define CH_CFG_IDLE_LEAVE_HOOK() { \
-}
-
-/**
- * @brief Idle Loop hook.
- * @details This hook is continuously invoked by the idle thread loop.
- */
-#define CH_CFG_IDLE_LOOP_HOOK() { \
- /* Idle loop code here.*/ \
-}
-
-/**
- * @brief System tick event hook.
- * @details This hook is invoked in the system tick handler immediately
- * after processing the virtual timers queue.
- */
-#define CH_CFG_SYSTEM_TICK_HOOK() { \
- /* System tick event code here.*/ \
-}
-
-/**
- * @brief System halt hook.
- * @details This hook is invoked in case to a system halting error before
- * the system is halted.
- */
-#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
- /* System halt code here.*/ \
-}
-
-/**
- * @brief Trace hook.
- * @details This hook is invoked each time a new record is written in the
- * trace buffer.
- */
-#define CH_CFG_TRACE_HOOK(tep) { \
- /* Trace code here.*/ \
-}
-
-/** @} */
-
-/*===========================================================================*/
-/* Port-specific settings (override port settings defaulted in chcore.h). */
-/*===========================================================================*/
-
-#endif /* _CHCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
deleted file mode 100644
index 0af6b44..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGURATION_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${eclipse_home}\..\tools\openocd\bin\openocd.exe"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-c &quot;telnet_port 4444&quot; -f &quot;interface/ti-icdi.cfg&quot; -f &quot;${file_prompt}&quot;"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${eclipse_home}\..\tools\openocd\scripts\"/>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/TM4C123x-WDG (OpenOCD, Flash and Run).launch b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/TM4C123x-WDG (OpenOCD, Flash and Run).launch
deleted file mode 100644
index 1400d51..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/TM4C123x-WDG (OpenOCD, Flash and Run).launch
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.cdt.debug.gdbjtag.launchConfigurationType">
-<stringAttribute key="bad_container_name" value="\TM4C123x-WDG\debug"/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="1"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value="monitor reset halt&#13;&#10;monitor reset init"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="Generic TCP/IP"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
-<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
-<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
-<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard"/>
-<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
-<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
-<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
-<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
-<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
-<stringAttribute key="org.eclipse.cdt.launch.FORMAT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;contentList&gt;&lt;content id=&quot;dmachis-spi_serve_interrupt-(format)&quot; val=&quot;0&quot;/&gt;&lt;/contentList&gt;"/>
-<stringAttribute key="org.eclipse.cdt.launch.GLOBAL_VARIABLES" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;globalVariableList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList/&gt;&#13;&#10;"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="./build/ch.elf"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="TM4C123x-WDG"/>
-<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
-<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="0.114656749"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/TM4C123x-WDG"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-</launchConfiguration>
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/halconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/halconf.h
deleted file mode 100644
index 2da5421..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/halconf.h
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#ifndef _HALCONF_H_
-#define _HALCONF_H_
-
-#include "mcuconf.h"
-
-/**
- * @brief Enables the PAL subsystem.
- */
-#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
-#define HAL_USE_PAL TRUE
-#endif
-
-/**
- * @brief Enables the ADC subsystem.
- */
-#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
-#define HAL_USE_ADC FALSE
-#endif
-
-/**
- * @brief Enables the CAN subsystem.
- */
-#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
-#define HAL_USE_CAN FALSE
-#endif
-
-/**
- * @brief Enables the EXT subsystem.
- */
-#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
-#define HAL_USE_EXT FALSE
-#endif
-
-/**
- * @brief Enables the GPT subsystem.
- */
-#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
-#define HAL_USE_GPT FALSE
-#endif
-
-/**
- * @brief Enables the I2C subsystem.
- */
-#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
-#define HAL_USE_I2C FALSE
-#endif
-
-/**
- * @brief Enables the ICU subsystem.
- */
-#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
-#define HAL_USE_ICU FALSE
-#endif
-
-/**
- * @brief Enables the MAC subsystem.
- */
-#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
-#define HAL_USE_MAC FALSE
-#endif
-
-/**
- * @brief Enables the MMC_SPI subsystem.
- */
-#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_MMC_SPI FALSE
-#endif
-
-/**
- * @brief Enables the PWM subsystem.
- */
-#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
-#define HAL_USE_PWM FALSE
-#endif
-
-/**
- * @brief Enables the RTC subsystem.
- */
-#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
-#define HAL_USE_RTC FALSE
-#endif
-
-/**
- * @brief Enables the SDC subsystem.
- */
-#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
-#define HAL_USE_SDC FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL subsystem.
- */
-#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL FALSE
-#endif
-
-/**
- * @brief Enables the SERIAL over USB subsystem.
- */
-#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
-#define HAL_USE_SERIAL_USB FALSE
-#endif
-
-/**
- * @brief Enables the SPI subsystem.
- */
-#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
-#define HAL_USE_SPI FALSE
-#endif
-
-/**
- * @brief Enables the UART subsystem.
- */
-#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
-#define HAL_USE_UART FALSE
-#endif
-
-/**
- * @brief Enables the USB subsystem.
- */
-#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
-#define HAL_USE_USB FALSE
-#endif
-
-/**
- * @brief Enables the WDG subsystem.
- */
-#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
-#define HAL_USE_WDG TRUE
-#endif
-
-/*===========================================================================*/
-/* ADC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
-#define ADC_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define ADC_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* CAN driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Sleep mode related APIs inclusion switch.
- */
-#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
-#define CAN_USE_SLEEP_MODE TRUE
-#endif
-
-/*===========================================================================*/
-/* I2C driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables the mutual exclusion APIs on the I2C bus.
- */
-#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define I2C_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-/*===========================================================================*/
-/* MAC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
-#define MAC_USE_ZERO_COPY FALSE
-#endif
-
-/**
- * @brief Enables an event sources for incoming packets.
- */
-#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
-#define MAC_USE_EVENTS TRUE
-#endif
-
-/*===========================================================================*/
-/* MMC_SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- * This option is recommended also if the SPI driver does not
- * use a DMA channel and heavily loads the CPU.
- */
-#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
-#define MMC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SDC driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Number of initialization attempts before rejecting the card.
- * @note Attempts are performed at 10mS intervals.
- */
-#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
-#define SDC_INIT_RETRY 100
-#endif
-
-/**
- * @brief Include support for MMC cards.
- * @note MMC support is not yet implemented so this option must be kept
- * at @p FALSE.
- */
-#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
-#define SDC_MMC_SUPPORT FALSE
-#endif
-
-/**
- * @brief Delays insertions.
- * @details If enabled this options inserts delays into the MMC waiting
- * routines releasing some extra CPU time for the threads with
- * lower priority, this may slow down the driver a bit however.
- */
-#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
-#define SDC_NICE_WAITING TRUE
-#endif
-
-/*===========================================================================*/
-/* SERIAL driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Default bit rate.
- * @details Configuration parameter, this is the baud rate selected for the
- * default configuration.
- */
-#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
-#define SERIAL_DEFAULT_BITRATE 38400
-#endif
-
-/**
- * @brief Serial buffers size.
- * @details Configuration parameter, you can change the depth of the queue
- * buffers depending on the requirements of your application.
- * @note The default is 64 bytes for both the transmission and receive
- * buffers.
- */
-#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
-#define SERIAL_BUFFERS_SIZE 16
-#endif
-
-/*===========================================================================*/
-/* SPI driver related settings. */
-/*===========================================================================*/
-
-/**
- * @brief Enables synchronous APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
-#define SPI_USE_WAIT TRUE
-#endif
-
-/**
- * @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
- * @note Disabling this option saves both code and data space.
- */
-#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
-#define SPI_USE_MUTUAL_EXCLUSION TRUE
-#endif
-
-#endif /* _HALCONF_H_ */
-
-/** @} */
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/main.c b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/main.c
deleted file mode 100644
index da08cfb..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/main.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-#include "ch.h"
-#include "hal.h"
-
-static bool watchdog_timeout(WDGDriver *wdgp)
-{
- (void)wdgp;
-
- palSetPad(GPIOF, GPIOF_LED_RED);
-
- /* Return true to prevent a reset on the next timeout.*/
- return true;
-}
-
-/*
- * Watchdog deadline set to one second.
- * Use callback on first timeout.
- * Stall timer if paused by debugger.
- */
-static const WDGConfig wdgcfg =
-{
- TIVA_SYSCLK,
- watchdog_timeout,
- TEST_STALL
-};
-
-/*
- * Application entry point.
- */
-int main(void) {
-
- /*
- * System initializations.
- * - HAL initialization, this also initializes the configured device drivers
- * and performs the board-specific initializations.
- * - Kernel initialization, the main() function becomes a thread and the
- * RTOS is active.
- */
- halInit();
- chSysInit();
-
- palSetPadMode(GPIOF, GPIOF_LED_RED, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOF, GPIOF_LED_BLUE, PAL_MODE_OUTPUT_PUSHPULL);
-
- palSetPadMode(GPIOF, GPIOF_SW1, PAL_MODE_INPUT_PULLUP);
- palSetPadMode(GPIOF, GPIOF_SW2, PAL_MODE_INPUT_PULLUP);
-
- /*
- * Starting the watchdog driver.
- */
- wdgStart(&WDGD1, &wdgcfg);
-
- /*
- * Normal main() thread activity, it resets the watchdog.
- */
- while (true) {
- if (palReadPad(GPIOF, GPIOF_SW1)) {
- /* Only reset the watchdog if the button is not pressed */
- wdgReset(&WDGD1);
- palClearPad(GPIOF, GPIOF_LED_RED);
- }
-
- palTogglePad(GPIOF, GPIOF_LED_BLUE);
-
- chThdSleepMilliseconds(500);
- }
- return 0;
-}
diff --git a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/mcuconf.h b/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/mcuconf.h
deleted file mode 100644
index 4136b0a..0000000
--- a/ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/mcuconf.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- Copyright (C) 2014..2016 Marco Veeneman
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-/*
- * TM4C123x drivers configuration.
- * The following settings override the default settings present in
- * the various device driver implementation headers.
- * Note that the settings for each driver only have effect if the whole
- * driver is enabled in halconf.h.
- *
- * IRQ priorities:
- * 7...0 Lowest...Highest.
- */
-
-#define TM4C123x_MCUCONF
-
-#define TM4C123_USE_REVISION_6_FIX
-#define TM4C123_USE_REVISION_7_FIX
-
-/*
- * HAL driver system settings.
- */
-#define TIVA_OSCSRC TIVA_RCC2_OSCSRC2_MOSC
-#define TIVA_MOSC_ENABLE TRUE
-#define TIVA_DIV400_VALUE 1
-#define TIVA_SYSDIV_VALUE 2
-#define TIVA_USESYSDIV_ENABLE FALSE
-#define TIVA_SYSDIV2LSB_ENABLE FALSE
-#define TIVA_BYPASS_VALUE 0
-#define TIVA_PWM_FIELDS (TIVA_RCC_USEPWMDIV | \
- TIVA_RCC_PWMDIV_8)
-
-/*
- * GPIO driver system settings.
- */
-#define TIVA_GPIO_GPIOA_USE_AHB TRUE
-#define TIVA_GPIO_GPIOB_USE_AHB TRUE
-#define TIVA_GPIO_GPIOC_USE_AHB TRUE
-#define TIVA_GPIO_GPIOD_USE_AHB TRUE
-#define TIVA_GPIO_GPIOE_USE_AHB TRUE
-#define TIVA_GPIO_GPIOF_USE_AHB TRUE
-
-/*
- * GPT driver system settings.
- */
-#define TIVA_GPT_USE_GPT0 FALSE
-#define TIVA_GPT_USE_GPT1 FALSE
-#define TIVA_GPT_USE_GPT2 FALSE
-#define TIVA_GPT_USE_GPT3 FALSE
-#define TIVA_GPT_USE_GPT4 FALSE
-#define TIVA_GPT_USE_GPT5 FALSE
-#define TIVA_GPT_USE_WGPT0 FALSE
-#define TIVA_GPT_USE_WGPT1 FALSE
-#define TIVA_GPT_USE_WGPT2 FALSE
-#define TIVA_GPT_USE_WGPT3 FALSE
-#define TIVA_GPT_USE_WGPT4 FALSE
-#define TIVA_GPT_USE_WGPT5 FALSE
-
-#define TIVA_GPT_GPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_GPT5A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT0A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT1A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT2A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT3A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT4A_IRQ_PRIORITY 7
-#define TIVA_GPT_WGPT5A_IRQ_PRIORITY 7
-
-/*
- * I2C driver system settings.
- */
-#define TIVA_I2C_USE_I2C0 FALSE
-#define TIVA_I2C_USE_I2C1 FALSE
-#define TIVA_I2C_USE_I2C2 FALSE
-#define TIVA_I2C_USE_I2C3 FALSE
-#define TIVA_I2C_USE_I2C4 FALSE
-#define TIVA_I2C_USE_I2C5 FALSE
-#define TIVA_I2C_USE_I2C6 FALSE
-#define TIVA_I2C_USE_I2C7 FALSE
-#define TIVA_I2C_I2C0_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C1_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C2_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C3_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C4_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C5_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C6_IRQ_PRIORITY 4
-#define TIVA_I2C_I2C7_IRQ_PRIORITY 4
-
-/*
- * PWM driver system settings.
- */
-#define TIVA_PWM_USE_PWM0 FALSE
-#define TIVA_PWM_USE_PWM1 FALSE
-#define TIVA_PWM_PWM0_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM0_3_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_FAULT_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_0_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_1_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_2_IRQ_PRIORITY 4
-#define TIVA_PWM_PWM1_3_IRQ_PRIORITY 4
-
-/*
- * SERIAL driver system settings.
- */
-#define TIVA_SERIAL_USE_UART0 FALSE
-#define TIVA_SERIAL_USE_UART1 FALSE
-#define TIVA_SERIAL_USE_UART2 FALSE
-#define TIVA_SERIAL_USE_UART3 FALSE
-#define TIVA_SERIAL_USE_UART4 FALSE
-#define TIVA_SERIAL_USE_UART5 FALSE
-#define TIVA_SERIAL_USE_UART6 FALSE
-#define TIVA_SERIAL_USE_UART7 FALSE
-#define TIVA_SERIAL_UART0_PRIORITY 5
-#define TIVA_SERIAL_UART1_PRIORITY 5
-#define TIVA_SERIAL_UART2_PRIORITY 5
-#define TIVA_SERIAL_UART3_PRIORITY 5
-#define TIVA_SERIAL_UART4_PRIORITY 5
-#define TIVA_SERIAL_UART5_PRIORITY 5
-#define TIVA_SERIAL_UART6_PRIORITY 5
-#define TIVA_SERIAL_UART7_PRIORITY 5
-
-/*
- * SPI driver system settings.
- */
-#define TIVA_SPI_USE_SSI0 TRUE
-#define TIVA_SPI_USE_SSI1 FALSE
-#define TIVA_SPI_USE_SSI2 FALSE
-#define TIVA_SPI_USE_SSI3 FALSE
-#define TIVA_SPI_SSI0_RX_UDMA_CHANNEL 10
-#define TIVA_SPI_SSI1_RX_UDMA_CHANNEL 24
-#define TIVA_SPI_SSI2_RX_UDMA_CHANNEL 12
-#define TIVA_SPI_SSI3_RX_UDMA_CHANNEL 14
-#define TIVA_SPI_SSI0_TX_UDMA_CHANNEL 11
-#define TIVA_SPI_SSI1_TX_UDMA_CHANNEL 25
-#define TIVA_SPI_SSI2_TX_UDMA_CHANNEL 13
-#define TIVA_SPI_SSI3_TX_UDMA_CHANNEL 15
-#define TIVA_SPI_SSI0_RX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI1_RX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI2_RX_UDMA_MAPPING 2
-#define TIVA_SPI_SSI3_RX_UDMA_MAPPING 2
-#define TIVA_SPI_SSI0_TX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI1_TX_UDMA_MAPPING 0
-#define TIVA_SPI_SSI2_TX_UDMA_MAPPING 2
-#define TIVA_SPI_SSI3_TX_UDMA_MAPPING 2
-
-/*
- * ST driver system settings.
- */
-#define TIVA_ST_IRQ_PRIORITY 2
-#define TIVA_ST_USE_WIDE_TIMER TRUE
-#define TIVA_ST_TIMER_NUMBER 5
-#define TIVA_ST_TIMER_LETTER A
-
-#define TIVA_WDG_USE_WDT0 TRUE
-#define TIVA_WDG_USE_WDT1 FALSE