Commit Graph

172 Commits

Author SHA1 Message Date
Stefan Kerkmann b875108cd0 Add R/W memory and instruction barrier after mstatus access
Fast subsequent reads and writes to the mstatus csr lead to
illegal instruction exceptions on the nucleisys bumblee core
of the gd32vf103. This behavior only occurred in high load
situations e.g. interrupt frequency of 5khz but reliably let
to these errors.  Adding the instruction and memory barriers solved
the problem. There is some negligible performance impact.
2021-04-16 16:10:08 +02:00
Stefan Kerkmann 35a04fc72c Add myself to copyright notes :-) 2021-04-06 13:38:23 +02:00
Stefan Kerkmann fcb66ed300 Add previously undefined constants 2021-04-06 13:38:23 +02:00
Stefan Kerkmann 73336cf3b6 Increase idle stacksize, add isr locking/unlocking 2021-04-06 13:38:21 +02:00
Stefan Kerkmann 5abb73e524 Migrate port and startup code to nmsis 2021-04-06 13:38:21 +02:00
Stefan Kerkmann bb7a299638 Add RISC-V ECLIC startup and port files 2021-04-06 13:38:21 +02:00
Stefan Kerkmann b729125bdd Add Nucleisys NMSIS sources 2021-04-06 13:38:21 +02:00
a_p_u_r_o 9a861b0e8c
Merge branch 'chibios-20.3.x' into nuc123-kvs-example 2021-04-03 08:58:28 +09:00
Michael Stapelberg 22b4ec3b6b MIMXRT1062: hal: port Arduino Teensy 4 Core startup code and linker script
The one oddity of this platform is that it requires using XIP (eXecute In
Place), which for us largely means setting up a few special sections at special
flash locations.

