From 5a059c8d6ecfe2f98a77570b8b6cf13c500398f7 Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Fri, 11 Nov 2016 15:15:16 -0500 Subject: tar'd chibi --- ChibiOS_16.1.5/community/testhal/.keep | 0 .../testhal/KINETIS/FRDM-K20D50M/I2C/Makefile | 218 - .../testhal/KINETIS/FRDM-K20D50M/I2C/chconf.h | 516 --- .../testhal/KINETIS/FRDM-K20D50M/I2C/halconf.h | 381 -- .../testhal/KINETIS/FRDM-K20D50M/I2C/main.c | 73 - .../testhal/KINETIS/FRDM-K20D50M/I2C/mcuconf.h | 83 - .../testhal/KINETIS/FRDM-K20D50M/I2C/readme.txt | 20 - .../KINETIS/FRDM-K20D50M/USB_SERIAL/Makefile | 225 - .../KINETIS/FRDM-K20D50M/USB_SERIAL/chconf.h | 516 --- .../KINETIS/FRDM-K20D50M/USB_SERIAL/chtsy.inf | 106 - .../KINETIS/FRDM-K20D50M/USB_SERIAL/halconf.h | 362 -- .../testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/main.c | 168 - .../KINETIS/FRDM-K20D50M/USB_SERIAL/mcuconf.h | 40 - .../KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.c | 329 -- .../KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.h | 27 - .../testhal/KINETIS/FRDM-KL25Z/ADC/.cproject | 53 - .../testhal/KINETIS/FRDM-KL25Z/ADC/.project | 27 - .../testhal/KINETIS/FRDM-KL25Z/ADC/Makefile | 209 - .../testhal/KINETIS/FRDM-KL25Z/ADC/chconf.h | 516 --- .../ADC/debug/RT-FREEDOM-KL25Z-ADC.launch | 31 - .../testhal/KINETIS/FRDM-KL25Z/ADC/halconf.h | 381 -- .../testhal/KINETIS/FRDM-KL25Z/ADC/main.c | 132 - .../testhal/KINETIS/FRDM-KL25Z/ADC/mcuconf.h | 78 - .../testhal/KINETIS/FRDM-KL25Z/ADC/readme.txt | 14 - .../testhal/KINETIS/FRDM-KL25Z/GPT/Makefile | 213 - .../testhal/KINETIS/FRDM-KL25Z/GPT/chconf.h | 514 --- .../testhal/KINETIS/FRDM-KL25Z/GPT/halconf.h | 353 -- .../testhal/KINETIS/FRDM-KL25Z/GPT/main.c | 75 - .../testhal/KINETIS/FRDM-KL25Z/GPT/mcuconf.h | 42 - .../testhal/KINETIS/FRDM-KL25Z/PWM/Makefile | 213 - .../testhal/KINETIS/FRDM-KL25Z/PWM/chconf.h | 514 --- .../testhal/KINETIS/FRDM-KL25Z/PWM/halconf.h | 381 -- .../testhal/KINETIS/FRDM-KL25Z/PWM/main.c | 128 - .../testhal/KINETIS/FRDM-KL25Z/PWM/mcuconf.h | 47 - .../KINETIS/FRDM-KL25Z/USB_HID/Client/Makefile | 23 - .../FRDM-KL25Z/USB_HID/Client/test-usb-hid.c | 180 - .../KINETIS/FRDM-KL25Z/USB_HID/Client/udev.rules | 2 - .../testhal/KINETIS/FRDM-KL25Z/USB_HID/Makefile | 216 - .../testhal/KINETIS/FRDM-KL25Z/USB_HID/chconf.h | 516 --- .../testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf.h | 368 -- .../KINETIS/FRDM-KL25Z/USB_HID/halconf_community.h | 142 - .../testhal/KINETIS/FRDM-KL25Z/USB_HID/main.c | 91 - .../testhal/KINETIS/FRDM-KL25Z/USB_HID/mcuconf.h | 63 - .../testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.c | 418 -- .../testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.h | 45 - .../testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/Makefile | 220 - .../testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chconf.h | 514 --- .../KINETIS/FRDM-KL25Z/USB_SERIAL/chtsy.inf | 106 - .../KINETIS/FRDM-KL25Z/USB_SERIAL/halconf.h | 362 -- .../testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/main.c | 168 - .../KINETIS/FRDM-KL25Z/USB_SERIAL/mcuconf.h | 53 - .../testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.c | 329 -- .../testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.h | 27 - .../testhal/KINETIS/FRDM-KL26Z/I2C/Makefile | 212 - .../testhal/KINETIS/FRDM-KL26Z/I2C/chconf.h | 516 --- .../testhal/KINETIS/FRDM-KL26Z/I2C/halconf.h | 381 -- .../testhal/KINETIS/FRDM-KL26Z/I2C/main.c | 89 - .../testhal/KINETIS/FRDM-KL26Z/I2C/mcuconf.h | 54 - .../testhal/KINETIS/FRDM-KL26Z/I2C/readme.txt | 20 - .../testhal/KINETIS/FRDM-KL26Z/PWM/Makefile | 213 - .../testhal/KINETIS/FRDM-KL26Z/PWM/chconf.h | 514 --- .../testhal/KINETIS/FRDM-KL26Z/PWM/halconf.h | 381 -- .../testhal/KINETIS/FRDM-KL26Z/PWM/main.c | 172 - .../testhal/KINETIS/FRDM-KL26Z/PWM/mcuconf.h | 58 - .../testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/Makefile | 220 - .../testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chconf.h | 514 --- .../KINETIS/FRDM-KL26Z/USB_SERIAL/chtsy.inf | 106 - .../KINETIS/FRDM-KL26Z/USB_SERIAL/halconf.h | 353 -- .../testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/main.c | 168 - .../KINETIS/FRDM-KL26Z/USB_SERIAL/mcuconf.h | 53 - .../testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.c | 329 -- .../testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.h | 27 - .../community/testhal/KINETIS/KL27Z/BLINK/Makefile | 213 - .../testhal/KINETIS/KL27Z/BLINK/board/board.c | 158 - .../testhal/KINETIS/KL27Z/BLINK/board/board.h | 53 - .../testhal/KINETIS/KL27Z/BLINK/board/board.mk | 5 - .../community/testhal/KINETIS/KL27Z/BLINK/chconf.h | 516 --- .../testhal/KINETIS/KL27Z/BLINK/flash_via_bldr.sh | 26 - .../testhal/KINETIS/KL27Z/BLINK/halconf.h | 187 - .../community/testhal/KINETIS/KL27Z/BLINK/main.c | 94 - .../testhal/KINETIS/KL27Z/BLINK/mcuconf.h | 79 - .../testhal/KINETIS/MCHCK/BOOTLOADER/Makefile | 222 - .../testhal/KINETIS/MCHCK/BOOTLOADER/chconf.h | 514 --- .../testhal/KINETIS/MCHCK/BOOTLOADER/halconf.h | 187 - .../testhal/KINETIS/MCHCK/BOOTLOADER/main.c | 77 - .../testhal/KINETIS/MCHCK/BOOTLOADER/mcuconf.h | 41 - .../community/testhal/KINETIS/MCHCK/PWM/Makefile | 222 - .../community/testhal/KINETIS/MCHCK/PWM/README.md | 7 - .../community/testhal/KINETIS/MCHCK/PWM/chconf.h | 514 --- .../community/testhal/KINETIS/MCHCK/PWM/halconf.h | 353 -- .../community/testhal/KINETIS/MCHCK/PWM/main.c | 116 - .../community/testhal/KINETIS/MCHCK/PWM/mcuconf.h | 41 - .../testhal/KINETIS/MCHCK/USB_SERIAL/Makefile | 228 - .../testhal/KINETIS/MCHCK/USB_SERIAL/chconf.h | 513 --- .../testhal/KINETIS/MCHCK/USB_SERIAL/chtsy.inf | 106 - .../testhal/KINETIS/MCHCK/USB_SERIAL/halconf.h | 362 -- .../testhal/KINETIS/MCHCK/USB_SERIAL/main.c | 161 - .../testhal/KINETIS/MCHCK/USB_SERIAL/mcuconf.h | 49 - .../testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.c | 329 -- .../testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.h | 27 - .../testhal/KINETIS/TEENSY3_x/ADC/Makefile | 219 - .../testhal/KINETIS/TEENSY3_x/ADC/chconf.h | 514 --- .../testhal/KINETIS/TEENSY3_x/ADC/halconf.h | 353 -- .../community/testhal/KINETIS/TEENSY3_x/ADC/main.c | 135 - .../testhal/KINETIS/TEENSY3_x/ADC/mcuconf.h | 35 - .../testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile | 219 - .../KINETIS/TEENSY3_x/EEPROM_EMU/Makefile.3_0 | 219 - .../testhal/KINETIS/TEENSY3_x/EEPROM_EMU/README.md | 8 - .../testhal/KINETIS/TEENSY3_x/EEPROM_EMU/chconf.h | 516 --- .../testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.c | 300 -- .../testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.h | 21 - .../testhal/KINETIS/TEENSY3_x/EEPROM_EMU/halconf.h | 187 - .../testhal/KINETIS/TEENSY3_x/EEPROM_EMU/main.c | 77 - .../testhal/KINETIS/TEENSY3_x/EEPROM_EMU/mcuconf.h | 51 - .../testhal/KINETIS/TEENSY3_x/EXT/Makefile | 219 - .../testhal/KINETIS/TEENSY3_x/EXT/chconf.h | 514 --- .../testhal/KINETIS/TEENSY3_x/EXT/halconf.h | 353 -- .../community/testhal/KINETIS/TEENSY3_x/EXT/main.c | 74 - .../testhal/KINETIS/TEENSY3_x/EXT/mcuconf.h | 47 - .../testhal/KINETIS/TEENSY3_x/GPT/Makefile | 219 - .../testhal/KINETIS/TEENSY3_x/GPT/chconf.h | 514 --- .../testhal/KINETIS/TEENSY3_x/GPT/halconf.h | 353 -- .../community/testhal/KINETIS/TEENSY3_x/GPT/main.c | 65 - .../testhal/KINETIS/TEENSY3_x/GPT/mcuconf.h | 35 - .../testhal/KINETIS/TEENSY3_x/PWM/Makefile | 219 - .../testhal/KINETIS/TEENSY3_x/PWM/chconf.h | 516 --- .../testhal/KINETIS/TEENSY3_x/PWM/halconf.h | 353 -- .../community/testhal/KINETIS/TEENSY3_x/PWM/main.c | 116 - .../testhal/KINETIS/TEENSY3_x/PWM/mcuconf.h | 35 - .../testhal/KINETIS/TEENSY3_x/SERIAL/Makefile | 219 - .../testhal/KINETIS/TEENSY3_x/SERIAL/Makefile.3_0 | 219 - .../testhal/KINETIS/TEENSY3_x/SERIAL/chconf.h | 514 --- .../testhal/KINETIS/TEENSY3_x/SERIAL/halconf.h | 353 -- .../testhal/KINETIS/TEENSY3_x/SERIAL/main.c | 81 - .../testhal/KINETIS/TEENSY3_x/SERIAL/mcuconf.h | 35 - .../testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile | 225 - .../KINETIS/TEENSY3_x/USB_SERIAL/Makefile.3_0 | 225 - .../testhal/KINETIS/TEENSY3_x/USB_SERIAL/chconf.h | 513 --- .../testhal/KINETIS/TEENSY3_x/USB_SERIAL/chtsy.inf | 106 - .../testhal/KINETIS/TEENSY3_x/USB_SERIAL/halconf.h | 353 -- .../testhal/KINETIS/TEENSY3_x/USB_SERIAL/main.c | 161 - .../testhal/KINETIS/TEENSY3_x/USB_SERIAL/mcuconf.h | 40 - .../testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.c | 329 -- .../testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.h | 27 - .../testhal/KINETIS/TEENSY_LC/BOOTLOADER/Makefile | 213 - .../testhal/KINETIS/TEENSY_LC/BOOTLOADER/chconf.h | 514 --- .../testhal/KINETIS/TEENSY_LC/BOOTLOADER/halconf.h | 187 - .../testhal/KINETIS/TEENSY_LC/BOOTLOADER/main.c | 103 - .../testhal/KINETIS/TEENSY_LC/BOOTLOADER/mcuconf.h | 53 - .../KINETIS/TEENSY_LC/EEPROM_EMU/MKL26Z64.ld | 105 - .../testhal/KINETIS/TEENSY_LC/EEPROM_EMU/Makefile | 214 - .../testhal/KINETIS/TEENSY_LC/EEPROM_EMU/README.md | 7 - .../testhal/KINETIS/TEENSY_LC/EEPROM_EMU/chconf.h | 514 --- .../testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.c | 241 - .../testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.h | 21 - .../testhal/KINETIS/TEENSY_LC/EEPROM_EMU/halconf.h | 187 - .../testhal/KINETIS/TEENSY_LC/EEPROM_EMU/main.c | 78 - .../testhal/KINETIS/TEENSY_LC/EEPROM_EMU/mcuconf.h | 53 - .../testhal/KINETIS/TEENSY_LC/PWM/Makefile | 213 - .../testhal/KINETIS/TEENSY_LC/PWM/chconf.h | 514 --- .../testhal/KINETIS/TEENSY_LC/PWM/halconf.h | 187 - .../community/testhal/KINETIS/TEENSY_LC/PWM/main.c | 120 - .../testhal/KINETIS/TEENSY_LC/PWM/mcuconf.h | 58 - .../testhal/MSP430X/EXP430FR5969/DMA/Makefile | 206 - .../testhal/MSP430X/EXP430FR5969/DMA/chconf.h | 274 -- .../testhal/MSP430X/EXP430FR5969/DMA/halconf.h | 388 -- .../testhal/MSP430X/EXP430FR5969/DMA/main.c | 293 -- .../testhal/MSP430X/EXP430FR5969/DMA/mcuconf.h | 55 - .../testhal/MSP430X/EXP430FR5969/DMA/msp_vectors.c | 316 -- .../testhal/MSP430X/EXP430FR5969/SPI/Makefile | 206 - .../testhal/MSP430X/EXP430FR5969/SPI/chconf.h | 274 -- .../testhal/MSP430X/EXP430FR5969/SPI/halconf.h | 388 -- .../testhal/MSP430X/EXP430FR5969/SPI/main.c | 395 -- .../testhal/MSP430X/EXP430FR5969/SPI/mcuconf.h | 62 - .../testhal/MSP430X/EXP430FR5969/SPI/msp_vectors.c | 316 -- .../community/testhal/NRF51/NRF51822/ADC/Makefile | 211 - .../community/testhal/NRF51/NRF51822/ADC/chconf.h | 524 --- .../community/testhal/NRF51/NRF51822/ADC/halconf.h | 341 -- .../community/testhal/NRF51/NRF51822/ADC/main.c | 139 - .../community/testhal/NRF51/NRF51822/ADC/mcuconf.h | 25 - .../testhal/NRF51/NRF51822/ADC/readme.txt | 21 - .../community/testhal/NRF51/NRF51822/EXT/Makefile | 211 - .../community/testhal/NRF51/NRF51822/EXT/chconf.h | 524 --- .../community/testhal/NRF51/NRF51822/EXT/halconf.h | 327 -- .../community/testhal/NRF51/NRF51822/EXT/main.c | 128 - .../community/testhal/NRF51/NRF51822/EXT/mcuconf.h | 24 - .../community/testhal/NRF51/NRF51822/GPT/Makefile | 211 - .../community/testhal/NRF51/NRF51822/GPT/chconf.h | 524 --- .../community/testhal/NRF51/NRF51822/GPT/halconf.h | 341 -- .../community/testhal/NRF51/NRF51822/GPT/main.c | 124 - .../community/testhal/NRF51/NRF51822/GPT/mcuconf.h | 26 - .../testhal/NRF51/NRF51822/GPT/readme.txt | 19 - .../community/testhal/NRF51/NRF51822/I2C/Makefile | 211 - .../community/testhal/NRF51/NRF51822/I2C/chconf.h | 524 --- .../community/testhal/NRF51/NRF51822/I2C/halconf.h | 327 -- .../community/testhal/NRF51/NRF51822/I2C/main.c | 164 - .../community/testhal/NRF51/NRF51822/I2C/mcuconf.h | 25 - .../testhal/NRF51/NRF51822/I2C/readme.txt | 21 - .../community/testhal/NRF51/NRF51822/PWM/Makefile | 232 - .../community/testhal/NRF51/NRF51822/PWM/chconf.h | 524 --- .../community/testhal/NRF51/NRF51822/PWM/halconf.h | 327 -- .../community/testhal/NRF51/NRF51822/PWM/main.c | 76 - .../community/testhal/NRF51/NRF51822/PWM/mcuconf.h | 30 - .../community/testhal/NRF51/NRF51822/RNG/Makefile | 230 - .../community/testhal/NRF51/NRF51822/RNG/chconf.h | 499 --- .../community/testhal/NRF51/NRF51822/RNG/halconf.h | 178 - .../testhal/NRF51/NRF51822/RNG/halconf_community.h | 117 - .../community/testhal/NRF51/NRF51822/RNG/main.c | 118 - .../community/testhal/NRF51/NRF51822/RNG/mcuconf.h | 24 - .../testhal/NRF51/NRF51822/RNG/readme.txt | 17 - .../community/testhal/NRF51/NRF51822/SPI/Makefile | 211 - .../community/testhal/NRF51/NRF51822/SPI/chconf.h | 524 --- .../community/testhal/NRF51/NRF51822/SPI/halconf.h | 327 -- .../community/testhal/NRF51/NRF51822/SPI/main.c | 152 - .../community/testhal/NRF51/NRF51822/SPI/mcuconf.h | 25 - .../testhal/NRF51/NRF51822/SPI/readme.txt | 21 - .../community/testhal/NRF51/NRF51822/WDG/Makefile | 220 - .../community/testhal/NRF51/NRF51822/WDG/chconf.h | 524 --- .../community/testhal/NRF51/NRF51822/WDG/halconf.h | 341 -- .../community/testhal/NRF51/NRF51822/WDG/main.c | 61 - .../community/testhal/NRF51/NRF51822/WDG/mcuconf.h | 22 - .../testhal/NRF51/NRF51822/WDG/readme.txt | 17 - .../testhal/STM32/STM32F0xx/crc/.cproject | 49 - .../community/testhal/STM32/STM32F0xx/crc/.project | 27 - .../community/testhal/STM32/STM32F0xx/crc/Makefile | 214 - .../community/testhal/STM32/STM32F0xx/crc/chconf.h | 520 --- .../testhal/STM32/STM32F0xx/crc/halconf.h | 347 -- .../STM32/STM32F0xx/crc/halconf_community.h | 118 - .../community/testhal/STM32/STM32F0xx/crc/main.c | 244 -- .../testhal/STM32/STM32F0xx/crc/mcuconf.h | 166 - .../STM32/STM32F0xx/crc/mcuconf_community.h | 33 - .../testhal/STM32/STM32F0xx/crc/readme.txt | 36 - .../testhal/STM32/STM32F0xx/onewire/.cproject | 71 - .../testhal/STM32/STM32F0xx/onewire/.project | 38 - .../testhal/STM32/STM32F0xx/onewire/Makefile | 207 - .../testhal/STM32/STM32F0xx/onewire/chconf.h | 520 --- .../testhal/STM32/STM32F0xx/onewire/halconf.h | 347 -- .../STM32/STM32F0xx/onewire/halconf_community.h | 98 - .../testhal/STM32/STM32F0xx/onewire/main.c | 42 - .../testhal/STM32/STM32F0xx/onewire/mcuconf.h | 161 - .../STM32/STM32F0xx/onewire/mcuconf_community.h | 17 - .../testhal/STM32/STM32F0xx/onewire/onewire_test.c | 257 -- .../testhal/STM32/STM32F0xx/onewire/onewire_test.h | 28 - .../testhal/STM32/STM32F0xx/onewire/readme.txt | 32 - .../testhal/STM32/STM32F0xx/onewire/real_roms.txt | 27 - .../STM32/STM32F0xx/onewire/search_rom_synth.c | 370 -- .../testhal/STM32/STM32F0xx/qei/.cproject | 49 - .../community/testhal/STM32/STM32F0xx/qei/.project | 91 - .../community/testhal/STM32/STM32F0xx/qei/Makefile | 218 - .../community/testhal/STM32/STM32F0xx/qei/chconf.h | 520 --- .../testhal/STM32/STM32F0xx/qei/halconf.h | 387 -- .../STM32/STM32F0xx/qei/halconf_community.h | 105 - .../community/testhal/STM32/STM32F0xx/qei/main.c | 53 - .../testhal/STM32/STM32F0xx/qei/mcuconf.h | 191 - .../STM32/STM32F0xx/qei/mcuconf_community.h | 30 - .../testhal/STM32/STM32F0xx/qei/readme.txt | 27 - .../testhal/STM32/STM32F1xx/onewire/.cproject | 55 - .../testhal/STM32/STM32F1xx/onewire/.project | 91 - .../testhal/STM32/STM32F1xx/onewire/Makefile | 215 - .../testhal/STM32/STM32F1xx/onewire/chconf.h | 520 --- .../testhal/STM32/STM32F1xx/onewire/halconf.h | 347 -- .../STM32/STM32F1xx/onewire/halconf_community.h | 98 - .../testhal/STM32/STM32F1xx/onewire/main.c | 42 - .../testhal/STM32/STM32F1xx/onewire/mcuconf.h | 209 - .../STM32/STM32F1xx/onewire/mcuconf_community.h | 16 - .../testhal/STM32/STM32F1xx/onewire/onewire_test.c | 257 -- .../testhal/STM32/STM32F1xx/onewire/onewire_test.h | 28 - .../testhal/STM32/STM32F1xx/onewire/readme.txt | 32 - .../testhal/STM32/STM32F1xx/onewire/real_roms.txt | 27 - .../STM32/STM32F1xx/onewire/search_rom_synth.c | 370 -- .../testhal/STM32/STM32F1xx/qei/.cproject | 55 - .../community/testhal/STM32/STM32F1xx/qei/.project | 91 - .../community/testhal/STM32/STM32F1xx/qei/Makefile | 218 - .../community/testhal/STM32/STM32F1xx/qei/chconf.h | 520 --- .../testhal/STM32/STM32F1xx/qei/halconf.h | 387 -- .../STM32/STM32F1xx/qei/halconf_community.h | 105 - .../community/testhal/STM32/STM32F1xx/qei/main.c | 54 - .../testhal/STM32/STM32F1xx/qei/mcuconf.h | 219 - .../STM32/STM32F1xx/qei/mcuconf_community.h | 41 - .../testhal/STM32/STM32F1xx/qei/readme.txt | 27 - .../testhal/STM32/STM32F3xx/EEProm/.cproject | 49 - .../testhal/STM32/STM32F3xx/EEProm/.project | 27 - .../testhal/STM32/STM32F3xx/EEProm/Makefile | 219 - .../testhal/STM32/STM32F3xx/EEProm/chconf.h | 520 --- .../testhal/STM32/STM32F3xx/EEProm/halconf.h | 387 -- .../STM32/STM32F3xx/EEProm/halconf_community.h | 121 - .../testhal/STM32/STM32F3xx/EEProm/main.c | 99 - .../testhal/STM32/STM32F3xx/EEProm/mcuconf.h | 258 -- .../STM32/STM32F3xx/EEProm/mcuconf_community.h | 45 - .../testhal/STM32/STM32F3xx/TIMCAP/.cproject | 49 - .../testhal/STM32/STM32F3xx/TIMCAP/.project | 27 - .../testhal/STM32/STM32F3xx/TIMCAP/Makefile | 219 - .../testhal/STM32/STM32F3xx/TIMCAP/chconf.h | 520 --- .../testhal/STM32/STM32F3xx/TIMCAP/halconf.h | 387 -- .../STM32/STM32F3xx/TIMCAP/halconf_community.h | 128 - .../testhal/STM32/STM32F3xx/TIMCAP/main.c | 194 - .../testhal/STM32/STM32F3xx/TIMCAP/mcuconf.h | 258 -- .../STM32/STM32F3xx/TIMCAP/mcuconf_community.h | 65 - .../testhal/STM32/STM32F4xx/EICU/EICU_F4x.config | 2 - .../testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator | 1 - .../STM32/STM32F4xx/EICU/EICU_F4x.creator.user | 156 - .../testhal/STM32/STM32F4xx/EICU/EICU_F4x.files | 3443 --------------- .../testhal/STM32/STM32F4xx/EICU/EICU_F4x.includes | 769 ---- .../testhal/STM32/STM32F4xx/EICU/Makefile | 217 - .../testhal/STM32/STM32F4xx/EICU/chconf.h | 520 --- .../testhal/STM32/STM32F4xx/EICU/halconf.h | 387 -- .../STM32/STM32F4xx/EICU/halconf_community.h | 98 - .../community/testhal/STM32/STM32F4xx/EICU/main.c | 152 - .../testhal/STM32/STM32F4xx/EICU/mcuconf.h | 347 -- .../STM32/STM32F4xx/EICU/mcuconf_community.h | 79 - .../testhal/STM32/STM32F4xx/EICU/readme.txt | 32 - .../testhal/STM32/STM32F4xx/FSMC_NAND/.cproject | 52 - .../testhal/STM32/STM32F4xx/FSMC_NAND/.project | 39 - .../testhal/STM32/STM32F4xx/FSMC_NAND/Makefile | 222 - .../testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h | 520 --- .../testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h | 33 - .../STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c | 108 - .../STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c | 106 - .../STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c | 160 - .../testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h | 387 -- .../STM32/STM32F4xx/FSMC_NAND/halconf_community.h | 98 - .../testhal/STM32/STM32F4xx/FSMC_NAND/main.c | 650 --- .../testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h | 347 -- .../STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h | 46 - .../testhal/STM32/STM32F4xx/FSMC_SDRAM/.cproject | 52 - .../testhal/STM32/STM32F4xx/FSMC_SDRAM/.project | 39 - .../testhal/STM32/STM32F4xx/FSMC_SDRAM/Makefile | 224 - .../testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h | 520 --- .../testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h | 387 -- .../STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h | 98 - .../testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c | 279 -- .../testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h | 347 -- .../STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h | 48 - .../testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c | 133 - .../testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h | 49 - .../STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c | 105 - .../STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h | 40 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/.cproject | 52 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/.project | 39 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/Makefile | 224 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h | 520 --- .../testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h | 387 -- .../STM32/STM32F4xx/FSMC_SRAM/halconf_community.h | 98 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/main.c | 190 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h | 347 -- .../STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h | 51 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c | 133 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h | 49 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c | 105 - .../testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h | 40 - .../testhal/STM32/STM32F4xx/USB_HOST/.cproject | 49 - .../testhal/STM32/STM32F4xx/USB_HOST/.project | 27 - .../testhal/STM32/STM32F4xx/USB_HOST/Makefile | 226 - .../testhal/STM32/STM32F4xx/USB_HOST/chconf.h | 522 --- .../testhal/STM32/STM32F4xx/USB_HOST/diskio.h | 80 - .../STM32/STM32F4xx/USB_HOST/fatfs_diskio.c | 144 - .../testhal/STM32/STM32F4xx/USB_HOST/ff.c | 4611 -------------------- .../testhal/STM32/STM32F4xx/USB_HOST/ff.h | 341 -- .../testhal/STM32/STM32F4xx/USB_HOST/ffconf.h | 271 -- .../testhal/STM32/STM32F4xx/USB_HOST/halconf.h | 387 -- .../STM32/STM32F4xx/USB_HOST/halconf_community.h | 195 - .../testhal/STM32/STM32F4xx/USB_HOST/integer.h | 33 - .../testhal/STM32/STM32F4xx/USB_HOST/main.c | 488 --- .../testhal/STM32/STM32F4xx/USB_HOST/mcuconf.h | 347 -- .../STM32/STM32F4xx/USB_HOST/mcuconf_community.h | 66 - .../testhal/STM32/STM32F4xx/USB_HOST/readme.txt | 25 - .../testhal/STM32/STM32F4xx/onewire/.cproject | 52 - .../testhal/STM32/STM32F4xx/onewire/.project | 91 - .../testhal/STM32/STM32F4xx/onewire/Makefile | 219 - .../testhal/STM32/STM32F4xx/onewire/chconf.h | 520 --- .../testhal/STM32/STM32F4xx/onewire/halconf.h | 387 -- .../STM32/STM32F4xx/onewire/halconf_community.h | 98 - .../testhal/STM32/STM32F4xx/onewire/main.c | 42 - .../testhal/STM32/STM32F4xx/onewire/mcuconf.h | 347 -- .../STM32/STM32F4xx/onewire/mcuconf_community.h | 45 - .../testhal/STM32/STM32F4xx/onewire/onewire_test.c | 257 -- .../testhal/STM32/STM32F4xx/onewire/onewire_test.h | 28 - .../testhal/STM32/STM32F4xx/onewire/readme.txt | 32 - .../testhal/STM32/STM32F4xx/onewire/real_roms.txt | 27 - .../STM32/STM32F4xx/onewire/search_rom_synth.c | 370 -- .../community/testhal/TIVA/TM4C123x/EXT/.cproject | 51 - .../community/testhal/TIVA/TM4C123x/EXT/.project | 106 - .../community/testhal/TIVA/TM4C123x/EXT/Makefile | 212 - .../community/testhal/TIVA/TM4C123x/EXT/chconf.h | 509 --- ... (prompts for .cfg target configuration).launch | 10 - .../TM4C123x-EXT (OpenOCD, Flash and Run).launch | 52 - .../community/testhal/TIVA/TM4C123x/EXT/halconf.h | 294 -- .../community/testhal/TIVA/TM4C123x/EXT/main.c | 126 - .../community/testhal/TIVA/TM4C123x/EXT/mcuconf.h | 168 - .../community/testhal/TIVA/TM4C123x/GPT/.cproject | 51 - .../community/testhal/TIVA/TM4C123x/GPT/.project | 106 - .../community/testhal/TIVA/TM4C123x/GPT/Makefile | 212 - .../community/testhal/TIVA/TM4C123x/GPT/chconf.h | 509 --- ... (prompts for .cfg target configuration).launch | 10 - .../TM4C123x-GPT (OpenOCD, Flash and Run).launch | 52 - .../community/testhal/TIVA/TM4C123x/GPT/halconf.h | 294 -- .../community/testhal/TIVA/TM4C123x/GPT/main.c | 95 - .../community/testhal/TIVA/TM4C123x/GPT/mcuconf.h | 144 - .../community/testhal/TIVA/TM4C123x/I2C/.cproject | 51 - .../community/testhal/TIVA/TM4C123x/I2C/.project | 101 - .../community/testhal/TIVA/TM4C123x/I2C/Makefile | 214 - .../community/testhal/TIVA/TM4C123x/I2C/chconf.h | 509 --- ... (prompts for .cfg target configuration).launch | 10 - .../TM4C123x-I2C (OpenOCD, Flash and Run).launch | 52 - .../community/testhal/TIVA/TM4C123x/I2C/halconf.h | 294 -- .../community/testhal/TIVA/TM4C123x/I2C/main.c | 127 - .../community/testhal/TIVA/TM4C123x/I2C/mcuconf.h | 144 - .../community/testhal/TIVA/TM4C123x/PWM/.cproject | 51 - .../community/testhal/TIVA/TM4C123x/PWM/.project | 106 - .../community/testhal/TIVA/TM4C123x/PWM/Makefile | 212 - .../community/testhal/TIVA/TM4C123x/PWM/chconf.h | 509 --- ... (prompts for .cfg target configuration).launch | 10 - .../TM4C123x-PWM (OpenOCD, Flash and Run).launch | 52 - .../community/testhal/TIVA/TM4C123x/PWM/halconf.h | 294 -- .../community/testhal/TIVA/TM4C123x/PWM/main.c | 126 - .../community/testhal/TIVA/TM4C123x/PWM/mcuconf.h | 144 - .../community/testhal/TIVA/TM4C123x/SPI/.cproject | 51 - .../community/testhal/TIVA/TM4C123x/SPI/.project | 106 - .../community/testhal/TIVA/TM4C123x/SPI/Makefile | 212 - .../community/testhal/TIVA/TM4C123x/SPI/chconf.h | 509 --- ... (prompts for .cfg target configuration).launch | 10 - .../TM4C123x-SPI (OpenOCD, Flash and Run).launch | 52 - .../community/testhal/TIVA/TM4C123x/SPI/halconf.h | 294 -- .../community/testhal/TIVA/TM4C123x/SPI/main.c | 140 - .../community/testhal/TIVA/TM4C123x/SPI/mcuconf.h | 168 - .../community/testhal/TIVA/TM4C123x/WDG/.cproject | 51 - .../community/testhal/TIVA/TM4C123x/WDG/.project | 101 - .../community/testhal/TIVA/TM4C123x/WDG/Makefile | 212 - .../community/testhal/TIVA/TM4C123x/WDG/chconf.h | 509 --- ... (prompts for .cfg target configuration).launch | 10 - .../TM4C123x-WDG (OpenOCD, Flash and Run).launch | 52 - .../community/testhal/TIVA/TM4C123x/WDG/halconf.h | 301 -- .../community/testhal/TIVA/TM4C123x/WDG/main.c | 83 - .../community/testhal/TIVA/TM4C123x/WDG/mcuconf.h | 174 - 434 files changed, 93190 deletions(-) delete mode 100644 ChibiOS_16.1.5/community/testhal/.keep delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/I2C/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/chtsy.inf delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-K20D50M/USB_SERIAL/usbcfg.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/debug/RT-FREEDOM-KL25Z-ADC.launch delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/ADC/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/GPT/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/PWM/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/test-usb-hid.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Client/udev.rules delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_HID/usbcfg.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/chtsy.inf delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL25Z/USB_SERIAL/usbcfg.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/I2C/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/PWM/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/chtsy.inf delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/FRDM-KL26Z/USB_SERIAL/usbcfg.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/board/board.mk delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/flash_via_bldr.sh delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/KL27Z/BLINK/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/BOOTLOADER/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/README.md delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/PWM/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/chtsy.inf delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/MCHCK/USB_SERIAL/usbcfg.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/ADC/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/Makefile.3_0 delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/README.md delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/eeprom.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EEPROM_EMU/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/EXT/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/GPT/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/PWM/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/Makefile.3_0 delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/SERIAL/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/Makefile.3_0 delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/chtsy.inf delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY3_x/USB_SERIAL/usbcfg.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/BOOTLOADER/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/MKL26Z64.ld delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/README.md delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/eeprom.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/EEPROM_EMU/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/KINETIS/TEENSY_LC/PWM/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/DMA/msp_vectors.c delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/MSP430X/EXP430FR5969/SPI/msp_vectors.c delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/ADC/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/EXT/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/GPT/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/I2C/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/PWM/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/RNG/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/SPI/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/NRF51/NRF51822/WDG/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/crc/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/onewire_test.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/real_roms.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/onewire/search_rom_synth.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F0xx/qei/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/onewire_test.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/real_roms.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/onewire/search_rom_synth.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F1xx/qei/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/EEProm/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F3xx/TIMCAP/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.config delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.creator.user delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.files delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/EICU_F4x.includes delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/EICU/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_adc.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_spi.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/dma_storm_uart.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_NAND/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/membench.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SDRAM/memcpy_dma.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/membench.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/FSMC_SRAM/memcpy_dma.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/diskio.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/fatfs_diskio.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ff.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/ffconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/integer.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/USB_HOST/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/halconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/mcuconf_community.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.c delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/onewire_test.h delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/readme.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/real_roms.txt delete mode 100644 ChibiOS_16.1.5/community/testhal/STM32/STM32F4xx/onewire/search_rom_synth.c delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/debug/TM4C123x-EXT (OpenOCD, Flash and Run).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/EXT/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/debug/TM4C123x-GPT (OpenOCD, Flash and Run).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/GPT/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/debug/TM4C123x-I2C (OpenOCD, Flash and Run).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/I2C/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/debug/TM4C123x-PWM (OpenOCD, Flash and Run).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/PWM/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/debug/TM4C123x-SPI (OpenOCD, Flash and Run).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/SPI/mcuconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.cproject delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/.project delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/Makefile delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/chconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/OpenOCD on ICDI (prompts for .cfg target configuration).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/debug/TM4C123x-WDG (OpenOCD, Flash and Run).launch delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/halconf.h delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/main.c delete mode 100644 ChibiOS_16.1.5/community/testhal/TIVA/TM4C123x/WDG/mcuconf.h (limited to 'ChibiOS_16.1.5/community/testhal') 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 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 -#include - -#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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - RT-FREEDOM-KL25Z-ADC - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - * 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - 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 -#include - -#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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - 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 - 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 - 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - * 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - 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 -#include - -#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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - 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 - 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - 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 -#include - -#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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - 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 - 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 : - 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 - 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - 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 -#include - -#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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - 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 - 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - * - * 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 : - 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 - 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 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 - -__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 - -__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 - -#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 - - -/* - * 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F0xx-crc - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F0xx-1-Wire - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - os-community - 2 - PARENT-4-PROJECT_LOC/os - - - os-git - 2 - PARENT-5-PROJECT_LOC/ChibiOS-RT/os - - - 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 - -#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 - -/* - ****************************************************************************** - * 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_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_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; isearch_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> 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F1xx-qei - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - org.eclipse.cdt.core.ccnature - - - - os-community - 2 - PARENT-4-PROJECT_LOC/os - - - os-git - 2 - PARENT-5-PROJECT_LOC/ChibiOS-RT/os - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F1xx-onewire - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - org.eclipse.cdt.core.ccnature - - - - os-community - 2 - PARENT-4-PROJECT_LOC/os - - - os-git - 2 - PARENT-5-PROJECT_LOC/ChibiOS-RT/os - - - 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 - -#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 - -/* - ****************************************************************************** - * 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_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_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; isearch_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> 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F1xx-qei - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - org.eclipse.cdt.core.ccnature - - - - os-community - 2 - PARENT-4-PROJECT_LOC/os - - - os-git - 2 - PARENT-5-PROJECT_LOC/ChibiOS-RT/os - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F3xx-EEProm - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F3xx-TIMCAP - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - 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 @@ - - - - - - EnvironmentId - {19e2588b-face-4845-bb71-0434e910b089} - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - true - false - true - - Cpp - - CppGlobal - - - 1 - UTF-8 - false - 4 - false - 80 - true - true - 1 - true - false - 0 - true - 0 - 8 - true - 1 - true - true - true - false - - - - ProjectExplorer.Project.PluginSettings - - - - ProjectExplorer.Project.Target.0 - - arm-none-eabi - arm-none-eabi - {a0910195-c955-413e-bfeb-0bb1d84cfc8b} - 0 - -1 - 1 - - /home/barthess/projects/chibios-git/community/testhal/STM32/STM32F4xx/EICU - - - - all - - false - -j4 - - true - Make - - GenericProjectManager.GenericMakeStep - - 1 - Build - - ProjectExplorer.BuildSteps.Build - - - - - clean - - true - - - true - Make - - GenericProjectManager.GenericMakeStep - - 1 - Clean - - ProjectExplorer.BuildSteps.Clean - - 2 - false - - Default - Default - GenericProjectManager.GenericBuildConfiguration - - 1 - 0 - - - 2 - - - - false - %{buildDir} - Custom Executable - - ProjectExplorer.CustomExecutableRunConfiguration - 3768 - false - true - false - false - true - - - /home/barthess/projects/chibios-git/community/testhal/STM32/STM32F4xx/EICU/build/ch.elf - /home/barthess/projects/chibios-git/community/testhal/STM32/STM32F4xx/EICU - Run on GDB server or hardware debugger - - BareMetal.CustomRunConfig - - - 3768 - false - true - false - false - true - - 2 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 18 - - - Version - 18 - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F4xx-FSMC_NAND - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - org.eclipse.cdt.core.ccnature - - - - os-community - 2 - PARENT-4-PROJECT_LOC/os - - - os-git - 2 - PARENT-5-PROJECT_LOC/ChibiOS-RT/os - - - 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; ipages_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; iconfig->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>= 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>= 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; blockconfig->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; roundconfig->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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F4xx-FSMC_SDRAM - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - org.eclipse.cdt.core.ccnature - - - - os-community - 2 - PARENT-4-PROJECT_LOC/os - - - os-git - 2 - PARENT-5-PROJECT_LOC/ChibiOS-RT/os - - - 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 - -#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 - -#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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F4xx-FSMC_SRAM - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - org.eclipse.cdt.core.ccnature - - - - os-community - 2 - PARENT-4-PROJECT_LOC/os - - - os-git - 2 - PARENT-5-PROJECT_LOC/ChibiOS-RT/os - - - 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 - -#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 - -#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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F4xx-USB_HOST - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - 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 -/*-----------------------------------------------------------------------*/ -/* 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 -#include - -#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 - - - -#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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - STM32F4xx-onewire - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - org.eclipse.cdt.core.ccnature - - - - os-community - 2 - PARENT-4-PROJECT_LOC/os - - - os-git - 2 - PARENT-5-PROJECT_LOC/ChibiOS-RT/os - - - 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 - -#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 - -/* - ****************************************************************************** - * 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_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_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; isearch_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> 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - TM4C123x-EXT - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - board - 2 - CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD - - - community_os - 2 - CHIBIOS3/community/os - - - os - 2 - CHIBIOS3/os - - - test - 2 - CHIBIOS3/test - - - - - CHIBIOS3 - file:/C:/ChibiStudio/chibios3 - - - 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 @@ - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - TM4C123x-GPT - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - board - 2 - CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD - - - community_os - 2 - CHIBIOS3/community/os - - - os - 2 - CHIBIOS3/os - - - test - 2 - CHIBIOS3/test - - - - - CHIBIOS3 - file:/C:/ChibiStudio/chibios3 - - - 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 @@ - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - TM4C123x-I2C - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - board - 2 - CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD - - - os - 2 - CHIBIOS3/os - - - test - 2 - CHIBIOS3/test - - - - - CHIBIOS3 - file:/C:/ChibiStudio/chibios3 - - - 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 @@ - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - TM4C123x-PWM - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - board - 2 - CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD - - - community_os - 2 - CHIBIOS3/community/os - - - os - 2 - CHIBIOS3/os - - - test - 2 - CHIBIOS3/test - - - - - CHIBIOS3 - file:/C:/ChibiStudio/chibios3 - - - 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 @@ - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - TM4C123x-SPI - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - board - 2 - CHIBIOS3/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD - - - community_os - 2 - CHIBIOS3/community/os - - - os - 2 - CHIBIOS3/os - - - test - 2 - CHIBIOS3/test - - - - - CHIBIOS3 - file:/C:/ChibiStudio/chibios3 - - - 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 @@ - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - TM4C123x-WDG - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.autoBuildTarget - all - - - org.eclipse.cdt.make.core.buildArguments - -j1 - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.cleanBuildTarget - clean - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.fullBuildTarget - all - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - board - 2 - CHIBIOS/community/os/hal/boards/TI_TM4C123G_LAUNCHPAD - - - community_os - 2 - PARENT-1-CHIBIOS/ChibiOS-Contrib/os - - - os - 2 - CHIBIOS/os - - - - - CHIBIOS3 - file:/C:/ChibiStudio/chibios3 - - - 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 @@ - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 -- cgit v1.2.3