├── Doc
├── CAN Logger (manual).docx
├── CAN Logger (manual).pdf
├── Examples
│ ├── 2000-00-01T00-00-38Z.csv
│ └── Config.txt
└── Test
│ ├── Config.txt
│ ├── Original
│ ├── Log.trc
│ └── log.csv
│ ├── Postprocessed
│ ├── Log_.trc
│ ├── WinMerge.png
│ └── log_.csv
│ ├── Readme.txt
│ ├── postprocess_my.py
│ └── postprocess_pcan.py
├── Firmware
├── ChibiStudio
│ └── CAN-Logger
│ │ ├── .cproject
│ │ ├── .project
│ │ ├── Makefile
│ │ ├── board
│ │ ├── board.c
│ │ ├── board.h
│ │ └── board.mk
│ │ ├── chconf.h
│ │ ├── ffconf.h
│ │ ├── file_utils.c
│ │ ├── file_utils.h
│ │ ├── halconf.h
│ │ ├── main.c
│ │ ├── mcuconf.h
│ │ └── readme.md
└── IAR
│ ├── .gitignore
│ ├── README.md
│ ├── boards
│ └── ST_STM32F4_DISCOVERY
│ │ ├── board.c
│ │ ├── board.h
│ │ ├── board.mk
│ │ └── cfg
│ │ └── board.chcfg
│ ├── demos
│ └── ARMCM4-STM32F407-DISCOVERY
│ │ ├── .cproject
│ │ ├── .project
│ │ ├── Makefile
│ │ ├── chconf.h
│ │ ├── ffconf.h
│ │ ├── file_utils.c
│ │ ├── file_utils.h
│ │ ├── halconf.h
│ │ ├── halconf.h.bak
│ │ ├── iar
│ │ ├── ch.dep
│ │ ├── ch.ewd
│ │ ├── ch.ewp
│ │ ├── ch.eww
│ │ ├── ch.hex
│ │ └── ch.icf
│ │ ├── lwipopts.h
│ │ ├── main.c
│ │ ├── mcuconf.h
│ │ ├── mcuconf.h.bak
│ │ └── readme.txt
│ ├── ext
│ └── fatfs
│ │ └── src
│ │ ├── 00readme.txt
│ │ ├── diskio.h
│ │ ├── ff.c
│ │ ├── ff.h
│ │ ├── ffconf_template.h
│ │ ├── integer.h
│ │ └── option
│ │ ├── cc932.c
│ │ ├── cc936.c
│ │ ├── cc949.c
│ │ ├── cc950.c
│ │ └── ccsbcs.c
│ └── os
│ ├── hal
│ ├── dox
│ │ ├── adc.dox
│ │ ├── can.dox
│ │ ├── ext.dox
│ │ ├── gpt.dox
│ │ ├── hal.dox
│ │ ├── i2c.dox
│ │ ├── i2s.dox
│ │ ├── icu.dox
│ │ ├── io_block.dox
│ │ ├── io_channel.dox
│ │ ├── mac.dox
│ │ ├── mmc_spi.dox
│ │ ├── mmcsd.dox
│ │ ├── pal.dox
│ │ ├── pwm.dox
│ │ ├── rtc.dox
│ │ ├── sdc.dox
│ │ ├── serial.dox
│ │ ├── serial_usb.dox
│ │ ├── spi.dox
│ │ ├── tm.dox
│ │ ├── uart.dox
│ │ └── usb.dox
│ ├── hal.dox
│ ├── hal.mk
│ ├── include
│ │ ├── adc.h
│ │ ├── can.h
│ │ ├── ext.h
│ │ ├── gpt.h
│ │ ├── hal.h
│ │ ├── i2c.h
│ │ ├── icu.h
│ │ ├── io_block.h
│ │ ├── io_channel.h
│ │ ├── mac.h
│ │ ├── mii.h
│ │ ├── mmc_spi.h
│ │ ├── mmcsd.h
│ │ ├── pal.h
│ │ ├── pwm.h
│ │ ├── rtc.h
│ │ ├── sdc.h
│ │ ├── serial.h
│ │ ├── serial_usb.h
│ │ ├── spi.h
│ │ ├── tm.h
│ │ ├── uart.h
│ │ └── usb.h
│ ├── platforms
│ │ ├── AT91SAM7
│ │ │ ├── adc_lld.c
│ │ │ ├── adc_lld.h
│ │ │ ├── at91lib
│ │ │ │ ├── AT91SAM7A3.h
│ │ │ │ ├── AT91SAM7S128.h
│ │ │ │ ├── AT91SAM7S256.h
│ │ │ │ ├── AT91SAM7S512.h
│ │ │ │ ├── AT91SAM7S64.h
│ │ │ │ ├── AT91SAM7X128.h
│ │ │ │ ├── AT91SAM7X256.h
│ │ │ │ ├── AT91SAM7X512.h
│ │ │ │ ├── aic.c
│ │ │ │ └── aic.h
│ │ │ ├── at91sam7.h
│ │ │ ├── at91sam7_mii.c
│ │ │ ├── at91sam7_mii.h
│ │ │ ├── ext_lld.c
│ │ │ ├── ext_lld.h
│ │ │ ├── gpt_lld.c
│ │ │ ├── gpt_lld.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── i2c_lld.c
│ │ │ ├── i2c_lld.h
│ │ │ ├── mac_lld.c
│ │ │ ├── mac_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── pwm_lld.c
│ │ │ ├── pwm_lld.h
│ │ │ ├── serial_lld.c
│ │ │ ├── serial_lld.h
│ │ │ ├── spi_lld.c
│ │ │ └── spi_lld.h
│ │ ├── AVR
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── i2c_lld.c
│ │ │ ├── i2c_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ └── serial_lld.h
│ │ ├── LPC11Uxx
│ │ │ ├── LPC11Uxx.h
│ │ │ ├── ext_lld.c
│ │ │ ├── ext_lld.h
│ │ │ ├── ext_lld_isr.c
│ │ │ ├── ext_lld_isr.h
│ │ │ ├── gpt_lld.c
│ │ │ ├── gpt_lld.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ ├── serial_lld.h
│ │ │ ├── spi_lld.c
│ │ │ ├── spi_lld.h
│ │ │ └── system_LPC11Uxx.h
│ │ ├── LPC11xx
│ │ │ ├── LPC11xx.h
│ │ │ ├── gpt_lld.c
│ │ │ ├── gpt_lld.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ ├── serial_lld.h
│ │ │ ├── spi_lld.c
│ │ │ ├── spi_lld.h
│ │ │ └── system_LPC11xx.h
│ │ ├── LPC122x
│ │ │ ├── LPC122x.h
│ │ │ ├── gpt_lld.c
│ │ │ ├── gpt_lld.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ ├── serial_lld.h
│ │ │ ├── spi_lld.c
│ │ │ ├── spi_lld.h
│ │ │ └── system_LPC122x.h
│ │ ├── LPC13xx
│ │ │ ├── LPC13xx.h
│ │ │ ├── gpt_lld.c
│ │ │ ├── gpt_lld.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ ├── serial_lld.h
│ │ │ ├── spi_lld.c
│ │ │ ├── spi_lld.h
│ │ │ └── system_LPC13xx.h
│ │ ├── LPC214x
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── lpc214x.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ ├── serial_lld.h
│ │ │ ├── spi_lld.c
│ │ │ ├── spi_lld.h
│ │ │ ├── vic.c
│ │ │ └── vic.h
│ │ ├── LPC8xx
│ │ │ ├── LPC8xx.h
│ │ │ ├── ext_lld.c
│ │ │ ├── ext_lld.h
│ │ │ ├── ext_lld_isr.c
│ │ │ ├── ext_lld_isr.h
│ │ │ ├── gpt_lld.c
│ │ │ ├── gpt_lld.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ ├── serial_lld.h
│ │ │ ├── spi_lld.c
│ │ │ ├── spi_lld.h
│ │ │ └── system_LPC8xx.h
│ │ ├── MSP430
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ └── serial_lld.h
│ │ ├── Posix
│ │ │ ├── console.c
│ │ │ ├── console.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ └── serial_lld.h
│ │ ├── SPC560BCxx
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── spc560bc_registry.h
│ │ │ ├── typedefs.h
│ │ │ └── xpc560bc.h
│ │ ├── SPC560Pxx
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── spc560p_registry.h
│ │ │ ├── typedefs.h
│ │ │ └── xpc560p.h
│ │ ├── SPC563Mxx
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── spc563m_registry.h
│ │ │ ├── typedefs.h
│ │ │ └── xpc563m.h
│ │ ├── SPC564Axx
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── spc564a_registry.h
│ │ │ ├── typedefs.h
│ │ │ └── xpc564a.h
│ │ ├── SPC56ELxx
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── spc56el_registry.h
│ │ │ ├── typedefs.h
│ │ │ └── xpc56el.h
│ │ ├── SPC5xx
│ │ │ ├── EDMA_v1
│ │ │ │ ├── spc5_edma.c
│ │ │ │ └── spc5_edma.h
│ │ │ ├── EQADC_v1
│ │ │ │ ├── adc_lld.c
│ │ │ │ └── adc_lld.h
│ │ │ ├── ESCI_v1
│ │ │ │ ├── serial_lld.c
│ │ │ │ └── serial_lld.h
│ │ │ ├── FlexPWM_v1
│ │ │ │ ├── pwm_lld.c
│ │ │ │ ├── pwm_lld.h
│ │ │ │ └── spc5_flexpwm.h
│ │ │ ├── LINFlex_v1
│ │ │ │ ├── serial_lld.c
│ │ │ │ └── serial_lld.h
│ │ │ ├── SIUL_v1
│ │ │ │ ├── pal_lld.c
│ │ │ │ └── pal_lld.h
│ │ │ ├── SIU_v1
│ │ │ │ ├── pal_lld.c
│ │ │ │ └── pal_lld.h
│ │ │ └── eTimer_v1
│ │ │ │ ├── icu_lld.c
│ │ │ │ ├── icu_lld.h
│ │ │ │ └── spc5_etimer.h
│ │ ├── STM32
│ │ │ ├── GPIOv1
│ │ │ │ ├── pal_lld.c
│ │ │ │ └── pal_lld.h
│ │ │ ├── GPIOv2
│ │ │ │ ├── pal_lld.c
│ │ │ │ └── pal_lld.h
│ │ │ ├── I2Cv1
│ │ │ │ ├── i2c_lld.c
│ │ │ │ └── i2c_lld.h
│ │ │ ├── I2Cv2
│ │ │ │ ├── i2c_lld.c
│ │ │ │ └── i2c_lld.h
│ │ │ ├── OTGv1
│ │ │ │ ├── stm32_otg.h
│ │ │ │ ├── usb_lld.c
│ │ │ │ └── usb_lld.h
│ │ │ ├── RTCv1
│ │ │ │ ├── rtc_lld.c
│ │ │ │ └── rtc_lld.h
│ │ │ ├── RTCv2
│ │ │ │ ├── rtc_lld.c
│ │ │ │ └── rtc_lld.h
│ │ │ ├── SPIv1
│ │ │ │ ├── spi_lld.c
│ │ │ │ └── spi_lld.h
│ │ │ ├── SPIv2
│ │ │ │ ├── spi_lld.c
│ │ │ │ └── spi_lld.h
│ │ │ ├── TIMv1
│ │ │ │ ├── gpt_lld.c
│ │ │ │ ├── gpt_lld.h
│ │ │ │ ├── icu_lld.c
│ │ │ │ ├── icu_lld.h
│ │ │ │ ├── pwm_lld.c
│ │ │ │ ├── pwm_lld.h
│ │ │ │ └── stm32_tim.h
│ │ │ ├── USARTv1
│ │ │ │ ├── serial_lld.c
│ │ │ │ ├── serial_lld.h
│ │ │ │ ├── uart_lld.c
│ │ │ │ └── uart_lld.h
│ │ │ ├── USARTv2
│ │ │ │ ├── serial_lld.c
│ │ │ │ ├── serial_lld.h
│ │ │ │ ├── uart_lld.c
│ │ │ │ └── uart_lld.h
│ │ │ ├── USBv1
│ │ │ │ ├── stm32_usb.h
│ │ │ │ ├── usb_lld.c
│ │ │ │ └── usb_lld.h
│ │ │ ├── can_lld.c
│ │ │ ├── can_lld.h
│ │ │ ├── ext_lld.c
│ │ │ ├── ext_lld.h
│ │ │ ├── mac_lld.c
│ │ │ ├── mac_lld.h
│ │ │ ├── sdc_lld.c
│ │ │ ├── sdc_lld.h
│ │ │ └── stm32.h
│ │ ├── STM32F0xx
│ │ │ ├── adc_lld.c
│ │ │ ├── adc_lld.h
│ │ │ ├── ext_lld_isr.c
│ │ │ ├── ext_lld_isr.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── stm32_dma.c
│ │ │ ├── stm32_dma.h
│ │ │ ├── stm32_isr.h
│ │ │ ├── stm32_rcc.h
│ │ │ ├── stm32_registry.h
│ │ │ └── stm32f0xx.h
│ │ ├── STM32F1xx
│ │ │ ├── adc_lld.c
│ │ │ ├── adc_lld.h
│ │ │ ├── ext_lld_isr.c
│ │ │ ├── ext_lld_isr.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── hal_lld_f100.h
│ │ │ ├── hal_lld_f103.h
│ │ │ ├── hal_lld_f105_f107.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── platform_f105_f107.mk
│ │ │ ├── stm32_dma.c
│ │ │ ├── stm32_dma.h
│ │ │ ├── stm32_isr.h
│ │ │ ├── stm32_rcc.h
│ │ │ └── stm32f10x.h
│ │ ├── STM32F30x
│ │ │ ├── adc_lld.c
│ │ │ ├── adc_lld.h
│ │ │ ├── ext_lld_isr.c
│ │ │ ├── ext_lld_isr.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── stm32_dma.c
│ │ │ ├── stm32_dma.h
│ │ │ ├── stm32_isr.h
│ │ │ ├── stm32_rcc.h
│ │ │ ├── stm32_registry.h
│ │ │ └── stm32f30x.h
│ │ ├── STM32F37x
│ │ │ ├── adc_lld.c
│ │ │ ├── adc_lld.h
│ │ │ ├── ext_lld_isr.c
│ │ │ ├── ext_lld_isr.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── stm32_dma.c
│ │ │ ├── stm32_dma.h
│ │ │ ├── stm32_isr.h
│ │ │ ├── stm32_rcc.h
│ │ │ ├── stm32_registry.h
│ │ │ └── stm32f37x.h
│ │ ├── STM32F4xx
│ │ │ ├── adc_lld.c
│ │ │ ├── adc_lld.h
│ │ │ ├── ext_lld_isr.c
│ │ │ ├── ext_lld_isr.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── stm32_dma.c
│ │ │ ├── stm32_dma.h
│ │ │ ├── stm32_isr.h
│ │ │ ├── stm32_rcc.h
│ │ │ ├── stm32f2xx.h
│ │ │ └── stm32f4xx.h
│ │ ├── STM32L1xx
│ │ │ ├── adc_lld.c
│ │ │ ├── adc_lld.h
│ │ │ ├── ext_lld_isr.c
│ │ │ ├── ext_lld_isr.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── platform.dox
│ │ │ ├── platform.mk
│ │ │ ├── stm32_dma.c
│ │ │ ├── stm32_dma.h
│ │ │ ├── stm32_isr.h
│ │ │ ├── stm32_rcc.h
│ │ │ ├── stm32_registry.h
│ │ │ └── stm32l1xx.h
│ │ ├── Win32
│ │ │ ├── console.c
│ │ │ ├── console.h
│ │ │ ├── hal_lld.c
│ │ │ ├── hal_lld.h
│ │ │ ├── pal_lld.c
│ │ │ ├── pal_lld.h
│ │ │ ├── platform.mk
│ │ │ ├── serial_lld.c
│ │ │ └── serial_lld.h
│ │ └── platforms.dox
│ ├── src
│ │ ├── adc.c
│ │ ├── can.c
│ │ ├── ext.c
│ │ ├── gpt.c
│ │ ├── hal.c
│ │ ├── i2c.c
│ │ ├── icu.c
│ │ ├── mac.c
│ │ ├── mmc_spi.c
│ │ ├── mmcsd.c
│ │ ├── pal.c
│ │ ├── pwm.c
│ │ ├── rtc.c
│ │ ├── sdc.c
│ │ ├── serial.c
│ │ ├── serial_usb.c
│ │ ├── spi.c
│ │ ├── tm.c
│ │ ├── uart.c
│ │ └── usb.c
│ └── templates
│ │ ├── adc_lld.c
│ │ ├── adc_lld.h
│ │ ├── can_lld.c
│ │ ├── can_lld.h
│ │ ├── ext_lld.c
│ │ ├── ext_lld.h
│ │ ├── gpt_lld.c
│ │ ├── gpt_lld.h
│ │ ├── hal_lld.c
│ │ ├── hal_lld.h
│ │ ├── halconf.h
│ │ ├── i2c_lld.c
│ │ ├── i2c_lld.h
│ │ ├── icu_lld.c
│ │ ├── icu_lld.h
│ │ ├── mac_lld.c
│ │ ├── mac_lld.h
│ │ ├── mcuconf.h
│ │ ├── meta
│ │ ├── driver.c
│ │ ├── driver.h
│ │ ├── driver_lld.c
│ │ └── driver_lld.h
│ │ ├── pal_lld.c
│ │ ├── pal_lld.h
│ │ ├── platform.mk
│ │ ├── pwm_lld.c
│ │ ├── pwm_lld.h
│ │ ├── sdc_lld.c
│ │ ├── sdc_lld.h
│ │ ├── serial_lld.c
│ │ ├── serial_lld.h
│ │ ├── spi_lld.c
│ │ ├── spi_lld.h
│ │ ├── uart_lld.c
│ │ ├── uart_lld.h
│ │ ├── usb_lld.c
│ │ └── usb_lld.h
│ ├── kernel
│ ├── include
│ │ ├── ch.h
│ │ ├── chbsem.h
│ │ ├── chcond.h
│ │ ├── chdebug.h
│ │ ├── chdynamic.h
│ │ ├── chevents.h
│ │ ├── chfiles.h
│ │ ├── chheap.h
│ │ ├── chinline.h
│ │ ├── chlists.h
│ │ ├── chmboxes.h
│ │ ├── chmemcore.h
│ │ ├── chmempools.h
│ │ ├── chmsg.h
│ │ ├── chmtx.h
│ │ ├── chqueues.h
│ │ ├── chregistry.h
│ │ ├── chschd.h
│ │ ├── chsem.h
│ │ ├── chstreams.h
│ │ ├── chsys.h
│ │ ├── chthreads.h
│ │ └── chvt.h
│ ├── kernel.dox
│ ├── kernel.mk
│ ├── src
│ │ ├── chcond.c
│ │ ├── chdebug.c
│ │ ├── chdynamic.c
│ │ ├── chevents.c
│ │ ├── chheap.c
│ │ ├── chlists.c
│ │ ├── chmboxes.c
│ │ ├── chmemcore.c
│ │ ├── chmempools.c
│ │ ├── chmsg.c
│ │ ├── chmtx.c
│ │ ├── chqueues.c
│ │ ├── chregistry.c
│ │ ├── chschd.c
│ │ ├── chsem.c
│ │ ├── chsys.c
│ │ ├── chthreads.c
│ │ └── chvt.c
│ └── templates
│ │ ├── chconf.h
│ │ ├── chcore.c
│ │ ├── chcore.h
│ │ └── chtypes.h
│ ├── ports
│ ├── GCC
│ │ ├── ARM
│ │ │ ├── AT91SAM7
│ │ │ │ ├── armparams.h
│ │ │ │ ├── ld
│ │ │ │ │ ├── AT91SAM7A3.ld
│ │ │ │ │ ├── AT91SAM7S256.ld
│ │ │ │ │ └── AT91SAM7X256.ld
│ │ │ │ ├── port.mk
│ │ │ │ ├── vectors.s
│ │ │ │ └── wfi.h
│ │ │ ├── LPC214x
│ │ │ │ ├── armparams.h
│ │ │ │ ├── ld
│ │ │ │ │ └── LPC2148.ld
│ │ │ │ ├── port.mk
│ │ │ │ ├── vectors.s
│ │ │ │ └── wfi.h
│ │ │ ├── chcore.c
│ │ │ ├── chcore.h
│ │ │ ├── chcoreasm.s
│ │ │ ├── chtypes.h
│ │ │ ├── crt0.s
│ │ │ ├── port.dox
│ │ │ └── rules.mk
│ │ ├── ARMCMx
│ │ │ ├── LPC11xx
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ ├── LPC1114.ld
│ │ │ │ │ └── LPC11U14.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── LPC122x
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ └── LPC1227.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── LPC13xx
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ └── LPC1343.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── LPC8xx
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ └── LPC812.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── SAM4L
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ └── ATSAM4LC4C.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── STM32F0xx
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ ├── STM32F030x8.ld
│ │ │ │ │ └── STM32F051x8.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── STM32F1xx
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ ├── STM32F100xB.ld
│ │ │ │ │ ├── STM32F103xB.ld
│ │ │ │ │ ├── STM32F103xD.ld
│ │ │ │ │ ├── STM32F103xE.ld
│ │ │ │ │ ├── STM32F103xG.ld
│ │ │ │ │ └── STM32F107xC.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── STM32F2xx
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ ├── STM32F205xB.ld
│ │ │ │ │ └── STM32F207xG.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── STM32F3xx
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ ├── STM32F303xC.ld
│ │ │ │ │ └── STM32F373xC.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── STM32F4xx
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ ├── STM32F401xC.ld
│ │ │ │ │ ├── STM32F401xE.ld
│ │ │ │ │ ├── STM32F405xG.ld
│ │ │ │ │ ├── STM32F407xG.ld
│ │ │ │ │ ├── STM32F407xG_CCM.ld
│ │ │ │ │ └── STM32F429xI.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── STM32L1xx
│ │ │ │ ├── cmparams.h
│ │ │ │ ├── ld
│ │ │ │ │ ├── STM32L152xB.ld
│ │ │ │ │ └── STM32L152xE.ld
│ │ │ │ ├── port.mk
│ │ │ │ └── vectors.c
│ │ │ ├── chcore.c
│ │ │ ├── chcore.h
│ │ │ ├── chcore_v6m.c
│ │ │ ├── chcore_v6m.h
│ │ │ ├── chcore_v7m.c
│ │ │ ├── chcore_v7m.h
│ │ │ ├── chtypes.h
│ │ │ ├── crt0.c
│ │ │ ├── port.dox
│ │ │ └── rules.mk
│ │ ├── AVR
│ │ │ ├── chcore.c
│ │ │ ├── chcore.h
│ │ │ ├── chtypes.h
│ │ │ ├── port.dox
│ │ │ └── port.mk
│ │ ├── MSP430
│ │ │ ├── chcore.h
│ │ │ ├── chcoreasm.s
│ │ │ ├── chtypes.h
│ │ │ ├── port.dox
│ │ │ ├── port.mk
│ │ │ └── rules.mk
│ │ ├── PPC
│ │ │ ├── SPC560BCxx
│ │ │ │ ├── bam.s
│ │ │ │ ├── core.s
│ │ │ │ ├── ld
│ │ │ │ │ ├── SPC560B44.ld
│ │ │ │ │ └── SPC560B50.ld
│ │ │ │ ├── port.mk
│ │ │ │ ├── ppcparams.h
│ │ │ │ ├── vectors.h
│ │ │ │ └── vectors.s
│ │ │ ├── SPC560Bxx
│ │ │ │ ├── bam.s
│ │ │ │ ├── core.s
│ │ │ │ ├── ld
│ │ │ │ │ └── SPC560B64.ld
│ │ │ │ ├── port.mk
│ │ │ │ ├── ppcparams.h
│ │ │ │ ├── vectors.h
│ │ │ │ └── vectors.s
│ │ │ ├── SPC560Dxx
│ │ │ │ ├── bam.s
│ │ │ │ ├── core.s
│ │ │ │ ├── ld
│ │ │ │ │ ├── SPC560D30.ld
│ │ │ │ │ └── SPC560D40.ld
│ │ │ │ ├── port.mk
│ │ │ │ ├── ppcparams.h
│ │ │ │ ├── vectors.h
│ │ │ │ └── vectors.s
│ │ │ ├── SPC560Pxx
│ │ │ │ ├── bam.s
│ │ │ │ ├── core.s
│ │ │ │ ├── ld
│ │ │ │ │ ├── SPC560P44.ld
│ │ │ │ │ └── SPC560P50.ld
│ │ │ │ ├── port.mk
│ │ │ │ ├── ppcparams.h
│ │ │ │ ├── vectors.h
│ │ │ │ └── vectors.s
│ │ │ ├── SPC563Mxx
│ │ │ │ ├── bam.s
│ │ │ │ ├── core.s
│ │ │ │ ├── ld
│ │ │ │ │ └── SPC563M64.ld
│ │ │ │ ├── port.mk
│ │ │ │ ├── ppcparams.h
│ │ │ │ ├── vectors.h
│ │ │ │ └── vectors.s
│ │ │ ├── SPC564Axx
│ │ │ │ ├── bam.s
│ │ │ │ ├── core.s
│ │ │ │ ├── ld
│ │ │ │ │ ├── SPC564A70.ld
│ │ │ │ │ └── SPC564A80.ld
│ │ │ │ ├── port.mk
│ │ │ │ ├── ppcparams.h
│ │ │ │ ├── vectors.h
│ │ │ │ └── vectors.s
│ │ │ ├── SPC56ECxx
│ │ │ │ ├── ppcparams.h
│ │ │ │ ├── vectors.h
│ │ │ │ └── vectors.s
│ │ │ ├── SPC56ELxx
│ │ │ │ ├── bam.s
│ │ │ │ ├── core.s
│ │ │ │ ├── ld
│ │ │ │ │ ├── SPC56EL54_LSM.ld
│ │ │ │ │ ├── SPC56EL60_LSM.ld
│ │ │ │ │ └── SPC56EL70_LSM.ld
│ │ │ │ ├── port.mk
│ │ │ │ ├── ppcparams.h
│ │ │ │ ├── vectors.h
│ │ │ │ └── vectors.s
│ │ │ ├── chcore.c
│ │ │ ├── chcore.h
│ │ │ ├── chtypes.h
│ │ │ ├── crt0.s
│ │ │ ├── ivor.s
│ │ │ ├── port.dox
│ │ │ └── rules.mk
│ │ └── SIMIA32
│ │ │ ├── chcore.c
│ │ │ ├── chcore.h
│ │ │ ├── chtypes.h
│ │ │ └── port.mk
│ ├── IAR
│ │ └── ARMCMx
│ │ │ ├── LPC11xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── LPC13xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── STM32F1xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── STM32F4xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── STM32L1xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── chcore.c
│ │ │ ├── chcore.h
│ │ │ ├── chcore_v6m.c
│ │ │ ├── chcore_v6m.h
│ │ │ ├── chcore_v7m.c
│ │ │ ├── chcore_v7m.h
│ │ │ ├── chcoreasm_v6m.s
│ │ │ ├── chcoreasm_v7m.s
│ │ │ ├── chtypes.h
│ │ │ ├── cstartup.s
│ │ │ └── port.dox
│ ├── RVCT
│ │ └── ARMCMx
│ │ │ ├── LPC11xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── LPC13xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── STM32F1xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── STM32F4xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── STM32L1xx
│ │ │ ├── cmparams.h
│ │ │ └── vectors.s
│ │ │ ├── chcore.c
│ │ │ ├── chcore.h
│ │ │ ├── chcore_v6m.c
│ │ │ ├── chcore_v6m.h
│ │ │ ├── chcore_v7m.c
│ │ │ ├── chcore_v7m.h
│ │ │ ├── chcoreasm_v6m.s
│ │ │ ├── chcoreasm_v7m.s
│ │ │ ├── chtypes.h
│ │ │ ├── cstartup.s
│ │ │ └── port.dox
│ ├── common
│ │ └── ARMCMx
│ │ │ ├── CMSIS
│ │ │ ├── include
│ │ │ │ ├── arm_common_tables.h
│ │ │ │ ├── arm_math.h
│ │ │ │ ├── core_cm0.h
│ │ │ │ ├── core_cm0plus.h
│ │ │ │ ├── core_cm3.h
│ │ │ │ ├── core_cm4.h
│ │ │ │ ├── core_cm4_simd.h
│ │ │ │ ├── core_cmFunc.h
│ │ │ │ └── core_cmInstr.h
│ │ │ └── readme.txt
│ │ │ ├── nvic.c
│ │ │ ├── nvic.h
│ │ │ └── port.dox
│ └── ports.dox
│ └── various
│ ├── chprintf.c
│ ├── chprintf.h
│ ├── chrtclib.c
│ ├── chrtclib.h
│ ├── cpp_wrappers
│ ├── ch.cpp
│ ├── ch.hpp
│ └── kernel.mk
│ ├── devices_lib
│ └── accel
│ │ ├── lis302dl.c
│ │ ├── lis302dl.dox
│ │ └── lis302dl.h
│ ├── evtimer.c
│ ├── evtimer.h
│ ├── fatfs_bindings
│ ├── fatfs.mk
│ ├── fatfs_diskio.c
│ ├── fatfs_syscall.c
│ └── readme.txt
│ ├── lwip_bindings
│ ├── arch
│ │ ├── cc.h
│ │ ├── perf.h
│ │ ├── sys_arch.c
│ │ └── sys_arch.h
│ ├── lwip.mk
│ ├── lwipthread.c
│ ├── lwipthread.h
│ └── readme.txt
│ ├── memstreams.c
│ ├── memstreams.h
│ ├── shell.c
│ ├── shell.h
│ ├── syscalls.c
│ └── various.dox
├── Hardware
├── CAN_Logger.brd
├── CAN_Logger.pdf
├── CAN_Logger.sch
└── Gerber
│ ├── CANLogger_Gerber_PCBway.zip
│ ├── CAN_Logger.GBL
│ ├── CAN_Logger.GBO
│ ├── CAN_Logger.GBP
│ ├── CAN_Logger.GBS
│ ├── CAN_Logger.GML
│ ├── CAN_Logger.GTL
│ ├── CAN_Logger.GTO
│ ├── CAN_Logger.GTP
│ ├── CAN_Logger.GTS
│ ├── CAN_Logger.TXT
│ ├── CAN_Logger.dri
│ └── CAN_Logger.gpi
├── LICENSE
└── Readme.md
/Doc/CAN Logger (manual).docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Doc/CAN Logger (manual).docx
--------------------------------------------------------------------------------
/Doc/CAN Logger (manual).pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Doc/CAN Logger (manual).pdf
--------------------------------------------------------------------------------
/Doc/Examples/Config.txt:
--------------------------------------------------------------------------------
1 | baud 1000
2 | ack_en 1
3 | id_filter_mask 0
4 | id_filter_value 10
5 | log_std 1
6 | log_ext 1
7 | timestamp 1
--------------------------------------------------------------------------------
/Doc/Test/Config.txt:
--------------------------------------------------------------------------------
1 | baud 500
2 | ack_en 0
3 | id_filter_mask 0
4 | id_filter_value 0
5 | log_std 1
6 | log_ext 1
7 | timestamp 1
8 |
--------------------------------------------------------------------------------
/Doc/Test/Postprocessed/WinMerge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Doc/Test/Postprocessed/WinMerge.png
--------------------------------------------------------------------------------
/Doc/Test/Readme.txt:
--------------------------------------------------------------------------------
1 | This is use case data for OBD-II diagnostic bus logging.
2 | In parallel to the device the PCAN-USB Adapter (by PACN / Grid Connect) was connected and logging performed using PcanView software. Logging to SD card was started first, so there is portion of data at the beginning which is absent in PCAN log.
3 | Then both logs were post-processed and compared with WinMerge. You can check the screenshot WinMerge.png of comparision.
4 | No difference has been found.
5 | The 'Config.txt' file used to configure logger device included.
6 |
7 |
--------------------------------------------------------------------------------
/Doc/Test/postprocess_my.py:
--------------------------------------------------------------------------------
1 | f_in = open('log.csv', 'r')
2 | f_out = open('log_.csv', 'w')
3 |
4 | for line in f_in:
5 | index = line.index(',')
6 | str = line[index+1:len(line)]
7 | index = str.index(',')
8 | id = str[0:index]
9 | if len(id) == 1:
10 | padding = '000'
11 | if len(id) == 2:
12 | padding = '00'
13 | if len(id) == 3:
14 | padding = '0'
15 |
16 | f_out.writelines(padding + str)
17 |
18 | f_in.close()
19 | f_out.close()
20 |
--------------------------------------------------------------------------------
/Doc/Test/postprocess_pcan.py:
--------------------------------------------------------------------------------
1 | f_in = open('Log.trc', 'r')
2 | f_out = open('Log_.trc', 'w')
3 |
4 | for line in f_in:
5 | id = line[32:32+4]
6 | str = line[41:len(line)-2]
7 | f_out.writelines(id + ' ' + str+'\n')
8 |
9 | f_in.close()
10 | f_out.close()
11 |
--------------------------------------------------------------------------------
/Firmware/ChibiStudio/CAN-Logger/board/board.mk:
--------------------------------------------------------------------------------
1 | # List of all the board related files.
2 | BOARDSRC = board/board.c
3 |
4 | # Required include directories
5 | BOARDINC = board
6 |
--------------------------------------------------------------------------------
/Firmware/ChibiStudio/CAN-Logger/file_utils.c:
--------------------------------------------------------------------------------
1 | /*===========================================================================*/
2 | // functions to convert the FatFs functions to C standard routines
3 |
4 | #include "ch.h"
5 | #include "hal.h"
6 |
7 | #include "ff.h"
8 |
9 | extern FATFS SDC_FS;
10 | //static SDCDriver SDCD1;
11 |
12 | static FIL file_sdc;
13 | static FRESULT fres; // error code for fatfs calls
14 | //extern bool_t fs_ready;
15 |
16 | FIL * fopen_( const char * fileName, const char *mode )
17 | {
18 | BYTE attr = FA_READ;
19 | FIL* File = &file_sdc;
20 |
21 | if (mode[0] == 'a')
22 | {
23 | fres = f_open(File, fileName, FA_WRITE | FA_OPEN_EXISTING );
24 | if (fres != FR_OK)
25 | {
26 | // file does not exist, create it
27 | fres = f_open(File, fileName, FA_WRITE | FA_OPEN_ALWAYS );
28 | }
29 | else
30 | {
31 | // rewind file to end for append write
32 | fres = f_lseek(File, f_size(File));
33 | }
34 | }
35 | else
36 | {
37 | // determine attributes to open file
38 | if (mode[0] == 'r')
39 | attr = FA_READ;
40 | else
41 | if (mode[0] == 'w')
42 | attr = FA_WRITE | FA_OPEN_ALWAYS;
43 |
44 | fres = f_open(File, fileName, attr);
45 | }
46 |
47 | // if file opened -- return pointer to local variable
48 | if (fres == FR_OK)
49 | return File;
50 | else
51 | return 0;
52 | }
53 |
54 | int fclose_(FIL *fo)
55 | {
56 | //TODO: f_sync ?
57 |
58 | if (f_close(fo) == FR_OK)
59 | return 0;
60 | else
61 | return EOF;
62 | }
63 |
64 | size_t fwrite_(const void *data_to_write, size_t size, size_t n, FIL *stream)
65 | {
66 | UINT data_written;
67 |
68 | fres = f_write(stream, data_to_write, size*n, &data_written);
69 | if (fres != FR_OK) return 0;
70 |
71 | return data_written;
72 | }
73 |
74 | size_t fread_(void *ptr, size_t size, size_t n, FIL *stream)
75 | {
76 | UINT data_written;
77 |
78 | fres = f_read(stream, ptr, size*n, &data_written);
79 | if (fres != FR_OK) return 0;
80 |
81 | return data_written;
82 | }
83 |
84 | int finit_(void)
85 | {
86 | /*
87 | * Activates the SDC driver 1 using default configuration.
88 | */
89 |
90 |
91 | return TRUE;
92 | }
93 |
94 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/Firmware/ChibiStudio/CAN-Logger/file_utils.h:
--------------------------------------------------------------------------------
1 | FIL * fopen_( const char * fileName, const char *mode );
2 | int fclose_(FIL *fo);
3 | size_t fwrite_(const void *data_to_write, size_t size, size_t n, FIL *stream);
4 | size_t fread_(void *ptr, size_t size, size_t n, FIL *stream);
5 | int finit_(void);
6 | #define feof_(stream) f_eof(stream)
--------------------------------------------------------------------------------
/Firmware/ChibiStudio/CAN-Logger/readme.md:
--------------------------------------------------------------------------------
1 | How to build:
2 | - download and install ChibiStudio_Preview17
3 | - place project to [ChibiStudio]\chibios161\demos\STM32
4 | - launch "Chibi Studio GCC 4.9"
5 | - File>Import, select General>Existing Projects into Workspace, click Next
6 | - Select root directory, Browse... point to project folder [ChibiStudio]\chibios161\demos\STM32
7 | - check CAN-Logger, click Finish
8 | - wait a little bit until Eclipse recognizes the project
9 | - right click: Build project
--------------------------------------------------------------------------------
/Firmware/IAR/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.o
3 | .o.d
4 | *.d
5 | *.crf
6 | *.log
7 | .DS_Store
8 | build
9 | dist
10 | disassembly
11 | output
12 | Debug
13 | funclist
14 | *.exe
15 | *.vpj
16 | *.vpw
17 | *.vpwhist
18 | *.vtg
19 | private
20 | *.mk
21 | *.bash
22 | *.properties
23 | *.tmp
24 | obj
25 | lst
26 | DebugConfig
27 | settings
28 |
--------------------------------------------------------------------------------
/Firmware/IAR/README.md:
--------------------------------------------------------------------------------
1 | This is project for IAR 6.50.3.4757 based on ChibiOS 2.6.7 RTOS for CAN bus logger
--------------------------------------------------------------------------------
/Firmware/IAR/boards/ST_STM32F4_DISCOVERY/board.mk:
--------------------------------------------------------------------------------
1 | # List of all the board related files.
2 | BOARDSRC = boards/ST_STM32F4_DISCOVERY/board.c
3 |
4 | # Required include directories
5 | BOARDINC = boards/ST_STM32F4_DISCOVERY
6 |
--------------------------------------------------------------------------------
/Firmware/IAR/demos/ARMCM4-STM32F407-DISCOVERY/file_utils.c:
--------------------------------------------------------------------------------
1 | /*===========================================================================*/
2 | // functions to convert the FatFs functions to C standard routines
3 |
4 | #include "ch.h"
5 | #include "hal.h"
6 |
7 | #include "ff.h"
8 |
9 | extern FATFS SDC_FS;
10 | static SDCDriver SDCD1;
11 |
12 | static FIL file_sdc;
13 | static FRESULT fres; // error code for fatfs calls
14 | extern bool_t fs_ready;
15 |
16 | FIL * fopen_( const char * fileName, const char *mode )
17 | {
18 | BYTE attr = FA_READ;
19 | FIL* File = &file_sdc;
20 |
21 | if (mode[0] == 'a')
22 | {
23 | fres = f_open(File, fileName, FA_WRITE | FA_OPEN_EXISTING );
24 | if (fres != FR_OK)
25 | {
26 | // file does not exist, create it
27 | fres = f_open(File, fileName, FA_WRITE | FA_OPEN_ALWAYS );
28 | }
29 | else
30 | {
31 | // rewind file to end for append write
32 | fres = f_lseek(File, f_size(File));
33 | }
34 | }
35 | else
36 | {
37 | // determine attributes to open file
38 | if (mode[0] == 'r')
39 | attr = FA_READ;
40 | else
41 | if (mode[0] == 'w')
42 | attr = FA_WRITE | FA_OPEN_ALWAYS;
43 |
44 | fres = f_open(File, fileName, attr);
45 | }
46 |
47 | // if file opened -- return pointer to local variable
48 | if (fres == FR_OK)
49 | return File;
50 | else
51 | return 0;
52 | }
53 |
54 | int fclose_(FIL *fo)
55 | {
56 | //TODO: f_sync ?
57 |
58 | if (f_close(fo) == FR_OK)
59 | return 0;
60 | else
61 | return EOF;
62 | }
63 |
64 | size_t fwrite_(const void *data_to_write, size_t size, size_t n, FIL *stream)
65 | {
66 | UINT data_written;
67 |
68 | fres = f_write(stream, data_to_write, size*n, &data_written);
69 | if (fres != FR_OK) return 0;
70 |
71 | return data_written;
72 | }
73 |
74 | size_t fread_(void *ptr, size_t size, size_t n, FIL *stream)
75 | {
76 | UINT data_written;
77 |
78 | fres = f_read(stream, ptr, size*n, &data_written);
79 | if (fres != FR_OK) return 0;
80 |
81 | return data_written;
82 | }
83 |
84 | int finit_(void)
85 | {
86 | /*
87 | * Activates the SDC driver 1 using default configuration.
88 | */
89 |
90 |
91 | return TRUE;
92 | }
93 |
94 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/Firmware/IAR/demos/ARMCM4-STM32F407-DISCOVERY/file_utils.h:
--------------------------------------------------------------------------------
1 | FIL * fopen_( const char * fileName, const char *mode );
2 | int fclose_(FIL *fo);
3 | size_t fwrite_(const void *data_to_write, size_t size, size_t n, FIL *stream);
4 | size_t fread_(void *ptr, size_t size, size_t n, FIL *stream);
5 | int finit_(void);
6 | #define feof_(stream) f_eof(stream)
--------------------------------------------------------------------------------
/Firmware/IAR/demos/ARMCM4-STM32F407-DISCOVERY/iar/ch.eww:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | $WS_DIR$\ch.ewp
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Firmware/IAR/demos/ARMCM4-STM32F407-DISCOVERY/iar/ch.icf:
--------------------------------------------------------------------------------
1 | /*###ICF### Section handled by ICF editor, don't touch! ****/
2 | /*-Editor annotation file-*/
3 | /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4 | /*-Specials-*/
5 | define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6 | /*-Memory Regions-*/
7 | define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
8 | define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF;
9 | define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10 | define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
11 | /*-Sizes-*/
12 | define symbol __ICFEDIT_size_cstack__ = 0x400;
13 | define symbol __ICFEDIT_size_heap__ = 0x400;
14 | /**** End of ICF editor section. ###ICF###*/
15 |
16 | /* Size of the IRQ Stack (Main Stack).*/
17 | define symbol __ICFEDIT_size_irqstack__ = 0x400;
18 |
19 | define memory mem with size = 4G;
20 | define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
21 | define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
22 |
23 | define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ {section CSTACK};
24 | define block IRQSTACK with alignment = 8, size = __ICFEDIT_size_irqstack__ {};
25 | define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ {};
26 | define block SYSHEAP with alignment = 8 {section SYSHEAP};
27 | define block DATABSS with alignment = 8 {readwrite, zeroinit};
28 |
29 | initialize by copy { readwrite };
30 | do not initialize { section .noinit };
31 |
32 | keep { section .intvec };
33 |
34 | place at address mem:__ICFEDIT_intvec_start__ {section .intvec};
35 | place in ROM_region {readonly};
36 | place at start of RAM_region {block IRQSTACK};
37 | place in RAM_region {block DATABSS, block HEAP};
38 | place in RAM_region {block SYSHEAP};
39 | place at end of RAM_region {block CSTACK};
40 |
--------------------------------------------------------------------------------
/Firmware/IAR/demos/ARMCM4-STM32F407-DISCOVERY/readme.txt:
--------------------------------------------------------------------------------
1 | *****************************************************************************
2 | ** ChibiOS/RT port for ARM-Cortex-M4 STM32F407. **
3 | *****************************************************************************
4 |
5 | ** TARGET **
6 |
7 | The demo runs on an ST STM32F4-Discovery board.
8 |
9 | ** The Demo **
10 |
11 | The demo shows how to use the ADC, PWM and SPI drivers using asynchronous
12 | APIs. The ADC samples two channels (temperature sensor and PC1) and modulates
13 | the PWM using the sampled values. The sample data is also transmitted using
14 | the SPI port 2 (NSS=PB12, SCK=PB13, MISO=PB14, MOSI=PB15).
15 | By pressing the button located on the board the test procedure is activated
16 | with output on the serial port SD2 (USART2).
17 |
18 | ** Build Procedure **
19 |
20 | The demo has been tested by using the free Codesourcery GCC-based toolchain
21 | and YAGARTO. just modify the TRGT line in the makefile in order to use
22 | different GCC toolchains.
23 |
24 | ** Notes **
25 |
26 | Some files used by the demo are not part of ChibiOS/RT but are copyright of
27 | ST Microelectronics and are licensed under a different license.
28 | Also note that not all the files present in the ST library are distributed
29 | with ChibiOS/RT, you can find the whole library on the ST web site:
30 |
31 | http://www.st.com
32 |
--------------------------------------------------------------------------------
/Firmware/IAR/ext/fatfs/src/integer.h:
--------------------------------------------------------------------------------
1 | /*-------------------------------------------*/
2 | /* Integer type definitions for FatFs module */
3 | /*-------------------------------------------*/
4 |
5 | #ifndef _INTEGER
6 | #define _INTEGER
7 |
8 | #ifdef _WIN32 /* FatFs development platform */
9 |
10 | #include
11 | #include
12 |
13 | #else /* Embedded platform */
14 |
15 | /* These types must be 16-bit, 32-bit or larger integer */
16 | typedef int INT;
17 | typedef unsigned int UINT;
18 |
19 | /* These types must be 8-bit integer */
20 | typedef char CHAR;
21 | typedef unsigned char UCHAR;
22 | typedef unsigned char BYTE;
23 |
24 | /* These types must be 16-bit integer */
25 | typedef short SHORT;
26 | typedef unsigned short USHORT;
27 | typedef unsigned short WORD;
28 | typedef unsigned short WCHAR;
29 |
30 | /* These types must be 32-bit integer */
31 | typedef long LONG;
32 | typedef unsigned long ULONG;
33 | typedef unsigned long DWORD;
34 |
35 | #endif
36 |
37 | #endif
38 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/dox/hal.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup HAL HAL Driver
30 | * @brief Hardware Abstraction Layer.
31 | * @details The HAL (Hardware Abstraction Layer) driver performs the system
32 | * initialization and includes the platform support code shared by
33 | * the other drivers. This driver does contain any API function
34 | * except for a general initialization function @p halInit() that
35 | * must be invoked before any HAL service can be used, usually the
36 | * HAL initialization should be performed immediately before the
37 | * kernel initialization.
38 | * Some HAL driver implementations also offer a custom early clock
39 | * setup function that can be invoked before the C runtime
40 | * initialization in order to accelerate the startup time.
41 | *
42 | * @ingroup IO
43 | */
44 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/dox/i2s.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup I2S I2S Driver
30 | * @brief Generic I2S Driver.
31 | * @details This module implements a generic I2S driver.
32 | * @pre In order to use the I2S driver the @p HAL_USE_I2S option
33 | * must be enabled in @p halconf.h.
34 | *
35 | * @section i2s_1 Driver State Machine
36 | *
37 | * @ingroup IO
38 | */
39 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/dox/io_channel.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup IO_CHANNEL Abstract I/O Channel
30 | * @ingroup IO
31 | */
32 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/dox/mac.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup MAC MAC Driver
30 | * @brief Generic MAC driver.
31 | * @details This module implements a generic MAC (Media Access Control)
32 | * driver for Ethernet controllers.
33 | * @pre In order to use the MAC driver the @p HAL_USE_MAC option
34 | * must be enabled in @p halconf.h.
35 | *
36 | * @ingroup IO
37 | */
38 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/dox/mmc_spi.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup MMC_SPI MMC over SPI Driver
30 | * @brief Generic MMC driver.
31 | * @details This module implements a portable MMC/SD driver that uses a SPI
32 | * driver as physical layer. Hot plugging and removal are supported
33 | * through kernel events.
34 | * @pre In order to use the MMC_SPI driver the @p HAL_USE_MMC_SPI and
35 | * @p HAL_USE_SPI options must be enabled in @p halconf.h.
36 | *
37 | * @section mmc_spi_1 Driver State Machine
38 | * This driver implements a state machine internally, see the @ref IO_BLOCK
39 | * module documentation for details.
40 | *
41 | * @section mmc_spi_2 Driver Operations
42 | * This driver allows to read or write single or multiple 512 bytes blocks
43 | * on a SD Card.
44 | *
45 | * @ingroup IO
46 | */
47 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/dox/mmcsd.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup MMCSD MMC/SD Block Device
30 | * @details This module implements a common ancestor for all device drivers
31 | * accessing MMC or SD cards. This interface inherits the state
32 | * machine and the interface from the @ref IO_BLOCK module.
33 | *
34 | * @ingroup IO
35 | */
36 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/dox/rtc.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup RTC RTC Driver
30 | * @brief Real Time Clock Abstraction Layer
31 | * @details This module defines an abstract interface for a Real Time Clock
32 | * Peripheral.
33 | * @pre In order to use the RTC driver the @p HAL_USE_RTC option
34 | * must be enabled in @p halconf.h.
35 | *
36 | * @ingroup IO
37 | */
38 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/dox/sdc.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup SDC SDC Driver
30 | * @brief Generic SD Card Driver.
31 | * @details This module implements a generic SDC (Secure Digital Card) driver.
32 | * @pre In order to use the SDC driver the @p HAL_USE_SDC option
33 | * must be enabled in @p halconf.h.
34 | *
35 | * @section sdc_1 Driver State Machine
36 | * This driver implements a state machine internally, see the @ref IO_BLOCK
37 | * module documentation for details.
38 | *
39 | * @section sdc_2 Driver Operations
40 | * This driver allows to read or write single or multiple 512 bytes blocks
41 | * on a SD Card.
42 | *
43 | * @ingroup IO
44 | */
45 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/dox/tm.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup TM Time Measurement Driver
30 | *
31 | * @brief Time Measurement unit.
32 | * @details This module implements a time measurement mechanism able to
33 | * monitor a portion of code and store the best/worst/last
34 | * measurement. The measurement is performed using the realtime
35 | * counter mechanism abstracted in the HAL driver.
36 | *
37 | * @ingroup IO
38 | */
39 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/hal.mk:
--------------------------------------------------------------------------------
1 | # List of all the ChibiOS/RT HAL files, there is no need to remove the files
2 | # from this list, you can disable parts of the HAL by editing halconf.h.
3 | HALSRC = ${CHIBIOS}/os/hal/src/hal.c \
4 | ${CHIBIOS}/os/hal/src/adc.c \
5 | ${CHIBIOS}/os/hal/src/can.c \
6 | ${CHIBIOS}/os/hal/src/ext.c \
7 | ${CHIBIOS}/os/hal/src/gpt.c \
8 | ${CHIBIOS}/os/hal/src/i2c.c \
9 | ${CHIBIOS}/os/hal/src/icu.c \
10 | ${CHIBIOS}/os/hal/src/mac.c \
11 | ${CHIBIOS}/os/hal/src/mmc_spi.c \
12 | ${CHIBIOS}/os/hal/src/mmcsd.c \
13 | ${CHIBIOS}/os/hal/src/pal.c \
14 | ${CHIBIOS}/os/hal/src/pwm.c \
15 | ${CHIBIOS}/os/hal/src/rtc.c \
16 | ${CHIBIOS}/os/hal/src/sdc.c \
17 | ${CHIBIOS}/os/hal/src/serial.c \
18 | ${CHIBIOS}/os/hal/src/serial_usb.c \
19 | ${CHIBIOS}/os/hal/src/spi.c \
20 | ${CHIBIOS}/os/hal/src/tm.c \
21 | ${CHIBIOS}/os/hal/src/uart.c \
22 | ${CHIBIOS}/os/hal/src/usb.c
23 |
24 | # Required include directories
25 | HALINC = ${CHIBIOS}/os/hal/include
26 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/AT91SAM7/at91sam7.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | #ifndef _AT91SAM7_H_
18 | #define _AT91SAM7_H_
19 |
20 | /*
21 | * Supported platforms.
22 | */
23 | #define SAM7S64 0
24 | #define SAM7S128 1
25 | #define SAM7S256 2
26 | #define SAM7S512 3
27 | #define SAM7X128 4
28 | #define SAM7X256 5
29 | #define SAM7X512 6
30 | #define SAM7A3 7
31 |
32 | #ifndef SAM7_PLATFORM
33 | #error "SAM7 platform not defined"
34 | #endif
35 |
36 | #if SAM7_PLATFORM == SAM7S64
37 | #include "at91lib/AT91SAM7S64.h"
38 | #elif SAM7_PLATFORM == SAM7S128
39 | #include "at91lib/AT91SAM7S128.h"
40 | #elif SAM7_PLATFORM == SAM7S256
41 | #include "at91lib/AT91SAM7S256.h"
42 | #elif SAM7_PLATFORM == SAM7S512
43 | #include "at91lib/AT91SAM7S512.h"
44 | #elif SAM7_PLATFORM == SAM7X128
45 | #include "at91lib/AT91SAM7X128.h"
46 | #elif SAM7_PLATFORM == SAM7X256
47 | #include "at91lib/AT91SAM7X256.h"
48 | #elif SAM7_PLATFORM == SAM7X512
49 | #include "at91lib/AT91SAM7X512.h"
50 | #elif SAM7_PLATFORM == SAM7A3
51 | #include "at91lib/AT91SAM7A3.h"
52 | #else
53 | #error "SAM7 platform not supported"
54 | #endif
55 |
56 | #endif /* _AT91SAM7_H_ */
57 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/AT91SAM7/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the AT91SAM7 platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/AT91SAM7/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/pal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/i2c_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/adc_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/ext_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/serial_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/spi_lld.c \
9 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/mac_lld.c \
10 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/pwm_lld.c \
11 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/gpt_lld.c \
12 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/at91sam7_mii.c \
13 | ${CHIBIOS}/os/hal/platforms/AT91SAM7/at91lib/aic.c
14 |
15 | # Required include directories
16 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/AT91SAM7
17 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/AVR/hal_lld.c:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file AVR/hal_lld.c
19 | * @brief AVR HAL subsystem low level driver code.
20 | *
21 | * @addtogroup HAL
22 | * @{
23 | */
24 |
25 | #include "ch.h"
26 | #include "hal.h"
27 |
28 | /*===========================================================================*/
29 | /* Driver exported variables. */
30 | /*===========================================================================*/
31 |
32 | /*===========================================================================*/
33 | /* Driver local variables and types. */
34 | /*===========================================================================*/
35 |
36 | /*===========================================================================*/
37 | /* Driver local functions. */
38 | /*===========================================================================*/
39 |
40 | /*===========================================================================*/
41 | /* Driver interrupt handlers. */
42 | /*===========================================================================*/
43 |
44 | /*===========================================================================*/
45 | /* Driver exported functions. */
46 | /*===========================================================================*/
47 |
48 | /**
49 | * @brief Low level HAL driver initialization.
50 | *
51 | * @notapi
52 | */
53 | void hal_lld_init(void) {
54 |
55 | }
56 |
57 | /** @} */
58 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/AVR/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the AVR platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/AVR/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/AVR/pal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/AVR/serial_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/AVR/i2c_lld.c
6 |
7 | # Required include directories
8 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/AVR
9 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC11Uxx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the LPC11Uxx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/LPC11Uxx/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/LPC11Uxx/gpt_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/LPC11Uxx/pal_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/LPC11Uxx/spi_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/LPC11Uxx/serial_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/LPC11Uxx/ext_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/LPC11Uxx/ext_lld_isr.c
9 |
10 | # Required include directories
11 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/LPC11Uxx
12 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC11Uxx/system_LPC11Uxx.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************//**
2 | * @file system_LPC11Uxx.h
3 | * @brief CMSIS Cortex-M0 Device Peripheral Access Layer Header File
4 | * for the NXP LPC11Uxx Device Series
5 | * @version V1.10
6 | * @date 24. November 2010
7 | *
8 | * @note
9 | * Copyright (C) 2009-2010 ARM Limited. All rights reserved.
10 | *
11 | * @par
12 | * ARM Limited (ARM) is supplying this software for use with Cortex-M
13 | * processor based microcontrollers. This file can be freely distributed
14 | * within development tools that are supporting such ARM based processors.
15 | *
16 | * @par
17 | * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
18 | * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
19 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
20 | * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
21 | * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
22 | *
23 | ******************************************************************************/
24 |
25 |
26 | #ifndef __SYSTEM_LPC11Uxx_H
27 | #define __SYSTEM_LPC11Uxx_H
28 |
29 | #ifdef __cplusplus
30 | extern "C" {
31 | #endif
32 |
33 | #include
34 |
35 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
36 |
37 |
38 | /**
39 | * Initialize the system
40 | *
41 | * @param none
42 | * @return none
43 | *
44 | * @brief Setup the microcontroller system.
45 | * Initialize the System and update the SystemCoreClock variable.
46 | */
47 | extern void SystemInit (void);
48 |
49 | /**
50 | * Update SystemCoreClock variable
51 | *
52 | * @param none
53 | * @return none
54 | *
55 | * @brief Updates the SystemCoreClock with current core Clock
56 | * retrieved from cpu registers.
57 | */
58 | extern void SystemCoreClockUpdate (void);
59 |
60 | #ifdef __cplusplus
61 | }
62 | #endif
63 |
64 | #endif /* __SYSTEM_LPC11Uxx_H */
65 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC11xx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the LPC11xx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/LPC11xx/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/LPC11xx/gpt_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/LPC11xx/pal_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/LPC11xx/serial_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/LPC11xx/spi_lld.c
7 |
8 | # Required include directories
9 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/LPC11xx
10 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC11xx/system_LPC11xx.h:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * @file: system_LPC11xx.h
3 | * @purpose: CMSIS Cortex-M0 Device Peripheral Access Layer Header File
4 | * for the NXP LPC11xx Device Series
5 | * @version: V1.0
6 | * @date: 25. Nov. 2008
7 | *----------------------------------------------------------------------------
8 | *
9 | * Copyright (C) 2008 ARM Limited. All rights reserved.
10 | *
11 | * ARM Limited (ARM) is supplying this software for use with Cortex-M0
12 | * processor based microcontrollers. This file can be freely distributed
13 | * within development tools that are supporting such ARM based processors.
14 | *
15 | * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
16 | * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
17 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
18 | * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
19 | * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
20 | *
21 | ******************************************************************************/
22 |
23 |
24 | #ifndef __SYSTEM_LPC11xx_H
25 | #define __SYSTEM_LPC11xx_H
26 |
27 | /* Vector Table Base ---------------------------------------------------------*/
28 | #define NVIC_VectTab_RAM (0x10000000)
29 | #define NVIC_VectTab_FLASH (0x00000000)
30 |
31 | extern uint32_t ClockSource;
32 | extern uint32_t SystemFrequency; /*!< System Clock Frequency (Core Clock) */
33 | extern uint32_t SystemAHBFrequency;
34 |
35 | /**
36 | * Initialize the system
37 | *
38 | * @param none
39 | * @return none
40 | *
41 | * @brief Setup the microcontroller system.
42 | * Initialize the System and update the SystemFrequency variable.
43 | */
44 | extern void SystemInit (void);
45 | #endif
46 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC122x/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the LPC122x platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/LPC122x/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/LPC122x/gpt_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/LPC122x/pal_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/LPC122x/serial_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/LPC122x/spi_lld.c
7 |
8 | # Required include directories
9 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/LPC122x
10 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC122x/system_LPC122x.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************//**
2 | * $Id: system_LPC122x.h 6933 2011-03-23 19:02:11Z nxp28548 $
3 | *
4 | * @file system_LPC12xx.h
5 | * @brief CMSIS Cortex-M0 Device Peripheral Access Layer Header File
6 | * for the NXP LPC12xx Device Series
7 | * @version 1.1
8 | * @date $Date:: 2011-03-23#$
9 | * @author NXP MCU Team
10 | *
11 | * @note
12 | * Copyright (C) 2010 NXP Semiconductors(NXP). All rights reserved.
13 | *
14 | * @par
15 | * Software that is described herein is for illustrative purposes only
16 | * which provides customers with programming information regarding the
17 | * products. This software is supplied "AS IS" without any warranties.
18 | * NXP Semiconductors assumes no responsibility or liability for the
19 | * use of the software, conveys no license or title under any patent,
20 | * copyright, or mask work right to the product. NXP Semiconductors
21 | * reserves the right to make changes in the software without
22 | * notification. NXP Semiconductors also make no representation or
23 | * warranty that such application will be suitable for the specified
24 | * use without further testing or modification.
25 | ******************************************************************************/
26 |
27 | #ifndef __SYSTEM_LPC12xx_H
28 | #define __SYSTEM_LPC12xx_H
29 |
30 | #ifdef __cplusplus
31 | extern "C" {
32 | #endif
33 |
34 | #include
35 |
36 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
37 | extern uint32_t MainClock; /*!< Main Clock Frequency (Main Clock) */
38 |
39 | /**
40 | * Initialize the system
41 | *
42 | * @param none
43 | * @return none
44 | *
45 | * @brief Setup the microcontroller system.
46 | * Initialize the System and update the SystemCoreClock variable.
47 | */
48 | extern void SystemInit (void);
49 |
50 | /**
51 | * Update SystemCoreClock variable
52 | *
53 | * @param none
54 | * @return none
55 | *
56 | * @brief Updates the SystemCoreClock with current core Clock
57 | * retrieved from cpu registers.
58 | */
59 | extern void SystemCoreClockUpdate (void);
60 |
61 | #ifdef __cplusplus
62 | }
63 | #endif
64 |
65 | #endif /* __SYSTEM_LPC12xx_H */
66 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC13xx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the LPC13xx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/LPC13xx/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/LPC13xx/gpt_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/LPC13xx/pal_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/LPC13xx/serial_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/LPC13xx/spi_lld.c
7 |
8 | # Required include directories
9 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/LPC13xx
10 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC13xx/system_LPC13xx.h:
--------------------------------------------------------------------------------
1 | /**************************************************************************//**
2 | * @file system_LPC13xx.h
3 | * @brief CMSIS Cortex-M3 Device Peripheral Access Layer Header File
4 | * for the NXP LPC13xx Device Series
5 | * @version V1.10
6 | * @date 24. November 2010
7 | *
8 | * @note
9 | * Copyright (C) 2009-2010 ARM Limited. All rights reserved.
10 | *
11 | * @par
12 | * ARM Limited (ARM) is supplying this software for use with Cortex-M
13 | * processor based microcontrollers. This file can be freely distributed
14 | * within development tools that are supporting such ARM based processors.
15 | *
16 | * @par
17 | * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
18 | * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
19 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
20 | * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
21 | * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
22 | *
23 | ******************************************************************************/
24 |
25 |
26 | #ifndef __SYSTEM_LPC13xx_H
27 | #define __SYSTEM_LPC13xx_H
28 |
29 | #ifdef __cplusplus
30 | extern "C" {
31 | #endif
32 |
33 | #include
34 |
35 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
36 |
37 |
38 | /**
39 | * Initialize the system
40 | *
41 | * @param none
42 | * @return none
43 | *
44 | * @brief Setup the microcontroller system.
45 | * Initialize the System and update the SystemCoreClock variable.
46 | */
47 | extern void SystemInit (void);
48 |
49 | /**
50 | * Update SystemCoreClock variable
51 | *
52 | * @param none
53 | * @return none
54 | *
55 | * @brief Updates the SystemCoreClock with current core Clock
56 | * retrieved from cpu registers.
57 | */
58 | extern void SystemCoreClockUpdate (void);
59 |
60 | #ifdef __cplusplus
61 | }
62 | #endif
63 |
64 | #endif /* __SYSTEM_LPC13xx_H */
65 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC214x/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the LPC214x platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/LPC214x/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/LPC214x/pal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/LPC214x/serial_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/LPC214x/spi_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/LPC214x/vic.c
7 |
8 | # Required include directories
9 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/LPC214x
10 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC214x/vic.c:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file LPC214x/vic.c
19 | * @brief LPC214x VIC peripheral support code.
20 | *
21 | * @addtogroup LPC214x_VIC
22 | * @{
23 | */
24 |
25 | #include "ch.h"
26 | #include "hal.h"
27 |
28 | /**
29 | * @brief VIC Initialization.
30 | * @note Better reset everything in the VIC, it is a HUGE source of trouble.
31 | *
32 | * @notapi
33 | */
34 | void vic_init(void) {
35 | int i;
36 |
37 | VIC *vic = VICBase;
38 | vic->VIC_IntSelect = 0; /* All sources assigned to IRQ. */
39 | vic->VIC_SoftIntClear = ALLINTMASK; /* No interrupts enforced */
40 | vic->VIC_IntEnClear = ALLINTMASK; /* All sources disabled. */
41 | for (i = 0; i < 16; i++) {
42 | vic->VIC_VectCntls[i] = 0;
43 | vic->VIC_VectAddrs[i] = 0;
44 | vic->VIC_VectAddr = 0;
45 | }
46 | }
47 |
48 | /**
49 | * @brief Initializes a VIC vector.
50 | * @details Set a vector for an interrupt source and enables it.
51 | *
52 | * @param[in] handler the pointer to the IRQ service routine
53 | * @param[in] vector the vector number
54 | * @param[in] source the IRQ source to be associated to the vector
55 | *
56 | * @api
57 | */
58 | void SetVICVector(void *handler, int vector, int source) {
59 |
60 | VIC *vicp = VICBase;
61 | vicp->VIC_VectAddrs[vector] = (IOREG32)handler;
62 | vicp->VIC_VectCntls[vector] = (IOREG32)(source | 0x20);
63 | }
64 |
65 | /** @} */
66 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC214x/vic.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file LPC214x/vic.h
19 | * @brief LPC214x VIC peripheral support header.
20 | *
21 | * @addtogroup LPC214x_VIC
22 | * @{
23 | */
24 |
25 | #ifndef _VIC_H_
26 | #define _VIC_H_
27 |
28 | #ifdef __cplusplus
29 | extern "C" {
30 | #endif
31 | void vic_init(void);
32 | void SetVICVector(void *handler, int vector, int source);
33 | #ifdef __cplusplus
34 | }
35 | #endif
36 |
37 | #endif /* _VIC_H_ */
38 |
39 | /** @} */
40 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC8xx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the LPC8xx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/LPC8xx/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/LPC8xx/gpt_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/LPC8xx/pal_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/LPC8xx/serial_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/LPC8xx/spi_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/LPC8xx/ext_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/LPC8xx/ext_lld_isr.c
9 |
10 | # Required include directories
11 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/LPC8xx
12 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/LPC8xx/system_LPC8xx.h:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * @file: system_LPC8xx.h
3 | * @purpose: CMSIS Cortex-M0+ Device Peripheral Access Layer Header File
4 | * for the NXP LPC8xx Device Series
5 | * @version: V1.0
6 | * @date: 16. Aug. 2012
7 | *----------------------------------------------------------------------------
8 | *
9 | * Copyright (C) 2012 ARM Limited. All rights reserved.
10 | *
11 | * ARM Limited (ARM) is supplying this software for use with Cortex-M0+
12 | * processor based microcontrollers. This file can be freely distributed
13 | * within development tools that are supporting such ARM based processors.
14 | *
15 | * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
16 | * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
17 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
18 | * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
19 | * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
20 | *
21 | ******************************************************************************/
22 |
23 |
24 | #ifndef __SYSTEM_LPC8xx_H
25 | #define __SYSTEM_LPC8xx_H
26 |
27 | #ifdef __cplusplus
28 | extern "C" {
29 | #endif
30 |
31 | #include
32 |
33 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
34 |
35 |
36 | /**
37 | * Initialize the system
38 | *
39 | * @param none
40 | * @return none
41 | *
42 | * @brief Setup the microcontroller system.
43 | * Initialize the System and update the SystemCoreClock variable.
44 | */
45 | extern void SystemInit (void);
46 |
47 | /**
48 | * Update SystemCoreClock variable
49 | *
50 | * @param none
51 | * @return none
52 | *
53 | * @brief Updates the SystemCoreClock with current core Clock
54 | * retrieved from cpu registers.
55 | */
56 | extern void SystemCoreClockUpdate (void);
57 |
58 | #ifdef __cplusplus
59 | }
60 | #endif
61 |
62 | #endif /* __SYSTEM_LPC8xx_H */
63 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/MSP430/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the MSP430 platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/MSP430/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/MSP430/pal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/MSP430/serial_lld.c
5 |
6 | # Required include directories
7 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/MSP430
8 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/Posix/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the Posix platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/Posix/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/Posix/pal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/Posix/serial_lld.c
5 |
6 | # Required include directories
7 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/Posix
8 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC560BCxx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the SPC560B/Cxx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/SPC560BCxx/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1/spc5_edma.c \
4 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIUL_v1/pal_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/SPC5xx/LINFlex_v1/serial_lld.c
6 |
7 | # Required include directories
8 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/SPC560BCxx \
9 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1 \
10 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIUL_v1 \
11 | ${CHIBIOS}/os/hal/platforms/SPC5xx/LINFlex_v1
12 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC560BCxx/typedefs.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPC5 HAL - Copyright (C) 2013 STMicroelectronics
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file SPC560BCxx/typedefs.h
19 | * @brief Dummy typedefs file.
20 | */
21 |
22 | #ifndef _TYPEDEFS_H_
23 | #define _TYPEDEFS_H_
24 |
25 | #include "chtypes.h"
26 |
27 | #endif /* _TYPEDEFS_H_ */
28 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC560Pxx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the SPC560Pxx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/SPC560Pxx/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1/spc5_edma.c \
4 | ${CHIBIOS}/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIUL_v1/pal_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/SPC5xx/LINFlex_v1/serial_lld.c
8 |
9 | # Required include directories
10 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/SPC560Pxx \
11 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1 \
12 | ${CHIBIOS}/os/hal/platforms/SPC5xx/eTimer_v1 \
13 | ${CHIBIOS}/os/hal/platforms/SPC5xx/FlexPWM_v1 \
14 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIUL_v1 \
15 | ${CHIBIOS}/os/hal/platforms/SPC5xx/LINFlex_v1
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC560Pxx/typedefs.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPC5 HAL - Copyright (C) 2013 STMicroelectronics
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file SPC560Pxx/typedefs.h
19 | * @brief Dummy typedefs file.
20 | */
21 |
22 | #ifndef _TYPEDEFS_H_
23 | #define _TYPEDEFS_H_
24 |
25 | #include "chtypes.h"
26 |
27 | #endif /* _TYPEDEFS_H_ */
28 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC560Pxx/xpc560p.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Firmware/IAR/os/hal/platforms/SPC560Pxx/xpc560p.h
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC563Mxx/platform.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed under ST Liberty SW License Agreement V2, (the "License");
3 | * You may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at:
5 | *
6 | * http://www.st.com/software_license_agreement_liberty_v2
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 |
15 | /**
16 | * @defgroup SPC563 SPC563Mx Drivers
17 | * @details This section describes all the supported drivers on the
18 | * SPC563Mx/MPC563xM platform and the implementation details
19 | * of the single drivers.
20 | *
21 | * @ingroup platforms
22 | */
23 |
24 | /**
25 | * @defgroup SPC563_HAL SPC563Mx Initialization Support
26 | * @details The SPC563Mx/MPC563xM HAL support is responsible for system
27 | * initialization.
28 | *
29 | * @section spc563_hal_1 Supported HW resources
30 | * - FMPLL.
31 | * - INTC.
32 | * - XBAR.
33 | * - CFLASH0.
34 | * .
35 | * @section spc563_hal_2 SPC563Mx HAL driver implementation features
36 | * - FMPLL startup and stabilization.
37 | * - Clock tree initialization.
38 | * - Clock source selection.
39 | * - Flash wait states initialization based on the selected clock options.
40 | * - SYSTICK initialization based on current clock and kernel required rate.
41 | * - DMA support initialization.
42 | * .
43 | * @ingroup SPC563
44 | */
45 |
46 | /**
47 | * @defgroup SPC563_SERIAL SPC563Mx Serial Support
48 | * @details The SPC563Mx/MPC563xM Serial driver uses the ESCI peripherals
49 | * in a buffered, interrupt driven, implementation.
50 | *
51 | * @section spc563_serial_1 Supported HW resources
52 | * The serial driver can support any of the following hardware resources:
53 | * - ESCIA.
54 | * - ESCIB.
55 | * .
56 | * @section spc563_serial_2 SPC563Mx Serial driver implementation features
57 | * - Clock stop for reduced power usage when the driver is in stop state.
58 | * - Each ESCI can be independently enabled and programmed. Unused
59 | * peripherals are left in low power mode.
60 | * - Fully interrupt driven.
61 | * - Programmable priority levels for each ESCI.
62 | * .
63 | * @ingroup SPC563
64 | */
65 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC563Mxx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the SPC563Mxx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/SPC563Mxx/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/SPC5xx/DSPI_v1/spi_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1/spc5_edma.c \
5 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EQADC_v1/adc_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIU_v1/pal_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/SPC5xx/ESCI_v1/serial_lld.c
8 |
9 | # Required include directories
10 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/SPC563Mxx \
11 | ${CHIBIOS}/os/hal/platforms/SPC5xx/DSPI_v1 \
12 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1 \
13 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EQADC_v1 \
14 | ${CHIBIOS}/os/hal/platforms/SPC5xx/ESCI_v1 \
15 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIU_v1
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC563Mxx/typedefs.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPC5 HAL - Copyright (C) 2013 STMicroelectronics
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file SPC563Mxx/typedefs.h
19 | * @brief Dummy typedefs file.
20 | */
21 |
22 | #ifndef _TYPEDEFS_H_
23 | #define _TYPEDEFS_H_
24 |
25 | #include "chtypes.h"
26 |
27 | #endif /* _TYPEDEFS_H_ */
28 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC563Mxx/xpc563m.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Firmware/IAR/os/hal/platforms/SPC563Mxx/xpc563m.h
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC564Axx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the SPC564Axx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/SPC564Axx/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1/spc5_edma.c \
4 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EQADC_v1/adc_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIU_v1/pal_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/SPC5xx/ESCI_v1/serial_lld.c
7 |
8 | # Required include directories
9 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/SPC564Axx \
10 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1 \
11 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EQADC_v1 \
12 | ${CHIBIOS}/os/hal/platforms/SPC5xx/ESCI_v1 \
13 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIU_v1
14 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC564Axx/spc564a_registry.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPC5 HAL - Copyright (C) 2013 STMicroelectronics
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file SPC564Axx/spc564a_registry.h
19 | * @brief SPC564Axx capabilities registry.
20 | *
21 | * @addtogroup HAL
22 | * @{
23 | */
24 |
25 | #ifndef _SPC563M_REGISTRY_H_
26 | #define _SPC563M_REGISTRY_H_
27 |
28 | /*===========================================================================*/
29 | /* Platform capabilities. */
30 | /*===========================================================================*/
31 |
32 | /**
33 | * @name SPC564Axx capabilities
34 | * @{
35 | */
36 | /* eDMA attributes.*/
37 | #define SPC5_HAS_EDMA TRUE
38 | #define SPC5_EDMA_NCHANNELS 64
39 | #define SPC5_EDMA_HAS_MUX FALSE
40 |
41 | /* eQADC attributes.*/
42 | #define SPC5_HAS_EQADC TRUE
43 |
44 | /* eSCI attributes.*/
45 | #define SPC5_HAS_ESCIA TRUE
46 | #define SPC5_ESCIA_HANDLER vector146
47 | #define SPC5_ESCIA_NUMBER 146
48 |
49 | #define SPC5_HAS_ESCIB TRUE
50 | #define SPC5_ESCIB_HANDLER vector149
51 | #define SPC5_ESCIB_NUMBER 149
52 |
53 | #define SPC5_HAS_ESCIC TRUE
54 | #define SPC5_ESCIC_HANDLER vector473
55 | #define SPC5_ESCIC_NUMBER 473
56 |
57 | /* SIU attributes.*/
58 | #define SPC5_HAS_SIU TRUE
59 | #define SPC5_SIU_SUPPORTS_PORTS FALSE
60 | /** @} */
61 |
62 | #endif /* _SPC563M_REGISTRY_H_ */
63 |
64 | /** @} */
65 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC564Axx/typedefs.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPC5 HAL - Copyright (C) 2013 STMicroelectronics
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file SPC564Axx/typedefs.h
19 | * @brief Dummy typedefs file.
20 | */
21 |
22 | #ifndef _TYPEDEFS_H_
23 | #define _TYPEDEFS_H_
24 |
25 | #include "chtypes.h"
26 |
27 | #endif /* _TYPEDEFS_H_ */
28 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC564Axx/xpc564a.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Firmware/IAR/os/hal/platforms/SPC564Axx/xpc564a.h
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC56ELxx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the SPC56ELxx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/SPC56ELxx/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1/spc5_edma.c \
4 | ${CHIBIOS}/os/hal/platforms/SPC5xx/eTimer_v1/icu_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.c \
6 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIUL_v1/pal_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/SPC5xx/LINFlex_v1/serial_lld.c
8 |
9 | # Required include directories
10 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/SPC56ELxx \
11 | ${CHIBIOS}/os/hal/platforms/SPC5xx/EDMA_v1 \
12 | ${CHIBIOS}/os/hal/platforms/SPC5xx/eTimer_v1 \
13 | ${CHIBIOS}/os/hal/platforms/SPC5xx/FlexPWM_v1 \
14 | ${CHIBIOS}/os/hal/platforms/SPC5xx/SIUL_v1 \
15 | ${CHIBIOS}/os/hal/platforms/SPC5xx/LINFlex_v1
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/SPC56ELxx/typedefs.h:
--------------------------------------------------------------------------------
1 | /*
2 | SPC5 HAL - Copyright (C) 2013 STMicroelectronics
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file SPC56ELxx/typedefs.h
19 | * @brief Dummy typedefs file.
20 | */
21 |
22 | #ifndef _TYPEDEFS_H_
23 | #define _TYPEDEFS_H_
24 |
25 | #include "chtypes.h"
26 |
27 | #endif /* _TYPEDEFS_H_ */
28 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32F0xx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the STM32F0xx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32F0xx/stm32_dma.c \
3 | ${CHIBIOS}/os/hal/platforms/STM32F0xx/hal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/STM32F0xx/adc_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/STM32F0xx/ext_lld_isr.c \
6 | ${CHIBIOS}/os/hal/platforms/STM32/ext_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2/pal_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv2/i2c_lld.c \
9 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2/rtc_lld.c \
10 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv2/spi_lld.c \
11 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/gpt_lld.c \
12 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/icu_lld.c \
13 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/pwm_lld.c \
14 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv2/serial_lld.c \
15 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv2/uart_lld.c
16 |
17 | # Required include directories
18 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/STM32F0xx \
19 | ${CHIBIOS}/os/hal/platforms/STM32 \
20 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2 \
21 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2 \
22 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv2 \
23 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv2 \
24 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1 \
25 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv2
26 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32F1xx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the STM32F1xx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32F1xx/stm32_dma.c \
3 | ${CHIBIOS}/os/hal/platforms/STM32F1xx/hal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/STM32F1xx/adc_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/STM32F1xx/ext_lld_isr.c \
6 | ${CHIBIOS}/os/hal/platforms/STM32/can_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/STM32/ext_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/STM32/mac_lld.c \
9 | ${CHIBIOS}/os/hal/platforms/STM32/sdc_lld.c \
10 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv1/pal_lld.c \
11 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv1/i2c_lld.c \
12 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv1/rtc_lld.c \
13 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv1/spi_lld.c \
14 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/gpt_lld.c \
15 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/icu_lld.c \
16 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/pwm_lld.c \
17 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1/serial_lld.c \
18 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1/uart_lld.c \
19 | ${CHIBIOS}/os/hal/platforms/STM32/USBv1/usb_lld.c
20 |
21 | # Required include directories
22 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/STM32F1xx \
23 | ${CHIBIOS}/os/hal/platforms/STM32 \
24 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv1 \
25 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv1 \
26 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv1 \
27 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv1 \
28 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1 \
29 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1 \
30 | ${CHIBIOS}/os/hal/platforms/STM32/USBv1
31 |
32 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32F1xx/platform_f105_f107.mk:
--------------------------------------------------------------------------------
1 | # List of all the STM32F1xx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32F1xx/stm32_dma.c \
3 | ${CHIBIOS}/os/hal/platforms/STM32F1xx/hal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/STM32F1xx/adc_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/STM32F1xx/ext_lld_isr.c \
6 | ${CHIBIOS}/os/hal/platforms/STM32/can_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/STM32/ext_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/STM32/mac_lld.c \
9 | ${CHIBIOS}/os/hal/platforms/STM32/sdc_lld.c \
10 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv1/pal_lld.c \
11 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv1/i2c_lld.c \
12 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv1/rtc_lld.c \
13 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv1/spi_lld.c \
14 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/gpt_lld.c \
15 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/icu_lld.c \
16 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/pwm_lld.c \
17 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1/serial_lld.c \
18 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1/uart_lld.c \
19 | ${CHIBIOS}/os/hal/platforms/STM32/OTGv1/usb_lld.c
20 |
21 | # Required include directories
22 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/STM32F1xx \
23 | ${CHIBIOS}/os/hal/platforms/STM32 \
24 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv1 \
25 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv1 \
26 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv1 \
27 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv1 \
28 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1 \
29 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1 \
30 | ${CHIBIOS}/os/hal/platforms/STM32/OTGv1
31 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32F30x/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the STM32F30x platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32F30x/stm32_dma.c \
3 | ${CHIBIOS}/os/hal/platforms/STM32F30x/hal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/STM32F30x/adc_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/STM32F30x/ext_lld_isr.c \
6 | ${CHIBIOS}/os/hal/platforms/STM32/can_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/STM32/ext_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2/pal_lld.c \
9 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv2/i2c_lld.c \
10 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2/rtc_lld.c \
11 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv2/spi_lld.c \
12 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/gpt_lld.c \
13 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/icu_lld.c \
14 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/pwm_lld.c \
15 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv2/serial_lld.c \
16 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv2/uart_lld.c \
17 | ${CHIBIOS}/os/hal/platforms/STM32/USBv1/usb_lld.c
18 |
19 | # Required include directories
20 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/STM32F30x \
21 | ${CHIBIOS}/os/hal/platforms/STM32 \
22 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2 \
23 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv2 \
24 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2 \
25 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv2 \
26 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1 \
27 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv2 \
28 | ${CHIBIOS}/os/hal/platforms/STM32/USBv1
29 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32F30x/stm32f30x.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Firmware/IAR/os/hal/platforms/STM32F30x/stm32f30x.h
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32F37x/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the STM32F37x platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32F37x/stm32_dma.c \
3 | ${CHIBIOS}/os/hal/platforms/STM32F37x/hal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/STM32F37x/adc_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/STM32F37x/ext_lld_isr.c \
6 | ${CHIBIOS}/os/hal/platforms/STM32/can_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/STM32/ext_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2/pal_lld.c \
9 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv2/i2c_lld.c \
10 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2/rtc_lld.c \
11 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv2/spi_lld.c \
12 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/gpt_lld.c \
13 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/icu_lld.c \
14 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/pwm_lld.c \
15 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv2/serial_lld.c \
16 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv2/uart_lld.c \
17 | ${CHIBIOS}/os/hal/platforms/STM32/USBv1/usb_lld.c
18 |
19 | # Required include directories
20 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/STM32F37x \
21 | ${CHIBIOS}/os/hal/platforms/STM32 \
22 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2 \
23 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv2 \
24 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2 \
25 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv2 \
26 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1 \
27 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv2 \
28 | ${CHIBIOS}/os/hal/platforms/STM32/USBv1
29 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32F37x/stm32f37x.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Firmware/IAR/os/hal/platforms/STM32F37x/stm32f37x.h
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32F4xx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the STM32F2xx/STM32F4xx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32F4xx/stm32_dma.c \
3 | ${CHIBIOS}/os/hal/platforms/STM32F4xx/hal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/STM32F4xx/adc_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/STM32F4xx/ext_lld_isr.c \
6 | ${CHIBIOS}/os/hal/platforms/STM32/can_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/STM32/ext_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/STM32/mac_lld.c \
9 | ${CHIBIOS}/os/hal/platforms/STM32/sdc_lld.c \
10 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2/pal_lld.c \
11 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv1/i2c_lld.c \
12 | ${CHIBIOS}/os/hal/platforms/STM32/OTGv1/usb_lld.c \
13 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2/rtc_lld.c \
14 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv1/spi_lld.c \
15 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/gpt_lld.c \
16 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/icu_lld.c \
17 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/pwm_lld.c \
18 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1/serial_lld.c \
19 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1/uart_lld.c
20 |
21 | # Required include directories
22 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/STM32F4xx \
23 | ${CHIBIOS}/os/hal/platforms/STM32 \
24 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2 \
25 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv1 \
26 | ${CHIBIOS}/os/hal/platforms/STM32/OTGv1 \
27 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2 \
28 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv1 \
29 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1 \
30 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1
31 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32F4xx/stm32f4xx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Firmware/IAR/os/hal/platforms/STM32F4xx/stm32f4xx.h
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32L1xx/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the STM32L1xx platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/STM32L1xx/stm32_dma.c \
3 | ${CHIBIOS}/os/hal/platforms/STM32L1xx/hal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/STM32L1xx/adc_lld.c \
5 | ${CHIBIOS}/os/hal/platforms/STM32L1xx/ext_lld_isr.c \
6 | ${CHIBIOS}/os/hal/platforms/STM32/ext_lld.c \
7 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2/pal_lld.c \
8 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv1/i2c_lld.c \
9 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2/rtc_lld.c \
10 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv1/spi_lld.c \
11 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/gpt_lld.c \
12 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/icu_lld.c \
13 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1/pwm_lld.c \
14 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1/serial_lld.c \
15 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1/uart_lld.c \
16 | ${CHIBIOS}/os/hal/platforms/STM32/USBv1/usb_lld.c
17 |
18 | # Required include directories
19 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/STM32L1xx \
20 | ${CHIBIOS}/os/hal/platforms/STM32 \
21 | ${CHIBIOS}/os/hal/platforms/STM32/GPIOv2 \
22 | ${CHIBIOS}/os/hal/platforms/STM32/I2Cv1 \
23 | ${CHIBIOS}/os/hal/platforms/STM32/RTCv2 \
24 | ${CHIBIOS}/os/hal/platforms/STM32/SPIv1 \
25 | ${CHIBIOS}/os/hal/platforms/STM32/TIMv1 \
26 | ${CHIBIOS}/os/hal/platforms/STM32/USARTv1 \
27 | ${CHIBIOS}/os/hal/platforms/STM32/USBv1
28 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/STM32L1xx/stm32l1xx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Firmware/IAR/os/hal/platforms/STM32L1xx/stm32l1xx.h
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/Win32/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the Win32 platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/platforms/Win32/hal_lld.c \
3 | ${CHIBIOS}/os/hal/platforms/Win32/pal_lld.c \
4 | ${CHIBIOS}/os/hal/platforms/Win32/serial_lld.c
5 |
6 | # Required include directories
7 | PLATFORMINC = ${CHIBIOS}/os/hal/platforms/Win32
8 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/platforms/platforms.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @defgroup platforms Platforms
19 | * @brief Supported platforms.
20 | * @details The implementation of the device drivers can be slightly different
21 | * on the various platforms because architectural constrains. This section
22 | * describes the implementation of the various device drivers on the various
23 | * supported platforms.
24 | */
25 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/templates/mcuconf.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /*
18 | * Platform drivers configuration.
19 | * The following settings override the default settings present in
20 | * the various device driver implementation headers.
21 | * Note that the settings for each driver only have effect if the whole
22 | * driver is enabled in halconf.h.
23 | */
24 |
25 | #define PLATFORM_MCUCONF
26 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/hal/templates/platform.mk:
--------------------------------------------------------------------------------
1 | # List of all the template platform files.
2 | PLATFORMSRC = ${CHIBIOS}/os/hal/templates/hal_lld.c \
3 | ${CHIBIOS}/os/hal/templates/adc_lld.c \
4 | ${CHIBIOS}/os/hal/templates/can_lld.c \
5 | ${CHIBIOS}/os/hal/templates/ext_lld.c \
6 | ${CHIBIOS}/os/hal/templates/gpt_lld.c \
7 | ${CHIBIOS}/os/hal/templates/i2c_lld.c \
8 | ${CHIBIOS}/os/hal/templates/icu_lld.c \
9 | ${CHIBIOS}/os/hal/templates/mac_lld.c \
10 | ${CHIBIOS}/os/hal/templates/pal_lld.c \
11 | ${CHIBIOS}/os/hal/templates/pwm_lld.c \
12 | ${CHIBIOS}/os/hal/templates/sdc_lld.c \
13 | ${CHIBIOS}/os/hal/templates/serial_lld.c \
14 | ${CHIBIOS}/os/hal/templates/spi_lld.c \
15 | ${CHIBIOS}/os/hal/templates/uart_lld.c \
16 | ${CHIBIOS}/os/hal/templates/usb_lld.c
17 |
18 | # Required include directories
19 | PLATFORMINC = ${CHIBIOS}/os/hal/templates
20 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/kernel/include/chdynamic.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file chdynamic.h
30 | * @brief Dynamic threads macros and structures.
31 | *
32 | * @addtogroup dynamic_threads
33 | * @{
34 | */
35 |
36 | #ifndef _CHDYNAMIC_H_
37 | #define _CHDYNAMIC_H_
38 |
39 | #if CH_USE_DYNAMIC || defined(__DOXYGEN__)
40 |
41 | /*
42 | * Module dependencies check.
43 | */
44 | #if CH_USE_DYNAMIC && !CH_USE_WAITEXIT
45 | #error "CH_USE_DYNAMIC requires CH_USE_WAITEXIT"
46 | #endif
47 | #if CH_USE_DYNAMIC && !CH_USE_HEAP && !CH_USE_MEMPOOLS
48 | #error "CH_USE_DYNAMIC requires CH_USE_HEAP and/or CH_USE_MEMPOOLS"
49 | #endif
50 |
51 | /*
52 | * Dynamic threads APIs.
53 | */
54 | #ifdef __cplusplus
55 | extern "C" {
56 | #endif
57 | Thread *chThdAddRef(Thread *tp);
58 | void chThdRelease(Thread *tp);
59 | #if CH_USE_HEAP
60 | Thread *chThdCreateFromHeap(MemoryHeap *heapp, size_t size,
61 | tprio_t prio, tfunc_t pf, void *arg);
62 | #endif
63 | #if CH_USE_MEMPOOLS
64 | Thread *chThdCreateFromMemoryPool(MemoryPool *mp, tprio_t prio,
65 | tfunc_t pf, void *arg);
66 | #endif
67 | #ifdef __cplusplus
68 | }
69 | #endif
70 |
71 | #endif /* CH_USE_DYNAMIC */
72 |
73 | #endif /* _CHDYNAMIC_H_ */
74 |
75 | /** @} */
76 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/kernel/kernel.mk:
--------------------------------------------------------------------------------
1 | # List of all the ChibiOS/RT kernel files, there is no need to remove the files
2 | # from this list, you can disable parts of the kernel by editing chconf.h.
3 | KERNSRC = ${CHIBIOS}/os/kernel/src/chsys.c \
4 | ${CHIBIOS}/os/kernel/src/chdebug.c \
5 | ${CHIBIOS}/os/kernel/src/chlists.c \
6 | ${CHIBIOS}/os/kernel/src/chvt.c \
7 | ${CHIBIOS}/os/kernel/src/chschd.c \
8 | ${CHIBIOS}/os/kernel/src/chthreads.c \
9 | ${CHIBIOS}/os/kernel/src/chdynamic.c \
10 | ${CHIBIOS}/os/kernel/src/chregistry.c \
11 | ${CHIBIOS}/os/kernel/src/chsem.c \
12 | ${CHIBIOS}/os/kernel/src/chmtx.c \
13 | ${CHIBIOS}/os/kernel/src/chcond.c \
14 | ${CHIBIOS}/os/kernel/src/chevents.c \
15 | ${CHIBIOS}/os/kernel/src/chmsg.c \
16 | ${CHIBIOS}/os/kernel/src/chmboxes.c \
17 | ${CHIBIOS}/os/kernel/src/chqueues.c \
18 | ${CHIBIOS}/os/kernel/src/chmemcore.c \
19 | ${CHIBIOS}/os/kernel/src/chheap.c \
20 | ${CHIBIOS}/os/kernel/src/chmempools.c
21 |
22 | # Required include directories
23 | KERNINC = ${CHIBIOS}/os/kernel/include
24 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARM/AT91SAM7/armparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file ARM/AT91SAM7/armparams.h
30 | * @brief ARM7 AT91SAM7 Specific Parameters.
31 | *
32 | * @defgroup ARM_AT91SAM7 AT91SAM7 Specific Parameters
33 | * @ingroup ARM_SPECIFIC
34 | * @details This file contains the ARM specific parameters for the
35 | * AT91SAM7 platform.
36 | * @{
37 | */
38 |
39 | #ifndef _ARMPARAMS_H_
40 | #define _ARMPARAMS_H_
41 |
42 | /**
43 | * @brief ARM core model.
44 | */
45 | #define ARM_CORE ARM_CORE_ARM7TDMI
46 |
47 | /**
48 | * @brief AT91SAM7-specific wait for interrupt.
49 | * @details This implementation writes 1 into the PMC_SCDR register.
50 | */
51 | #if !defined(port_wait_for_interrupt) || defined(__DOXYGEN__)
52 | #if ENABLE_WFI_IDLE || defined(__DOXYGEN__)
53 | #define port_wait_for_interrupt() { \
54 | (*((volatile uint32_t *)0xFFFFFC04)) = 1; \
55 | }
56 | #else
57 | #define port_wait_for_interrupt()
58 | #endif
59 | #endif
60 |
61 | #endif /* _ARMPARAMS_H_ */
62 |
63 | /** @} */
64 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARM/AT91SAM7/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT ARM7 AT91SAM7 port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/ARM/chcore.c
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/ARM/crt0.s \
5 | ${CHIBIOS}/os/ports/GCC/ARM/chcoreasm.s \
6 | ${CHIBIOS}/os/ports/GCC/ARM/AT91SAM7/vectors.s
7 |
8 | PORTINC = ${CHIBIOS}/os/ports/GCC/ARM \
9 | ${CHIBIOS}/os/ports/GCC/ARM/AT91SAM7
10 |
11 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARM/AT91SAM7/ld
12 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARM/AT91SAM7/wfi.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | #ifndef _WFI_H_
29 | #define _WFI_H_
30 |
31 | #include "board.h"
32 |
33 | #ifndef port_wait_for_interrupt
34 | #if ENABLE_WFI_IDLE != 0
35 | #define port_wait_for_interrupt() { \
36 | AT91C_BASE_SYS->PMC_SCDR = AT91C_PMC_PCK; \
37 | }
38 | #else
39 | #define port_wait_for_interrupt()
40 | #endif
41 | #endif
42 |
43 | #endif /* _WFI_H_ */
44 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARM/LPC214x/armparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file ARM/LPC214x/armparams.h
30 | * @brief ARM7 LPC214x Specific Parameters.
31 | *
32 | * @defgroup ARM_LPC214x LPC214x Specific Parameters
33 | * @ingroup ARM_SPECIFIC
34 | * @details This file contains the ARM specific parameters for the
35 | * LPC214x platform.
36 | * @{
37 | */
38 |
39 | #ifndef _ARMPARAMS_H_
40 | #define _ARMPARAMS_H_
41 |
42 | /**
43 | * @brief ARM core model.
44 | */
45 | #define ARM_CORE ARM_CORE_ARM7TDMI
46 |
47 | /**
48 | * @brief LPC214x-specific wait for interrupt code.
49 | * @details This implementation writes 1 into the PCON register.
50 | */
51 | #if !defined(port_wait_for_interrupt) || defined(__DOXYGEN__)
52 | #if ENABLE_WFI_IDLE || defined(__DOXYGEN__)
53 | #define port_wait_for_interrupt() { \
54 | (*((volatile uint32_t *)0xE01FC0C0)) = 1; \
55 | }
56 | #else
57 | #define port_wait_for_interrupt()
58 | #endif
59 | #endif
60 |
61 | #endif /* _ARMPARAMS_H_ */
62 |
63 | /** @} */
64 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARM/LPC214x/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT ARM7 LPC214x port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/ARM/chcore.c
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/ARM/crt0.s \
5 | ${CHIBIOS}/os/ports/GCC/ARM/chcoreasm.s \
6 | ${CHIBIOS}/os/ports/GCC/ARM/LPC214x/vectors.s
7 |
8 | PORTINC = ${CHIBIOS}/os/ports/GCC/ARM \
9 | ${CHIBIOS}/os/ports/GCC/ARM/LPC214x
10 |
11 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARM/LPC214x/ld
12 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARM/LPC214x/wfi.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | #ifndef _WFI_H_
29 | #define _WFI_H_
30 |
31 | #include "lpc214x.h"
32 |
33 | #ifndef port_wait_for_interrupt
34 | #if ENABLE_WFI_IDLE != 0
35 | #define port_wait_for_interrupt() { \
36 | PCON = 1; \
37 | }
38 | #else
39 | #define port_wait_for_interrupt()
40 | #endif
41 | #endif
42 |
43 | #endif /* _WFI_H_ */
44 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARM/chcore.c:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file ARM/chcore.c
30 | * @brief ARM7/9 architecture port code.
31 | *
32 | * @addtogroup ARM_CORE
33 | * @{
34 | */
35 |
36 | #include "ch.h"
37 |
38 | /**
39 | * Halts the system.
40 | */
41 | #if !defined(__DOXYGEN__)
42 | __attribute__((weak))
43 | #endif
44 | void port_halt(void) {
45 |
46 | port_disable();
47 | while (TRUE) {
48 | }
49 | }
50 |
51 | /** @} */
52 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/LPC11xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/LPC11xx/cmparams.h
30 | * @brief ARM Cortex-M0 parameters for the LPC11xx.
31 | *
32 | * @defgroup ARMCMx_LPC11xx LPC11xx Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M0 specific parameters for the
35 | * LPC11xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M0
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 2
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/LPC11xx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M0 LPC11xx port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/LPC11xx/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v6m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/LPC11xx
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/LPC11xx/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/LPC122x/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/LPC13xx/cmparams.h
30 | * @brief ARM Cortex-M0 LPC122x Specific Parameters.
31 | *
32 | * @defgroup ARMCMx_LPC122x LPC122x Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M0 specific parameters for the
35 | * LPC122x platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M0
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 2
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/LPC122x/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M0 LPC122x port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/LPC122x/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v6m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/LPC122x
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/LPC122x/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/LPC13xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/LPC13xx/cmparams.h
30 | * @brief ARM Cortex-M3 LPC13xx Specific Parameters.
31 | *
32 | * @defgroup ARMCMx_LPC13xx LPC13xx Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M3 specific parameters for the
35 | * LPC13xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 3
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/LPC13xx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M0 LPC13xx port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/LPC13xx/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v7m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/LPC13xx
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/LPC13xx/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/LPC8xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/LPC8xx/cmparams.h
30 | * @brief ARM Cortex-M0+ parameters for the LPC8xx.
31 | *
32 | * @defgroup ARMCMx_LPC8xx LPC8xx Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M0+ specific parameters for the
35 | * LPC8xx platform.
36 | * (Taken from the device header file where possible)
37 | * @{
38 | */
39 |
40 | #ifndef _CMPARAMS_H_
41 | #define _CMPARAMS_H_
42 |
43 | #include "LPC8xx.h"
44 |
45 | /**
46 | * @brief Cortex core model.
47 | */
48 | #define CORTEX_MODEL __CORTEX_M
49 |
50 | /**
51 | * @brief Systick unit presence.
52 | */
53 | #define CORTEX_HAS_ST TRUE
54 |
55 | /**
56 | * @brief Memory Protection unit presence.
57 | */
58 | #define CORTEX_HAS_MPU __MPU_PRESENT
59 |
60 | /**
61 | * @brief Number of bits in priority masks.
62 | */
63 | #define CORTEX_PRIORITY_BITS __NVIC_PRIO_BITS
64 |
65 | #endif /* _CMPARAMS_H_ */
66 |
67 | /** @} */
68 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/LPC8xx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M0 LPC8xx port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/LPC8xx/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v6m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/LPC8xx
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/LPC8xx/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/SAM4L/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/SAM4L/cmparams.h
30 | * @brief ARM Cortex-M4 parameters for the ATSAM4L.
31 | *
32 | * @defgroup ARMCMx_SAM4L ATSAM4L Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M4 specific parameters for the
35 | * ATSAM4L platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M4
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU TRUE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/SAM4L/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M4 STM32 port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/SAM4L/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v7m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/SAM4L
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/SAM4L/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F0xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/STM32F0xx/cmparams.h
30 | * @brief ARM Cortex-M0 parameters for the STM32F0xx.
31 | *
32 | * @defgroup ARMCMx_STM32F0xx STM32F0xx Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M0 specific parameters for the
35 | * STM32F0xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M0
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 2
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F0xx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M0 STM32 port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F0xx/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v6m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F0xx
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F0xx/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F1xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/STM32F1xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the STM32F1xx.
31 | *
32 | * @defgroup ARMCMx_STM32F1xx STM32F1xx Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M3 specific parameters for the
35 | * STM32F1xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F1xx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M3 STM32 port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F1xx/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v7m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F1xx
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F1xx/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F2xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/STM32F2xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the STM32F2xx.
31 | *
32 | * @defgroup ARMCMx_STM32F2xx STM32F2xx Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M4 specific parameters for the
35 | * STM32F2xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU TRUE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F2xx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M3 STM32 port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F2xx/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v7m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F2xx
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F2xx/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F3xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/STM32F3xx/cmparams.h
30 | * @brief ARM Cortex-M4 parameters for the STM32F3xx.
31 | *
32 | * @defgroup ARMCMx_STM32F3xx STM32F3xx Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M4 specific parameters for the
35 | * STM32F3xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M4
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU TRUE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU TRUE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F3xx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M4 STM32 port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F3xx/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v7m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F3xx
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F3xx/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F4xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/STM32F4xx/cmparams.h
30 | * @brief ARM Cortex-M4 parameters for the STM32F4xx.
31 | *
32 | * @defgroup ARMCMx_STM32F4xx STM32F4xx Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M4 specific parameters for the
35 | * STM32F4xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M4
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU TRUE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU TRUE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32F4xx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M4 STM32 port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F4xx/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v7m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F4xx
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32F4xx/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32L1xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/STM32L1xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the STM32L1xx.
31 | *
32 | * @defgroup ARMCMx_STM32L1xx STM32L1xx Specific Parameters
33 | * @ingroup ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M3 specific parameters for the
35 | * STM32L1xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU TRUE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/STM32L1xx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT Cortex-M3 STM32L1xx port files.
2 | PORTSRC = $(CHIBIOS)/os/ports/GCC/ARMCMx/crt0.c \
3 | $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32L1xx/vectors.c \
4 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore.c \
5 | ${CHIBIOS}/os/ports/GCC/ARMCMx/chcore_v7m.c \
6 | ${CHIBIOS}/os/ports/common/ARMCMx/nvic.c
7 |
8 | PORTASM =
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/common/ARMCMx/CMSIS/include \
11 | ${CHIBIOS}/os/ports/common/ARMCMx \
12 | ${CHIBIOS}/os/ports/GCC/ARMCMx \
13 | ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32L1xx
14 |
15 | PORTLD = ${CHIBIOS}/os/ports/GCC/ARMCMx/STM32L1xx/ld
16 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/ARMCMx/chcore.c:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file GCC/ARMCMx/chcore.c
30 | * @brief ARM Cortex-Mx port code.
31 | *
32 | * @addtogroup ARMCMx_CORE
33 | * @{
34 | */
35 |
36 | #include "ch.h"
37 |
38 | /**
39 | * @brief Halts the system.
40 | * @note The function is declared as a weak symbol, it is possible
41 | * to redefine it in your application code.
42 | */
43 | #if !defined(__DOXYGEN__)
44 | __attribute__((weak))
45 | #endif
46 | void port_halt(void) {
47 |
48 | port_disable();
49 | while (TRUE) {
50 | }
51 | }
52 |
53 | /** @} */
54 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/AVR/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT AVR port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/AVR/chcore.c
3 |
4 | PORTASM =
5 |
6 | PORTINC = ${CHIBIOS}/os/ports/GCC/AVR
7 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/MSP430/chcoreasm.s:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | #include "chconf.h"
29 |
30 | #define FALSE 0
31 | #define TRUE 1
32 |
33 | .text
34 | .p2align 1, 0
35 | .weak _port_switch
36 | _port_switch:
37 | push r11
38 | push r10
39 | push r9
40 | push r8
41 | push r7
42 | push r6
43 | push r5
44 | push r4
45 | mov r1, 6(r14)
46 | mov 6(r15), r1
47 | pop r4
48 | pop r5
49 | pop r6
50 | pop r7
51 | pop r8
52 | pop r9
53 | pop r10
54 | pop r11
55 | ret
56 |
57 | .p2align 1, 0
58 | .weak _port_thread_start
59 | _port_thread_start:
60 | #if CH_DBG_SYSTEM_STATE_CHECK
61 | call #dbg_check_unlock
62 | #endif
63 | eint
64 | mov r11, r15
65 | call r10
66 | call #chThdExit
67 | ; Falls into _port_halt
68 |
69 | .p2align 1, 0
70 | .weak _port_halt
71 | _port_halt:
72 | dint
73 | .L1: jmp .L1
74 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/MSP430/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT MSP430 port files.
2 | PORTSRC =
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/MSP430/chcoreasm.s
5 |
6 | PORTINC = ${CHIBIOS}/os/ports/GCC/MSP430
7 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/MSP430/rules.mk:
--------------------------------------------------------------------------------
1 | # MSP430 makefile scripts and rules.
2 |
3 | # Automatic compiler options
4 | OPT = $(USE_OPT)
5 | COPT = $(USE_COPT)
6 | CPPOPT = $(USE_CPPOPT)
7 | ifeq ($(USE_LINK_GC),yes)
8 | OPT += -ffunction-sections -fdata-sections
9 | endif
10 |
11 | # Source files groups
12 | SRC = $(CSRC)$(CPPSRC)
13 |
14 | # Object files groups
15 | COBJS = $(CSRC:.c=.o)
16 | CPPOBJS = $(CPPSRC:.cpp=.o)
17 | ASMOBJS = $(ASMSRC:.s=.o)
18 | OBJS = $(ASMOBJS) $(COBJS) $(CPPOBJS)
19 |
20 | # Paths
21 | IINCDIR = $(patsubst %,-I%,$(INCDIR) $(DINCDIR) $(UINCDIR))
22 | LLIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
23 |
24 | # Macros
25 | DEFS = $(DDEFS) $(UDEFS)
26 | ADEFS = $(DADEFS) $(UADEFS)
27 |
28 | # Libs
29 | LIBS = $(DLIBS) $(ULIBS)
30 |
31 | MCFLAGS = -mmcu=$(MCU)
32 | ODFLAGS = -x --syms
33 | ASFLAGS = $(MCFLAGS) -Wa,-amhls=$(<:.s=.lst) $(ADEFS)
34 | CPFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(WARN) -Wa,-alms=$(<:.c=.lst) $(DEFS)
35 | ifeq ($(LINK_GC),yes)
36 | LDFLAGS = $(MCFLAGS) -T$(LDSCRIPT) -Wl,-Map=$(PROJECT).map,--cref,--no-warn-mismatch,--gc-sections $(LLIBDIR)
37 | else
38 | LDFLAGS = $(MCFLAGS) -T$(LDSCRIPT) -Wl,-Map=$(PROJECT).map,--cref,--no-warn-mismatch $(LLIBDIR)
39 | endif
40 |
41 | # Generate dependency information
42 | ASFLAGS += -MD -MP -MF .dep/$(@F).d
43 | CPFLAGS += -MD -MP -MF .dep/$(@F).d
44 |
45 | #
46 | # Makefile rules
47 | #
48 | all: $(OBJS) $(PROJECT).elf $(PROJECT).hex $(PROJECT).bin $(PROJECT).dmp MAKE_ALL_RULE_HOOK
49 |
50 | MAKE_ALL_RULE_HOOK:
51 |
52 | $(CPPOBJS) : %.o : %.cpp
53 | @echo
54 | $(CPPC) -c $(CPPFLAGS) -I . $(IINCDIR) $< -o $@
55 |
56 | $(COBJS) : %.o : %.c
57 | @echo
58 | $(CC) -c $(CPFLAGS) -I . $(IINCDIR) $< -o $@
59 |
60 | $(ASMOBJS) : %.o : %.s
61 | @echo
62 | $(AS) -c $(ASFLAGS) -I . $(IINCDIR) $< -o $@
63 |
64 | %elf: $(OBJS)
65 | @echo
66 | $(LD) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
67 |
68 | %hex: %elf
69 | $(HEX) $< $@
70 |
71 | %bin: %elf
72 | $(BIN) $< $@
73 |
74 | %dmp: %elf
75 | $(OD) $(ODFLAGS) $< > $@
76 |
77 | clean:
78 | -rm -f $(OBJS)
79 | -rm -f $(CSRC:.c=.lst) $(CPPSRC:.cpp=.lst) $(ASMSRC:.s=.lst)
80 | -rm -f $(PROJECT).elf $(PROJECT).dmp $(PROJECT).map $(PROJECT).hex $(PROJECT).bin
81 | -rm -fR .dep
82 |
83 | #
84 | # Include the dependency files, should be the last of the makefile
85 | #
86 | -include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
87 |
88 | # *** EOF ***
89 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC560BCxx/bam.s:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file SPC560BCxx/bam.s
30 | * @brief SPC560BCxx boot assistant record.
31 | *
32 | * @addtogroup PPC_CORE
33 | * @{
34 | */
35 |
36 | #if !defined(__DOXYGEN__)
37 |
38 | /* BAM record.*/
39 | .section .bam, "ax"
40 | .long 0x015A0000
41 | .long _reset_address
42 |
43 | .align 2
44 | .globl _reset_address
45 | .type _reset_address, @function
46 | _reset_address:
47 | bl _coreinit
48 | bl _ivinit
49 |
50 | b _boot_address
51 |
52 | #endif /* !defined(__DOXYGEN__) */
53 |
54 | /** @} */
55 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC560BCxx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT SPC560BCxx port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx/bam.s \
5 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx/core.s \
6 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx/vectors.s \
7 | ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
8 | ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
11 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx
12 |
13 | PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC560BCxx/ld
14 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC560Bxx/bam.s:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file SPC560Bxx/bam.s
30 | * @brief SPC560Bxx boot assistant record.
31 | *
32 | * @addtogroup PPC_CORE
33 | * @{
34 | */
35 |
36 | #if !defined(__DOXYGEN__)
37 |
38 | /* BAM record.*/
39 | .section .bam, "ax"
40 | .long 0x015A0000
41 | .long _reset_address
42 |
43 | .align 2
44 | .globl _reset_address
45 | .type _reset_address, @function
46 | _reset_address:
47 | bl _coreinit
48 | bl _ivinit
49 |
50 | b _boot_address
51 |
52 | #endif /* !defined(__DOXYGEN__) */
53 |
54 | /** @} */
55 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC560Bxx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT SPC560Bxx port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx/bam.s \
5 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx/core.s \
6 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx/vectors.s \
7 | ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
8 | ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
11 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx
12 |
13 | PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Bxx/ld
14 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC560Dxx/bam.s:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file SPC560Dxx/bam.s
30 | * @brief SPC560Dxx boot assistant record.
31 | *
32 | * @addtogroup PPC_CORE
33 | * @{
34 | */
35 |
36 | #if !defined(__DOXYGEN__)
37 |
38 | /* BAM record.*/
39 | .section .bam, "ax"
40 | .long 0x015A0000
41 | .long _reset_address
42 |
43 | .align 2
44 | .globl _reset_address
45 | .type _reset_address, @function
46 | _reset_address:
47 | bl _coreinit
48 | bl _ivinit
49 |
50 | b _boot_address
51 |
52 | #endif /* !defined(__DOXYGEN__) */
53 |
54 | /** @} */
55 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC560Dxx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT SPC560Dxx port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx/bam.s \
5 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx/core.s \
6 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx/vectors.s \
7 | ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
8 | ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
11 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx
12 |
13 | PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Dxx/ld
14 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC560Pxx/bam.s:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file SPC560Pxx/bam.s
30 | * @brief SPC560Pxx boot assistant record.
31 | *
32 | * @addtogroup PPC_CORE
33 | * @{
34 | */
35 |
36 | #if !defined(__DOXYGEN__)
37 |
38 | /* BAM record.*/
39 | .section .bam, "ax"
40 | .long 0x015A0000
41 | .long _reset_address
42 |
43 | .align 2
44 | .globl _reset_address
45 | .type _reset_address, @function
46 | _reset_address:
47 | bl _coreinit
48 | bl _ivinit
49 |
50 | b _boot_address
51 |
52 | #endif /* !defined(__DOXYGEN__) */
53 |
54 | /** @} */
55 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC560Pxx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT SPC560Pxx port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx/bam.s \
5 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx/core.s \
6 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx/vectors.s \
7 | ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
8 | ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
11 | ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx
12 |
13 | PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC560Pxx/ld
14 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC563Mxx/bam.s:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file SPC563Mxx/bam.s
30 | * @brief SPC563Mxx boot assistant record.
31 | *
32 | * @addtogroup PPC_CORE
33 | * @{
34 | */
35 |
36 | #if !defined(__DOXYGEN__)
37 |
38 | /* BAM record.*/
39 | .section .bam, "ax"
40 | #if PPC_USE_VLE
41 | .long 0x015A0000
42 | #else
43 | .long 0x005A0000
44 | #endif
45 | .long _reset_address
46 |
47 | .align 2
48 | .globl _reset_address
49 | .type _reset_address, @function
50 | _reset_address:
51 | bl _coreinit
52 | bl _ivinit
53 |
54 | b _boot_address
55 |
56 | #endif /* !defined(__DOXYGEN__) */
57 |
58 | /** @} */
59 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC563Mxx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT SPC563Mxx port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx/bam.s \
5 | ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx/core.s \
6 | ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx/vectors.s \
7 | ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
8 | ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
11 | ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx
12 |
13 | PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC563Mxx/ld
14 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC563Mxx/ppcparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file SPC563Mxx/ppcparams.h
30 | * @brief PowerPC parameters for the SPC563Mxx.
31 | *
32 | * @defgroup PPC_SPC563Mxx SPC563Mxx Specific Parameters
33 | * @ingroup PPC_SPECIFIC
34 | * @details This file contains the PowerPC specific parameters for the
35 | * SPC563Mxx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _PPCPARAMS_H_
40 | #define _PPCPARAMS_H_
41 |
42 | /**
43 | * @brief PPC core model.
44 | */
45 | #define PPC_VARIANT PPC_VARIANT_e200z3
46 |
47 | /**
48 | * @brief Number of writable bits in IVPR register.
49 | */
50 | #define PPC_IVPR_BITS 16
51 |
52 | /**
53 | * @brief IVORx registers support.
54 | */
55 | #define PPC_SUPPORTS_IVORS TRUE
56 |
57 | /**
58 | * @brief Book E instruction set support.
59 | */
60 | #define PPC_SUPPORTS_BOOKE TRUE
61 |
62 | /**
63 | * @brief VLE instruction set support.
64 | */
65 | #define PPC_SUPPORTS_VLE TRUE
66 |
67 | /**
68 | * @brief Supports VLS Load/Store Multiple Volatile instructions.
69 | */
70 | #define PPC_SUPPORTS_VLE_MULTI TRUE
71 |
72 | /**
73 | * @brief Supports the decrementer timer.
74 | */
75 | #define PPC_SUPPORTS_DECREMENTER TRUE
76 |
77 | #endif /* _PPCPARAMS_H_ */
78 |
79 | /** @} */
80 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC564Axx/bam.s:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file SPC564Axx/bam.s
30 | * @brief SPC564Axx boot assistant record.
31 | *
32 | * @addtogroup PPC_CORE
33 | * @{
34 | */
35 |
36 | #if !defined(__DOXYGEN__)
37 |
38 | /* BAM record.*/
39 | .section .bam, "ax"
40 | #if PPC_USE_VLE
41 | .long 0x015A0000
42 | #else
43 | .long 0x005A0000
44 | #endif
45 | .long _reset_address
46 |
47 | .align 2
48 | .globl _reset_address
49 | .type _reset_address, @function
50 | _reset_address:
51 | bl _coreinit
52 | bl _ivinit
53 |
54 | b _boot_address
55 |
56 | #endif /* !defined(__DOXYGEN__) */
57 |
58 | /** @} */
59 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC564Axx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT SPC564Axx port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx/bam.s \
5 | ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx/core.s \
6 | ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx/vectors.s \
7 | ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
8 | ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
11 | ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx
12 |
13 | PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC564Axx/ld
14 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC564Axx/ppcparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file SPC564Axx/ppcparams.h
30 | * @brief PowerPC parameters for the SPC564Axx.
31 | *
32 | * @defgroup PPC_SPC564Axx SPC564Axx Specific Parameters
33 | * @ingroup PPC_SPECIFIC
34 | * @details This file contains the PowerPC specific parameters for the
35 | * SPC564Axx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _PPCPARAMS_H_
40 | #define _PPCPARAMS_H_
41 |
42 | /**
43 | * @brief PPC core model.
44 | */
45 | #define PPC_VARIANT PPC_VARIANT_e200z4
46 |
47 | /**
48 | * @brief IVORx registers support.
49 | */
50 | #define PPC_SUPPORTS_IVORS TRUE
51 |
52 | /**
53 | * @brief Book E instruction set support.
54 | */
55 | #define PPC_SUPPORTS_BOOKE TRUE
56 |
57 | /**
58 | * @brief VLE instruction set support.
59 | */
60 | #define PPC_SUPPORTS_VLE TRUE
61 |
62 | /**
63 | * @brief Supports VLS Load/Store Multiple Volatile instructions.
64 | */
65 | #define PPC_SUPPORTS_VLE_MULTI TRUE
66 |
67 | /**
68 | * @brief Supports the decrementer timer.
69 | */
70 | #define PPC_SUPPORTS_DECREMENTER TRUE
71 |
72 | #endif /* _PPCPARAMS_H_ */
73 |
74 | /** @} */
75 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC56ELxx/bam.s:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file SPC56ELxx/bam.s
30 | * @brief SPC56ELxx boot assistant record.
31 | *
32 | * @addtogroup PPC_CORE
33 | * @{
34 | */
35 |
36 | #if !defined(__DOXYGEN__)
37 |
38 | /* BAM record.*/
39 | .section .bam, "ax"
40 | #if PPC_USE_VLE
41 | .long 0x015A0000
42 | #else
43 | .long 0x005A0000
44 | #endif
45 | .long _reset_address
46 |
47 | .align 2
48 | .globl _reset_address
49 | .type _reset_address, @function
50 | _reset_address:
51 | bl _coreinit
52 | bl _ivinit
53 |
54 | b _boot_address
55 |
56 | #endif /* !defined(__DOXYGEN__) */
57 |
58 | /** @} */
59 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/PPC/SPC56ELxx/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT SPC56ELxx port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/PPC/chcore.c
3 |
4 | PORTASM = ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/bam.s \
5 | ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/core.s \
6 | ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/vectors.s \
7 | ${CHIBIOS}/os/ports/GCC/PPC/ivor.s \
8 | ${CHIBIOS}/os/ports/GCC/PPC/crt0.s
9 |
10 | PORTINC = ${CHIBIOS}/os/ports/GCC/PPC \
11 | ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx
12 |
13 | PORTLD = ${CHIBIOS}/os/ports/GCC/PPC/SPC56ELxx/ld
14 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/GCC/SIMIA32/port.mk:
--------------------------------------------------------------------------------
1 | # List of the ChibiOS/RT SIMIA32 port files.
2 | PORTSRC = ${CHIBIOS}/os/ports/GCC/SIMIA32/chcore.c
3 |
4 | PORTASM =
5 |
6 | PORTINC = ${CHIBIOS}/os/ports/GCC/SIMIA32
7 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/IAR/ARMCMx/LPC11xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file IAR/ARMCMx/LPC11xx/cmparams.h
30 | * @brief ARM Cortex-M0 parameters for the LPC11xx.
31 | *
32 | * @defgroup IAR_ARMCMx_LPC11xx LPC11xx Specific Parameters
33 | * @ingroup IAR_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M0 specific parameters for the
35 | * LPC11xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M0
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 2
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/IAR/ARMCMx/LPC13xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file IAR/ARMCMx/LPC13xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the LPC13xx.
31 | *
32 | * @defgroup IAR_ARMCMx_LPC13xx LPC13xx Specific Parameters
33 | * @ingroup IAR_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M3 specific parameters for the
35 | * LPC13xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 3
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/IAR/ARMCMx/STM32F1xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file IAR/ARMCMx/STM32F1xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the STM32F1xx.
31 | *
32 | * @defgroup IAR_ARMCMx_STM32F1xx STM32F1xx Specific Parameters
33 | * @ingroup IAR_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M3 specific parameters for the
35 | * STM32F1xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/IAR/ARMCMx/STM32F4xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file IAR/ARMCMx/STM32F4xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the STM32F4xx.
31 | *
32 | * @defgroup IAR_ARMCMx_STM32F4xx STM32F4xx Specific Parameters
33 | * @ingroup IAR_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M4 specific parameters for the
35 | * STM32F4xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M4
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU TRUE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU TRUE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/IAR/ARMCMx/STM32L1xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file IAR/ARMCMx/STM32L1xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the STM32L1xx.
31 | *
32 | * @defgroup IAR_ARMCMx_STM32L1xx STM32L1xx Specific Parameters
33 | * @ingroup IAR_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M3 specific parameters for the
35 | * STM32L1xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU TRUE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/IAR/ARMCMx/chcore.c:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file IAR/ARMCMx/chcore.c
30 | * @brief ARM Cortex-Mx port code.
31 | *
32 | * @addtogroup IAR_ARMCMx_CORE
33 | * @{
34 | */
35 |
36 | #include "ch.h"
37 |
38 | /**
39 | * @brief Halts the system.
40 | * @note The function is declared as a weak symbol, it is possible
41 | * to redefine it in your application code.
42 | */
43 | #if !defined(__DOXYGEN__)
44 | __weak
45 | #endif
46 | void port_halt(void) {
47 |
48 | port_disable();
49 | while (TRUE) {
50 | }
51 | }
52 |
53 | /** @} */
54 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/RVCT/ARMCMx/LPC11xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file RVCT/ARMCMx/LPC11xx/cmparams.h
30 | * @brief ARM Cortex-M0 parameters for the LPC11xx.
31 | *
32 | * @defgroup RVCT_ARMCMx_LPC11xx LPC11xx Specific Parameters
33 | * @ingroup RVCT_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M0 specific parameters for the
35 | * LPC11xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M0
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 2
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/RVCT/ARMCMx/LPC13xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file RVCT/ARMCMx/LPC13xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the LPC13xx.
31 | *
32 | * @defgroup RVCT_ARMCMx_LPC13xx LPC13xx Specific Parameters
33 | * @ingroup RVCT_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M3 specific parameters for the
35 | * LPC13xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 3
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/RVCT/ARMCMx/STM32F1xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file RVCT/ARMCMx/STM32F1xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the STM32F1xx.
31 | *
32 | * @defgroup RVCT_ARMCMx_STM32F1xx STM32F1xx Specific Parameters
33 | * @ingroup RVCT_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M3 specific parameters for the
35 | * STM32F1xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU FALSE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/RVCT/ARMCMx/STM32F4xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file RVCT/ARMCMx/STM32F4xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the STM32F4xx.
31 | *
32 | * @defgroup RVCT_ARMCMx_STM32F4xx STM32F4xx Specific Parameters
33 | * @ingroup RVCT_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M4 specific parameters for the
35 | * STM32F4xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M4
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU TRUE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU TRUE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/RVCT/ARMCMx/STM32L1xx/cmparams.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file RVCT/ARMCMx/STM32L1xx/cmparams.h
30 | * @brief ARM Cortex-M3 parameters for the STM32L1xx.
31 | *
32 | * @defgroup RVCT_ARMCMx_STM32L1xx STM32L1xx Specific Parameters
33 | * @ingroup RVCT_ARMCMx_SPECIFIC
34 | * @details This file contains the Cortex-M3 specific parameters for the
35 | * STM32L1xx platform.
36 | * @{
37 | */
38 |
39 | #ifndef _CMPARAMS_H_
40 | #define _CMPARAMS_H_
41 |
42 | /**
43 | * @brief Cortex core model.
44 | */
45 | #define CORTEX_MODEL CORTEX_M3
46 |
47 | /**
48 | * @brief Systick unit presence.
49 | */
50 | #define CORTEX_HAS_ST TRUE
51 |
52 | /**
53 | * @brief Memory Protection unit presence.
54 | */
55 | #define CORTEX_HAS_MPU TRUE
56 |
57 | /**
58 | * @brief Floating Point unit presence.
59 | */
60 | #define CORTEX_HAS_FPU FALSE
61 |
62 | /**
63 | * @brief Number of bits in priority masks.
64 | */
65 | #define CORTEX_PRIORITY_BITS 4
66 |
67 | #endif /* _CMPARAMS_H_ */
68 |
69 | /** @} */
70 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/RVCT/ARMCMx/chcore.c:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @file RVCT/ARMCMx/chcore.c
30 | * @brief ARM Cortex-Mx port code.
31 | *
32 | * @addtogroup RVCT_ARMCMx_CORE
33 | * @{
34 | */
35 |
36 | #include "ch.h"
37 |
38 | /**
39 | * @brief Halts the system.
40 | * @note The function is declared as a weak symbol, it is possible
41 | * to redefine it in your application code.
42 | */
43 | #if !defined(__DOXYGEN__)
44 | __attribute__((weak))
45 | #endif
46 | void port_halt(void) {
47 |
48 | port_disable();
49 | while (TRUE) {
50 | }
51 | }
52 |
53 | /** @} */
54 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/common/ARMCMx/CMSIS/include/arm_common_tables.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Copyright (C) 2010 ARM Limited. All rights reserved.
3 | *
4 | * $Date: 11. November 2010
5 | * $Revision: V1.0.2
6 | *
7 | * Project: CMSIS DSP Library
8 | * Title: arm_common_tables.h
9 | *
10 | * Description: This file has extern declaration for common tables like Bitreverse, reciprocal etc which are used across different functions
11 | *
12 | * Target Processor: Cortex-M4/Cortex-M3
13 | *
14 | * Version 1.0.2 2010/11/11
15 | * Documentation updated.
16 | *
17 | * Version 1.0.1 2010/10/05
18 | * Production release and review comments incorporated.
19 | *
20 | * Version 1.0.0 2010/09/20
21 | * Production release and review comments incorporated.
22 | * -------------------------------------------------------------------- */
23 |
24 | #ifndef _ARM_COMMON_TABLES_H
25 | #define _ARM_COMMON_TABLES_H
26 |
27 | #include "arm_math.h"
28 |
29 | extern const uint16_t armBitRevTable[1024];
30 | extern const q15_t armRecipTableQ15[64];
31 | extern const q31_t armRecipTableQ31[64];
32 | extern const q31_t realCoefAQ31[1024];
33 | extern const q31_t realCoefBQ31[1024];
34 | extern const float32_t twiddleCoef[6144];
35 | extern const q31_t twiddleCoefQ31[6144];
36 | extern const q15_t twiddleCoefQ15[6144];
37 |
38 | #endif /* ARM_COMMON_TABLES_H */
39 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/common/ARMCMx/CMSIS/readme.txt:
--------------------------------------------------------------------------------
1 | CMSIS is Copyright (C) 2011 ARM Limited. All rights reserved.
2 |
3 | This directory contains only part of the CMSIS package. If you need the whole
4 | package please download it from:
5 |
6 | http://www.onarm.com
7 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/common/ARMCMx/port.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup COMMON_ARMCMx ARM Cortex-Mx Common Code
30 | * @ingroup port_common
31 | */
32 |
33 | /**
34 | * @defgroup COMMON_ARMCMx_NVIC NVIC Support
35 | * @details ARM Cortex-Mx NVIC support.
36 | *
37 | * @ingroup COMMON_ARMCMx
38 | */
39 |
40 | /** @} */
41 |
42 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/ports/ports.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
3 | 2011,2012,2013 Giovanni Di Sirio.
4 |
5 | This file is part of ChibiOS/RT.
6 |
7 | ChibiOS/RT is free software; you can redistribute it and/or modify
8 | it under the terms of the GNU General Public License as published by
9 | the Free Software Foundation; either version 3 of the License, or
10 | (at your option) any later version.
11 |
12 | ChibiOS/RT is distributed in the hope that it will be useful,
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | GNU General Public License for more details.
16 |
17 | You should have received a copy of the GNU General Public License
18 | along with this program. If not, see .
19 |
20 | ---
21 |
22 | A special exception to the GPL can be applied should you wish to distribute
23 | a combined work that includes ChibiOS/RT, without being obliged to provide
24 | the source code for any proprietary components. See the file exception.txt
25 | for full details of how and when the exception can be applied.
26 | */
27 |
28 | /**
29 | * @defgroup ports Ports
30 | * This section describes the technical details of the various supported
31 | * ChibiOS/RT ports.
32 | */
33 |
34 | /**
35 | * @defgroup port_common Common Code
36 | * Code common to all compilers.
37 | *
38 | * @ingroup ports
39 | */
40 |
41 | /**
42 | * @defgroup gcc GCC Ports
43 | * Ports for the GCC compiler or derivatives.
44 | *
45 | * @ingroup ports
46 | */
47 |
48 | /**
49 | * @defgroup iar IAR Ports
50 | * Ports for the IAR compiler.
51 | *
52 | * @ingroup ports
53 | */
54 |
55 | /**
56 | * @defgroup rvct RVCT Ports
57 | * Ports for the RVCT compiler.
58 | *
59 | * @ingroup ports
60 | */
61 |
62 | /* *
63 | * @defgroup cosmic Cosmic Compiler Ports
64 | * Ports for the Compiler compiler.
65 | *
66 | * @ingroup ports
67 | */
68 |
69 | /* *
70 | * @defgroup raisonance Raisonance Compiler Ports
71 | * Ports for the Raisonance compiler.
72 | *
73 | * @ingroup ports
74 | */
75 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/various/chrtclib.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 | /*
17 | Concepts and parts of this file have been contributed by Uladzimir Pylinsky
18 | aka barthess.
19 | */
20 |
21 | /**
22 | * @file chrtclib.h
23 | * @brief RTC time conversion utilities header.
24 | *
25 | * @addtogroup chrtclib
26 | * @{
27 | */
28 |
29 | #ifndef CHRTCLIB_H_
30 | #define CHRTCLIB_H_
31 |
32 | #include
33 |
34 | #if HAL_USE_RTC || defined(__DOXYGEN__)
35 |
36 | /*===========================================================================*/
37 | /* External declarations. */
38 | /*===========================================================================*/
39 |
40 | #ifdef __cplusplus
41 | extern "C" {
42 | #endif
43 | #if !STM32_RTC_IS_CALENDAR
44 | uint32_t rtcGetTimeFat(RTCDriver *rtcp);
45 | #endif
46 | void rtcGetTimeTm(RTCDriver *rtcp, struct tm *timp);
47 | void rtcSetTimeTm(RTCDriver *rtcp, struct tm *timp);
48 | time_t rtcGetTimeUnixSec(RTCDriver *rtcp);
49 | uint64_t rtcGetTimeUnixUsec(RTCDriver *rtcp);
50 | void rtcSetTimeUnixSec(RTCDriver *rtcp, time_t tv_sec);
51 | #ifdef __cplusplus
52 | }
53 | #endif
54 |
55 | #endif /* HAL_USE_RTC */
56 |
57 | #endif /* CHRTCLIB_H_ */
58 |
59 | /** @} */
60 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/various/cpp_wrappers/kernel.mk:
--------------------------------------------------------------------------------
1 | # C++ wrapper files.
2 | CHCPPSRC = ${CHIBIOS}/os/various/cpp_wrappers/ch.cpp
3 |
4 | CHCPPINC = ${CHIBIOS}/os/various/cpp_wrappers
5 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/various/devices_lib/accel/lis302dl.dox:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @defgroup lis302dl Interface module for LIS302DL MEMS
19 | *
20 | * @brief Interface module for LIS302DL MEMS.
21 | * @details This module implements a generic interface for the LIS302DL
22 | * STMicroelectronics MEMS device. The communication is performed
23 | * through a standard SPI driver.
24 | *
25 | * @ingroup accel
26 | */
27 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/various/evtimer.c:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file evtimer.c
19 | * @brief Events Generator Timer code.
20 | *
21 | * @addtogroup event_timer
22 | * @{
23 | */
24 |
25 | #include "ch.h"
26 | #include "evtimer.h"
27 |
28 | static void tmrcb(void *p) {
29 | EvTimer *etp = p;
30 |
31 | chSysLockFromIsr();
32 | chEvtBroadcastI(&etp->et_es);
33 | chVTSetI(&etp->et_vt, etp->et_interval, tmrcb, etp);
34 | chSysUnlockFromIsr();
35 | }
36 |
37 | /**
38 | * @brief Starts the timer
39 | * @details If the timer was already running then the function has no effect.
40 | *
41 | * @param etp pointer to an initialized @p EvTimer structure.
42 | */
43 | void evtStart(EvTimer *etp) {
44 |
45 | chSysLock();
46 |
47 | if (!chVTIsArmedI(&etp->et_vt))
48 | chVTSetI(&etp->et_vt, etp->et_interval, tmrcb, etp);
49 |
50 | chSysUnlock();
51 | }
52 |
53 | /**
54 | * @brief Stops the timer.
55 | * @details If the timer was already stopped then the function has no effect.
56 | *
57 | * @param etp pointer to an initialized @p EvTimer structure.
58 | */
59 | void evtStop(EvTimer *etp) {
60 |
61 | chVTReset(&etp->et_vt);
62 | }
63 |
64 | /** @} */
65 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/various/evtimer.h:
--------------------------------------------------------------------------------
1 | /*
2 | ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 | */
16 |
17 | /**
18 | * @file evtimer.h
19 | * @brief Events Generator Timer structures and macros.
20 | *
21 | * @addtogroup event_timer
22 | * @{
23 | */
24 |
25 | #ifndef _EVTIMER_H_
26 | #define _EVTIMER_H_
27 |
28 |
29 | /*
30 | * Module dependencies check.
31 | */
32 | #if !CH_USE_EVENTS
33 | #error "Event Timers require CH_USE_EVENTS"
34 | #endif
35 |
36 | /**
37 | * @brief Event timer structure.
38 | */
39 | typedef struct {
40 | VirtualTimer et_vt;
41 | EventSource et_es;
42 | systime_t et_interval;
43 | } EvTimer;
44 |
45 | #ifdef __cplusplus
46 | extern "C" {
47 | #endif
48 | void evtStart(EvTimer *etp);
49 | void evtStop(EvTimer *etp);
50 | #ifdef __cplusplus
51 | }
52 | #endif
53 |
54 | /**
55 | * @brief Initializes an @p EvTimer structure.
56 | *
57 | * @param etp the EvTimer structure to be initialized
58 | * @param time the interval in system ticks
59 | */
60 | #define evtInit(etp, time) { \
61 | chEvtInit(&(etp)->et_es); \
62 | (etp)->et_vt.vt_func = NULL; \
63 | (etp)->et_interval = (time); \
64 | }
65 |
66 | #endif /* _EVTIMER_H_ */
67 |
68 | /** @} */
69 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/various/fatfs_bindings/fatfs.mk:
--------------------------------------------------------------------------------
1 | # FATFS files.
2 | FATFSSRC = ${CHIBIOS}/os/various/fatfs_bindings/fatfs_diskio.c \
3 | ${CHIBIOS}/os/various/fatfs_bindings/fatfs_syscall.c \
4 | ${CHIBIOS}/ext/fatfs/src/ff.c \
5 | ${CHIBIOS}/ext/fatfs/src/option/ccsbcs.c
6 |
7 | FATFSINC = ${CHIBIOS}/ext/fatfs/src
8 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/various/fatfs_bindings/readme.txt:
--------------------------------------------------------------------------------
1 | This directory contains the ChibiOS/RT "official" bindings with the FatFS
2 | library by ChaN: http://elm-chan.org
3 |
4 | In order to use FatFS within ChibiOS/RT project, unzip FatFS under
5 | ./ext/fatfs then include $(CHIBIOS)/os/various/fatfs_bindings/fatfs.mk
6 | in your makefile.
7 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/various/lwip_bindings/lwip.mk:
--------------------------------------------------------------------------------
1 | # List of the required lwIP files.
2 | LWIP = ${CHIBIOS}/ext/lwip
3 |
4 | LWBINDSRC = \
5 | $(CHIBIOS)/os/various/lwip_bindings/lwipthread.c \
6 | $(CHIBIOS)/os/various/lwip_bindings/arch/sys_arch.c
7 |
8 | LWNETIFSRC = \
9 | ${LWIP}/src/netif/etharp.c
10 |
11 | LWCORESRC = \
12 | ${LWIP}/src/core/dhcp.c \
13 | ${LWIP}/src/core/dns.c \
14 | ${LWIP}/src/core/init.c \
15 | ${LWIP}/src/core/mem.c \
16 | ${LWIP}/src/core/memp.c \
17 | ${LWIP}/src/core/netif.c \
18 | ${LWIP}/src/core/pbuf.c \
19 | ${LWIP}/src/core/raw.c \
20 | ${LWIP}/src/core/stats.c \
21 | ${LWIP}/src/core/sys.c \
22 | ${LWIP}/src/core/tcp.c \
23 | ${LWIP}/src/core/tcp_in.c \
24 | ${LWIP}/src/core/tcp_out.c \
25 | ${LWIP}/src/core/udp.c
26 |
27 | LWIPV4SRC = \
28 | ${LWIP}/src/core/ipv4/autoip.c \
29 | ${LWIP}/src/core/ipv4/icmp.c \
30 | ${LWIP}/src/core/ipv4/igmp.c \
31 | ${LWIP}/src/core/ipv4/inet.c \
32 | ${LWIP}/src/core/ipv4/inet_chksum.c \
33 | ${LWIP}/src/core/ipv4/ip.c \
34 | ${LWIP}/src/core/ipv4/ip_addr.c \
35 | ${LWIP}/src/core/ipv4/ip_frag.c \
36 | ${LWIP}/src/core/def.c \
37 | ${LWIP}/src/core/timers.c
38 |
39 | LWAPISRC = \
40 | ${LWIP}/src/api/api_lib.c \
41 | ${LWIP}/src/api/api_msg.c \
42 | ${LWIP}/src/api/err.c \
43 | ${LWIP}/src/api/netbuf.c \
44 | ${LWIP}/src/api/netdb.c \
45 | ${LWIP}/src/api/netifapi.c \
46 | ${LWIP}/src/api/sockets.c \
47 | ${LWIP}/src/api/tcpip.c
48 |
49 | LWSRC = $(LWBINDSRC) $(LWNETIFSRC) $(LWCORESRC) $(LWIPV4SRC) $(LWAPISRC)
50 |
51 | LWINC = \
52 | $(CHIBIOS)/os/various/lwip_bindings \
53 | ${LWIP}/src/include \
54 | ${LWIP}/src/include/ipv4
55 |
--------------------------------------------------------------------------------
/Firmware/IAR/os/various/lwip_bindings/readme.txt:
--------------------------------------------------------------------------------
1 | This directory contains the ChibiOS/RT "official" bindings with the lwIP
2 | TCP/IP stack: http://savannah.nongnu.org/projects/lwip
3 |
4 | In order to use FatFS within ChibiOS/RT project, unzip FatFS under
5 | ./ext/lwip-1.4.0 then include $(CHIBIOS)/os/various/lwip_bindings/lwip.mk
6 | in your makefile.
7 |
--------------------------------------------------------------------------------
/Hardware/CAN_Logger.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Hardware/CAN_Logger.pdf
--------------------------------------------------------------------------------
/Hardware/Gerber/CANLogger_Gerber_PCBway.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/akpc806a/CAN_Logger/db23d2e5c2f1b6b5b7c5ac875baa646f43d4948c/Hardware/Gerber/CANLogger_Gerber_PCBway.zip
--------------------------------------------------------------------------------
/Hardware/Gerber/CAN_Logger.GBO:
--------------------------------------------------------------------------------
1 | G75*
2 | G70*
3 | %OFA0B0*%
4 | %FSLAX24Y24*%
5 | %IPPOS*%
6 | %LPD*%
7 | %AMOC8*
8 | 5,1,8,0,0,1.08239X$1,22.5*
9 | %
10 | %ADD10C,0.0000*%
11 | D10*
12 | X001043Y000625D02*
13 | X001043Y008833D01*
14 | X020042Y008833D01*
15 | X020042Y000625D01*
16 | X001043Y000625D01*
17 | M02*
18 |
--------------------------------------------------------------------------------
/Hardware/Gerber/CAN_Logger.GBP:
--------------------------------------------------------------------------------
1 | G75*
2 | G70*
3 | %OFA0B0*%
4 | %FSLAX24Y24*%
5 | %IPPOS*%
6 | %LPD*%
7 | %AMOC8*
8 | 5,1,8,0,0,1.08239X$1,22.5*
9 | %
10 | %ADD10C,0.0000*%
11 | D10*
12 | X001043Y000625D02*
13 | X001043Y008833D01*
14 | X020042Y008833D01*
15 | X020042Y000625D01*
16 | X001043Y000625D01*
17 | M02*
18 |
--------------------------------------------------------------------------------
/Hardware/Gerber/CAN_Logger.GBS:
--------------------------------------------------------------------------------
1 | G75*
2 | G70*
3 | %OFA0B0*%
4 | %FSLAX24Y24*%
5 | %IPPOS*%
6 | %LPD*%
7 | %AMOC8*
8 | 5,1,8,0,0,1.08239X$1,22.5*
9 | %
10 | %ADD10C,0.0000*%
11 | %ADD11C,0.0634*%
12 | D10*
13 | X001043Y000625D02*
14 | X001043Y008833D01*
15 | X020042Y008833D01*
16 | X020042Y000625D01*
17 | X001043Y000625D01*
18 | D11*
19 | X018953Y001425D02*
20 | X019546Y001425D01*
21 | X019546Y002425D02*
22 | X018953Y002425D01*
23 | X018928Y006150D02*
24 | X019521Y006150D01*
25 | X019521Y007150D02*
26 | X018928Y007150D01*
27 | X018928Y008150D02*
28 | X019521Y008150D01*
29 | M02*
30 |
--------------------------------------------------------------------------------
/Hardware/Gerber/CAN_Logger.GML:
--------------------------------------------------------------------------------
1 | G75*
2 | G70*
3 | %OFA0B0*%
4 | %FSLAX24Y24*%
5 | %IPPOS*%
6 | %LPD*%
7 | %AMOC8*
8 | 5,1,8,0,0,1.08239X$1,22.5*
9 | %
10 | %ADD10C,0.0000*%
11 | D10*
12 | X001043Y000625D02*
13 | X001043Y008833D01*
14 | X020042Y008833D01*
15 | X020042Y000625D01*
16 | X001043Y000625D01*
17 | M02*
18 |
--------------------------------------------------------------------------------
/Hardware/Gerber/CAN_Logger.TXT:
--------------------------------------------------------------------------------
1 | %
2 | M48
3 | M72
4 | T01C0.0157
5 | T02C0.0236
6 | T03C0.0394
7 | %
8 | T01
9 | X5774Y2400
10 | X6624Y2275
11 | X6249Y1775
12 | X7899Y2675
13 | X5374Y3600
14 | X8149Y4250
15 | X10499Y3800
16 | X11499Y4200
17 | X11699Y3650
18 | X12099Y3650
19 | X12024Y3175
20 | X13824Y3675
21 | X15399Y4300
22 | X14724Y5850
23 | X13899Y6425
24 | X13249Y5975
25 | X15724Y6350
26 | X13199Y7125
27 | X13899Y8000
28 | X13574Y8250
29 | X14574Y8500
30 | X15149Y8075
31 | X15824Y7950
32 | X10249Y7150
33 | X9874Y7150
34 | X7474Y8100
35 | X5849Y8475
36 | X4974Y7800
37 | X5124Y7200
38 | X5349Y6150
39 | X3174Y5575
40 | X2774Y5575
41 | X13724Y2100
42 | X13824Y1575
43 | X15024Y1575
44 | X19149Y3250
45 | X19524Y3250
46 | T02
47 | X4774Y1750
48 | X3124Y2375
49 | X4024Y4675
50 | X14449Y3100
51 | X16424Y1875
52 | T03
53 | X19249Y1425
54 | X19249Y2425
55 | X19224Y6150
56 | X19224Y7150
57 | X19224Y8150
58 | M30
59 |
--------------------------------------------------------------------------------
/Hardware/Gerber/CAN_Logger.dri:
--------------------------------------------------------------------------------
1 | Generated by EAGLE CAM Processor 6.4.0
2 |
3 | Drill Station Info File: D:/Electronics/CAN/CAN_Logger/CAN_Logger/Hardware/CAN_Logger.dri
4 |
5 | Date : 7/15/2018 7:08:55 PM
6 | Drills : generated
7 | Device : Excellon drill station
8 |
9 | Parameter settings:
10 |
11 | Tolerance Drill + : 0.00 %
12 | Tolerance Drill - : 0.00 %
13 | Rotate : no
14 | Mirror : no
15 | Optimize : yes
16 | Auto fit : yes
17 | OffsetX : 0inch
18 | OffsetY : 0inch
19 | Layers : Drills Holes
20 |
21 | Drill File Info:
22 |
23 | Data Mode : Absolute
24 | Units : 1/10000 Inch
25 |
26 | Drills used:
27 |
28 | Code Size used
29 |
30 | T01 0.0157inch 37
31 | T02 0.0236inch 5
32 | T03 0.0394inch 5
33 |
34 | Total number of drills: 47
35 |
36 | Plotfiles:
37 |
38 | D:/Electronics/CAN/CAN_Logger/CAN_Logger/Hardware/CAN_Logger.TXT
39 |
--------------------------------------------------------------------------------
/Hardware/Gerber/CAN_Logger.gpi:
--------------------------------------------------------------------------------
1 | Generated by EAGLE CAM Processor 6.4.0
2 |
3 | Photoplotter Info File: D:/Electronics/CAN/CAN_Logger/CAN_Logger/Hardware/CAN_Logger.gpi
4 |
5 | Date : 7/15/2018 7:08:56 PM
6 | Plotfile : D:/Electronics/CAN/CAN_Logger/CAN_Logger/Hardware/CAN_Logger.GTL
7 | Apertures : generated:
8 | Device : Gerber RS-274-X photoplotter, coordinate format 2.4 inch
9 |
10 | Parameter settings:
11 |
12 | Emulate Apertures : no
13 | Tolerance Draw + : 0.00 %
14 | Tolerance Draw - : 0.00 %
15 | Tolerance Flash + : 0.00 %
16 | Tolerance Flash - : 0.00 %
17 | Rotate : no
18 | Mirror : no
19 | Optimize : yes
20 | Auto fit : yes
21 | OffsetX : 0inch
22 | OffsetY : 0inch
23 |
24 | Plotfile Info:
25 |
26 | Coordinate Format : 2.4
27 | Coordinate Units : Inch
28 | Data Mode : Absolute
29 | Zero Suppression : None
30 | End Of Block : *
31 |
32 | Apertures used:
33 |
34 | Code Shape Size used
35 |
36 | D10 draw 0.0000inch 4
37 | D11 rectangle 0.0118inch x 0.0630inch 32
38 | D12 rectangle 0.0630inch x 0.0118inch 32
39 | D13 rectangle 0.0790inch x 0.0590inch 3
40 | D14 rectangle 0.0790inch x 0.1500inch 1
41 | D15 rectangle 0.0394inch x 0.0433inch 34
42 | D16 rectangle 0.0709inch x 0.0630inch 2
43 | D17 rectangle 0.0780inch x 0.0220inch 8
44 | D18 rectangle 0.0433inch x 0.0394inch 30
45 | D19 rectangle 0.2000inch x 0.0700inch 2
46 | D20 draw 0.0594inch 5
47 | D21 rectangle 0.0591inch x 0.0512inch 2
48 | D22 square 0.0394inch 2
49 | D23 rectangle 0.0394inch x 0.0551inch 3
50 | D24 square 0.0315inch 6
51 | D25 rectangle 0.0630inch x 0.0709inch 2
52 | D26 rectangle 0.0600inch x 0.0500inch 2
53 | D27 rectangle 0.0169inch x 0.0110inch 2
54 | D28 rectangle 0.0500inch x 0.1000inch 2
55 | D29 rectangle 0.0660inch x 0.0320inch 8
56 | D30 round 0.0277inch 37
57 | D31 draw 0.0240inch 41
58 | D32 draw 0.0100inch 284
59 | D33 draw 0.0160inch 9
60 | D34 draw 0.0400inch 13
61 | D35 draw 0.0320inch 12
62 | D36 draw 0.0560inch 7
63 | D37 round 0.0356inch 5
64 |
65 |
--------------------------------------------------------------------------------
/Readme.md:
--------------------------------------------------------------------------------
1 | # CAN Bus Logger / Playback Device with SD-card
2 |
3 | The device can be used to log data from any CAN-bus based application: vehicle, automation, robotics, etc. The log is stored in comma separated text file (CSV) and each log entry (CAN-message) has a time stamp. It also has playback function, i.e. can play recorded file back onto a CAN bus, turning the device into a CAN bus simulator. The logger is an ideal solution for applications where small, cheap and simple device is needed to record CAN-bus activity without any additional hardware.
4 |
5 | ## Features
6 |
7 | - The device has only one start/stop button, and all the settings are stored in configuration text file on SD card. No external PC or smartphone is required for logger operation.
8 | - Bitrates up to 1 Mbps (any non-standard baud rate supported), supports CAN 2.0A (11-Bit ID) and CAN 2.0B (29-Bit ID).
9 | - Optional message filtering based on ID mask matching.
10 | - Selectable listen-only mode (without CAN bus acknowledge).
11 | - Three LEDs for indication of logger status.
12 | - Playback function with time accuracy of 3 ms.
13 | - Open source and open hardware project.
14 |
15 |
16 | ## Specification
17 |
18 | - Support for up to 32GB micro-SD cards (FAT32), for best results the UHS Speed Class 1 (U1) SD card recommended.
19 | - Power supply voltage: from +5V to +20V DC.
20 | - Dimensions: 48.26 x 20.85 mm (1.9 x 0.82 in).
21 | - Microcontroller: STM32F405RGT6 (ARM Cortex M4).
22 |
23 | ## Where to buy ready made device
24 |
25 | - [My Tindie store](https://www.tindie.com/products/akpc806a/can-bus-logger-with-sd-card/)
26 | - [eBay](https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2380057.m570.l1313.TR0.TRC0.H0.XCAN+Bus+Logger+with+SD-card.TRS5&_nkw=CAN+Bus+Logger+with+SD-card&_sacat=0)
27 |
28 | 
--------------------------------------------------------------------------------