References:
https://www.nxp.com/docs/en/application-note/AN12107.pdf
https://github.com/PaulStoffregen/cores/blob/master/teensy4/imxrt1062_t41.ld
https://www.pjrc.com/store/teensy40.html#memory_layout
2021-03-31 13:59:00 +02:00
Michael Stapelberg a96c5d87d8 cmparams: set correct ARM version and number of vectors 2021-03-27 16:03:55 +01:00
Michael Stapelberg f19da3e183 replace file names to use MIMXRT1062 2021-03-27 16:03:55 +01:00
Michael Stapelberg b4b3579c86 branch startup (no changes yet) 2021-03-27 16:03:55 +01:00
Alex Lewontin 09394a1b1a
NUC123: Added CONFIG0/1 settings, and updated linker script 2021-02-14 14:34:24 -05:00
codetector 7230eb96cc
[HAL/HT32]: Initial HT32 Support with a USB-DFU Demo 2020-12-31 02:27:13 -05:00
Alex Lewontin 0b4b1d7542
NUC123SD4AN0 -> NUC123 conversion 2020-12-12 18:18:57 -05:00
Alex Lewontin adc44c4276
Use OEM CMSIS peripheral access headers 2020-12-05 17:05:14 -05:00
codetector c5bd388844
Merge remote-tracking branch 'origin/lpc11uxx' into lpc11uxx-v20.x 2020-12-05 10:17:49 -05:00
codetector 674cf13603
SPI Driver + modified vector file 2020-12-05 10:14:03 -05:00
codetector 9f194d72dc
USB Works 2020-12-05 10:14:03 -05:00
codetector 4e5d4015b8
[LPC11Uxx]: Initial support for GPIO (PAL) 2020-12-05 10:14:03 -05:00
codetector 325bd43323
[LPC11Uxx]: Initial Support: RT + HAL ClockInit 2020-12-05 10:14:02 -05:00
codetector dae27fbf5f
UART + Serial Driver 2020-12-03 22:31:21 -05:00
codetector feb46948da
SPI Driver + modified vector file 2020-11-30 13:13:07 -05:00
codetector f065a3bb2e
USB Works 2020-11-29 15:20:58 -05:00
codetector 2e9d04fb80
[LPC11Uxx]: Initial support for GPIO (PAL) 2020-11-26 23:31:17 -05:00
codetector 20369a3011
[LPC11Uxx]: Initial Support: RT + HAL ClockInit 2020-11-26 16:04:08 -05:00
Reza Jelveh 469b5a35c2 Nuvoton NUC123SD4AN0 build fix 2020-11-08 20:38:01 +08:00
GitWellBack 08e48cd50b Update to integrate OSS re-engineer of NUMICRO MCU 2020-11-04 12:05:16 +08:00
GitWellBack beaf559be9 Nuvoton NUC123SD4AN0 MCU port, ready for Ducky One 2 Mini keyboard integration 2020-11-04 12:05:16 +08:00
Michael Stapelberg 571691aeab fix a couple of forgotten SET calls 2020-06-03 22:02:29 +02:00
Michael Stapelberg f43207c75f MK66F18.h: fix typo: UARTTypeDef → UART_TypeDef 2020-06-02 21:07:38 +02:00
Fabien Poussin f6f1185a10 Various fixes to make it pass tests 2020-04-08 19:55:22 +02:00
Konstantin Oblaukhov f53e426780 Update NRF52832 device headers to latest version from NRF5 SDK. 2020-01-05 12:11:10 +07:00
Diego Ismirlian 1ca49e0b90 Fault handlers: v7m: simplify 2019-10-02 15:18:08 -03:00
Diego Ismirlian 41f2f8462a Add fault handlers to ease ARM-v7m (Cortex M3/M4(F)/M7 debugging 2019-10-02 15:14:28 -03:00
Fabien Poussin f1dce4dc14 Kinetis makefiles fixes 2019-10-02 10:47:02 +02:00
Konstantin Oblaukhov d921781a45 KINETIS platform update for ChibiOS 18.2.x. 2018-11-20 09:53:30 +07:00
Konstantin Oblaukhov 0e6f501f80 Update all NRF5x makefiles and chconf.h.
Add missing halconf_community.h
2018-11-20 09:52:42 +07:00
Fabien Poussin 6cc0927c06
Merge pull request #158 from walkerstop/mike
Kinetis MK66F18 and PJRC Teensy 3.6 support
2018-05-07 16:58:30 +02:00
Michael Walker 619d45c0ff Fix MK66F18 compilation for the following HALs: Serial, I2C, EXT, ADC, GPT, PWM, SPI 2018-05-07 07:45:08 -07:00
Fabien Poussin 43fb76203d
Merge pull request #157 from walkerstop/master
Kinetis compilation errors with latest code from ChibiOS master branch
2018-05-05 19:24:18 +02:00
Fabien Poussin dfd4708dbc
Merge pull request #156 from wiml/k64_support
Kinetis K64 and PJRC Teensy3.5 support
2018-05-05 19:23:19 +02:00
Michael Walker f4b640014d Correct register definitions for MK66F18 for LPTMR and FlexRAM 2018-05-03 15:17:52 -07:00
Michael Walker 72b22c7f67 Merge branch 'master' into mike 2018-05-02 03:48:09 -07:00
Michael Walker 1fefdf78fe Remove duplicate code already in upstream master and add include dir 2018-05-02 03:47:26 -07:00
Michael Walker cd7559268d Merge branch 'master' into mike 2018-05-02 03:37:31 -07:00
Michael Walker 6d879f58f5 Merge remote-tracking branch 'upstream/master' 2018-05-02 03:33:23 -07:00
Michael Walker 4d7ccdd1fc More corrections 2018-05-01 14:46:56 -07:00
Michael Walker 0fbddccd80 disable voltage inrush regulator 2018-05-01 03:26:28 -07:00
Michael Walker 547c570af0 Update 2018-05-01 00:42:01 -07:00
Michael Walker c7e0258666 Merge branch 'master' into mike 2018-05-01 00:37:57 -07:00
Michael Walker 4e9f077fb1 Enable Kinesis on newer ChibiOS 2018-05-01 00:26:06 -07:00
Michael Walker b0a7581067 Attempt at Teensy 3.6 support 2018-04-30 16:34:26 -07:00
marcoveeneman 5e65e52f28 Fixed wrong variable name for ASM files 2018-03-10 15:32:24 +01:00
marcoveeneman 4aa00494c2 Added shared variables to startup, board and platform makefiles 2018-03-10 14:58:45 +01:00
Fabien Poussin aa8c6cc4af
Merge pull request #145 from marcoveeneman/tiva_improvements
Various Tiva improvements
2018-03-08 21:42:35 +01:00
Fabien Poussin 11066ebbd3
Merge pull request #143 from qmk/fix_kinesis_usb_data_sync
Fix Kinetis usb databank synchronization problems
2018-03-08 17:09:26 +01:00
marcoveeneman 6b277eb3db Fixed startup makefiles
vectors.c was replaced by vectors.S
2018-02-27 20:59:58 +01:00
Fred Sundvik 1178cf761c Fix typo in k20xx.h 2018-02-08 08:34:14 +02:00
Wim Lewis 0df335ce45 Basic support for the (Motorola/Freescale/NXP) Kinetis MK64FX512 chip,
partially copied from the existing K20 support.
2018-01-06 03:09:58 -08:00
marcoveeneman 77bf52e042 Updated startup makefiles with new path to CMSIS Core headers 2017-11-23 21:47:09 +01:00
marcoveeneman ffd9d3fd90 Initial ADC driver and testhal application for TM4C123x. 2017-07-03 22:23:55 +02:00
marcoveeneman 2841fd88cd Updated license headers 2017-04-20 19:47:50 +02:00
Fabien Poussin 4c203dba2d Fixed MSP430 build with latest msp-gcc (6.2) 2017-04-14 16:46:28 +02:00
marcoveeneman a45d952fad Merge pull request #96 from marcoveeneman/tiva-use-tivaware
Tiva port use TivaWare
2016-10-30 09:35:00 +01:00
marcoveeneman cf6cf08b9a Removed unused device specific header files. 2016-10-27 23:12:07 +02:00
marcoveeneman 94fe96d3ae Updated pwm_lld to use TivaWare. 2016-10-26 21:09:34 +02:00
marcoveeneman 8881004050 Updated spi and udma lld to use TivaWare. 2016-10-11 21:21:30 +02:00
marcoveeneman 2c2c3c567c Updated wdg_lld to use TivaWare. 2016-10-08 22:14:45 +02:00
marcoveeneman 9fd36443b4 Updated i2c_lld to use TivaWare. 2016-10-08 22:03:56 +02:00
marcoveeneman 51abe9fbeb Updated mac_lld to use TivaWare. 2016-10-08 20:46:03 +02:00
marcoveeneman ce1575d3ed Added hw_timer to cmparams.h for tm4c129x. 2016-10-08 20:21:53 +02:00
marcoveeneman 3e069788d9 Updated st_lld to use TivaWare.
Tickless mode is working again.
Fixed st_lld_get_counter reading the wrong register.
2016-10-08 19:51:16 +02:00
marcoveeneman faeb101f5e Commented some redefined Cortex-M register blocks in hw_memmap.h. 2016-10-08 17:44:38 +02:00
marcoveeneman 41f8b0c0c6 Updated cmparams.h files to start using the TivaWare headers. 2016-08-24 20:41:18 +02:00
marcoveeneman 771c151111 Added TivaWare folder to startup makefile. 2016-08-24 20:39:47 +02:00
marcoveeneman db33bd5b64 Added TivaWare inc folder. 2016-08-24 20:32:47 +02:00
awygle 66ee156aa4 Merge pull request #81 from awygle/adc
MSP430X ADC12 Support
2016-08-17 00:15:02 -05:00
marcoveeneman 58569cc6f5 Removed leading and trailing underscores from include guards. 2016-08-11 20:32:30 +02:00
Stephane D'Alu 5805e10f74 NRF52832 implementation 2016-07-09 23:57:48 +02:00
Andrew Wygle d9ee72504f Adds ADC12 support to MSP430X port.
Adds support for the MSP430X's 12-bit ADC peripheral, as well as
reasonably complete testing of same.

Also includes fixes for several bugs and cleanup of the DMA peripheral,
which used ch calls rather than osal calls and was unclear about what
contexts its methods could be called from.
2016-06-05 13:51:11 -07:00
Andrew Wygle 456702ee87 Cleaned up MSP430X port to match recent changes to ChibiOS mainline.
Also fixed a couple of bugs identified as part of the refresh.
2016-06-05 13:51:10 -07:00
awygle cf02c79b5a Merge pull request #68 from awygle/msp430x
MSP430X DMA Support, EXP430FR6989 Demo + Makefile Updates
2016-05-04 23:47:33 -07:00
marcoveeneman fe1d3f2114 Merge pull request #55 from marcoveeneman/tiva-wdg-driver
Tiva WDG driver
2016-05-02 15:53:26 +02:00
marcoveeneman 99230d289c Tiva. Updated Tiva makefiles to be compatible with the main repository. 2016-04-28 23:10:46 +02:00
Stephane D'Alu 2789fb3cd8 sync with ChibiOS master for ASMXSRC 2016-04-28 23:00:24 +02:00
marcoveeneman d4cb8ca216 Mass license update. 2016-04-28 22:07:07 +02:00
Fabio Utzig 5c02f23706 Merge pull request #62 from flabbergast/i2c
[KINETIS] I2C update (timeouts, KL27Z)
2016-04-27 19:03:01 -03:00
flabbergast 7485ece089 [KINETIS] Consolidate KL2x I2C CMSIS defs. 2016-04-24 18:36:00 +01:00
flabbergast a5cd9d134b [KINETIS] Rename I2Cx.S1 to I2Cx.S for KL26Z.
For some strange reason Freescale refers to this I2C register as 'S1'
on KL26Z and as 'S' on all other Kinetises (K20x, KL2xZ).
To avoid horrible #ifs in the driver, use 'S' also on KL26Z.
2016-04-24 18:36:00 +01:00
flabbergast 39e3a31d94 [KINETIS] Mass update Makefile (license & asm changes). 2016-04-24 17:12:49 +01:00
Fabio Utzig 8edccaaa96 Merge pull request #56 from flabbergast/flabbergast
[KINETIS] Clean up ld rules.
2016-04-13 10:43:50 -03:00
Fabio Utzig b72393fff0 Merge branch 'master' into fix-nrf51-port 2016-04-10 21:10:47 -03:00
Fabio Utzig 5323be7640 Merge branch 'master' into fix-nrf51-port 2016-04-10 21:09:36 -03:00
flabbergast 6c565f5a2f [KINETIS] Clean up ld rules. 2016-04-10 16:04:27 +02:00
Fred Sundvik 4ed26df31d Add MK20DX256 ld script with 8 KB bootloader 2016-04-09 19:16:48 +03:00
Andrew Wygle fd20f0fa17 Initial MSP430X Port.
This port includes hal, pal, serial, and st drivers. It supports both
large and small model code and data for MSP430X-class CPUs. It has only
been tested on the EXP430FR5969 LaunchPad board.
2016-04-08 01:46:32 -07:00
Fabio Utzig 031d81ae18 Move ports to startup 2016-04-04 20:24:16 -03:00
Fabio Utzig 3ba468b688 Fix paths in startup makefiles 2016-04-04 20:14:12 -03:00
Fabio Utzig bbbb11c413 Add new expected parameters to linker scripts 2016-04-04 20:11:18 -03:00