Kees Bakker
be1113fa6c
cpu/sam21_common: move i2c.c from samd21 to sam21_common
...
Notice that saml21 does not use I2C (yet).
2016-09-21 20:34:22 +02:00
Kees Bakker
4ad3313ae5
cpu/sam21_common: add a few typedefs for SERCOM
...
A generic function is added to initialize a SERCOM.
Notice that uart_conf_t was expanded with pad settings, but it isn't used
yet.
2016-09-21 20:34:21 +02:00
Kees Bakker
8644b5f7a0
cpu/samd21: introduce sam0.h so that we can select samr21.h or other
...
In the Makefile.include of the board it is required to set the correct
define.
Currently only SAMRG18A is supported, as required by samr21-xpro.
2016-09-21 19:43:30 +02:00
Kees Bakker
88e84f68ff
cpu/sam21_common: update ASF CMSIS (samr21) include files using ASF 3.21
...
Notice that RIOT was using FDPLL96M, which is indeed the name in the
datasheet. But Atmel is using GCLK_GENCTRL_SRC_FDPLL.
2016-09-21 19:43:30 +02:00
Kees Bakker
2869d7729d
cpu/samr21: rename ASF include files to prepare for ASF update
2016-09-21 19:43:30 +02:00
Joakim Nohlgård
6be334b4f4
Merge pull request #5833 from immesys/fix-i2c-checks
...
samd21: i2c: check all busstate bits
2016-09-20 10:06:40 +02:00
Michael Andersen
e367ab93f6
samd21: i2c: improve busstate comparison
2016-09-19 10:54:17 -07:00
Matthias Kolja Miehl
c5cfacebc3
cpu/stm32l1: uart: make sure 'dev' is != NULL to avoid nullPointer errors
2016-09-13 22:22:48 +02:00
Martine Lenders
8a74475e70
Merge pull request #5761 from mali/rmdeadcode
...
boards/atmega_common: remove dead code on link
2016-09-12 17:01:15 +02:00
Martine Lenders
03fbe9c2a5
Merge pull request #5766 from zhuoshuguo/fix_cpu_atmega_header_include_guards
...
fix cpu/atmega header include guardes.
2016-09-12 17:00:56 +02:00
Matthias Kolja Miehl
0bb7050c60
cpu/stm32f3: uart: make sure that 'port' and 'dev' are !=NULL
...
This fixes some cppcheck nullPointer errors.
2016-09-11 17:19:59 +02:00
Matthias Kolja Miehl
2ba795eb81
cpu/stm32f0: uart: make sure that 'port' and 'dev' are !=NULL
...
This fixes some cppcheck nullPointer errors.
2016-09-11 16:56:35 +02:00
Laurent Navet
4c9c3ab7d6
cpu/atmega_common: fix timer_set_absolute return code
...
according to timer documentation, timer_set and timer_set_absolute should
return 1 on succes, not 0.
2016-09-10 00:12:39 +02:00
Michael Andersen
082d8e85a9
samd21: i2c: clear timeout_counter
...
If not cleared, long writes timeout incorrectly
2016-09-07 18:21:38 -07:00
Jon Thacker
e0365e0bf9
atmega: use software interrupt for context swap
...
Fixes #5745
For AVR based boards, three defines must be defined AVR_CONTEXT_SWAP_INIT,
AVR_CONTEXT_SWAP_INTERRUPT_VECT, and AVR_CONTEXT_SWAP_TRIGGER.
These defines are used to trigger a software interrupt used for context
switching.
When AVR_CONTEXT_SWAP_INTERRUPT_VECT is handled, the scheduler is run
and a context swap will happen if necessary, with the resulting thread
starting following the reti instruction. This results in threads running
at normal priority instead of at interrupt priority.
Atmega devices do provide a pure software interrupt. The method used
here for waspmote-pro and arduino-mega2560 is to use pin change
interrupts, set the pin to act as an output, and toggle the value to
simulate a software interrupt. The main limitation here is that a
physical pin is now occupied and must be defined for each board
supported by RIOT. On the plus side, it provides an easy method for
detecting context swaps with an oscilloscope.
2016-09-07 14:35:53 -05:00
Aaron Sowry
2ba43d560f
cpu/cc2538: Remove superfluous mutex lock
2016-09-04 20:51:51 +12:00
Oleg Hahm
908f5489b6
Merge pull request #5653 from aeneby/rssi_lqi_fix_v2
...
cpu/cc2538: Make ED and LQI values 802.15.4 compliant
2016-09-04 10:27:02 +02:00
Laurent Navet
3f0e1862a8
cpu/atmega328p: add atmega328p mcu support
...
add atmega328p support with:
uart, timer, spi and gpio
2016-09-02 22:26:19 +02:00
Shuguo Zhuo
db3a349a51
cpu/atmega: revised header include guards.
2016-09-01 18:32:17 +02:00
26e4004de4
Merge pull request #5397 from OTAkeys/pr/stm32f2xx
...
cpu: add stm32f2xx family support (based on #4497 )
2016-08-31 21:14:37 +02:00
kYc0o
5e3747ea8b
Merge pull request #5590 from mali/atmega_common
...
cpu/atmega_common: improve to add smaller atmega MCUs.
2016-08-31 18:29:53 +02:00
BytesGalore
c34e9d268c
Merge pull request #5785 from x3ro/fix-mci-driver-timer-issue
...
lpc2387: Fix wrong factor in driver poll-timer
2016-08-30 21:09:17 +02:00
Peter Kietzmann
28638bea92
Merge pull request #5725 from aeneby/tx_underrun_fix
...
cpu/cc2538: wait for ongoing transmission before flushing TX FIFO
2016-08-30 21:07:14 +02:00
Lucas Jenss
1cf1f59ca9
lpc2378: Fix wrong factor in driver poll-timer
...
Fixes #4530
2016-08-30 19:59:34 +02:00
Joakim Nohlgård
455fb6cd4d
Merge pull request #5742 from kaspar030/fix_lto
...
LTO fixes
2016-08-29 19:00:09 +02:00
d1198b489d
cpu: k60: rename vector.c -> vectors.c, add to SRC_NOLTO
2016-08-29 17:29:53 +02:00
76fc7a56c9
cpu: kw2x: rename vector.c -> vectors.c, add to SRC_NOLTO
2016-08-29 17:29:45 +02:00
5ab97fe38b
cpu: build cortexm vectors.c without LTO
2016-08-29 13:30:17 +02:00
5a03f08f91
cpu: cortexm_common: compile thread_arch.c without LTO
2016-08-29 13:30:17 +02:00
0bd2805b0c
cpu: cortexm_common: explicitly define isr_pendsv and isr_svc
2016-08-29 13:30:17 +02:00
Aaron Sowry
5f71cc82fb
cpu/cc2538: wait for ongoing transmission before flushing TX FIFO
2016-08-25 21:25:11 +12:00
Jon Thacker
0cc65db1b2
cpu/atmega_common: Add support for double speed baud generator
...
* Add support for U2X switch to double transmission speed
* Provides lower error rates when needed
* Add support for static baud rate calculation, reduces computation by 10x
* adds support for statically enabling double speed baud
2016-08-20 08:49:30 -05:00
Laurent Navet
eed73beaa1
cpu/atmega_common: prepare for atmega328p inclusion
...
use generic avr/libc definition for conditionnal compilation.
eg: use #ifdef(PORTG) or #ifdef(TIMER_0_ISRC) instead of #ifdef(Atmega328p)
This is more generic and simplify future boards support.
2016-08-20 12:23:48 +02:00
Laurent Navet
2cd918a07a
atmega_common: abstract Power Reduction Register
...
PR Register is PRR0 on atmega2560 and atmega1281
but PRR on atmega328p.
this abstracts as atmega Power Reduction Register as MEGA_PRR.
2016-08-20 12:21:32 +02:00
Laurent Navet
31029daaab
boards/atmega_common: remove dead code on link
...
Don't include unused functions and data in binary.
2016-08-18 22:08:55 +02:00
Joakim Nohlgård
8947a3c49c
cpu/kinetis_common: Add debugging messages to i2c driver
2016-08-10 19:40:39 +02:00
Joakim Nohlgård
5f313898bf
cpu/lpc1768: Add __attribute__((used)) to interrupt vector
2016-08-10 16:18:29 +02:00
Joakim Nohlgård
16469543db
cpu/x86/x86_interrupts.c: Add __attribute__((used)) to isr functions
2016-08-10 16:18:29 +02:00
Joakim Nohlgård
37eece1961
cpu/atmega2560/startup.c: Add __attribute__((used)) to init functions
2016-08-10 16:18:29 +02:00
Joakim Nohlgård
6d90267d40
cpu/cortexm_common: Use gcc-ar when building with LTO
...
gcc-ar is a wrapper supplied by gcc for properly handling thin LTO objects.
2016-08-10 16:18:28 +02:00
Peter Kietzmann
5c8236217e
Merge pull request #5720 from lebrush/stm32f4-uncrustify-periph_cpu
...
cpu/stm32f4: uncrustify periph_cpu
2016-08-09 11:06:27 +02:00
Martine Lenders
f1b519de70
Merge pull request #5713 from basilfx/bugfix/msp430_linker
...
boards: msp430: garbage collect dead code when linking.
2016-08-05 14:19:58 +02:00
Martine Lenders
16cae9771f
Merge pull request #5613 from OTAkeys/pr/async_read_cb_args
...
cpu/native: add args to async_read callback
2016-08-05 14:17:18 +02:00
Martine Lenders
e055a644fa
Merge pull request #5175 from antoinefaure/entry_point_gdb
...
cpu: cortex_common: Add entry point in ldscript to tell gdb where to start
2016-08-05 14:13:03 +02:00
Victor Arino
411f7c9585
cpu/stm32f4: uncrustify periph_cpu
2016-08-03 15:04:32 +02:00
Martine Lenders
bd2429f299
cpu: drivers: adapt devices for netdev2 parameter type change
2016-08-03 12:30:51 +02:00
Bas Stottelaar
7cf1c46d2e
boards: msp430-common: remove dead code when linking.
2016-08-01 18:35:21 +02:00
Kees Bakker
ac3683b09f
cpu/samd21:i2c: the wait for SYNCBUSY must come after enable or disable
...
The power on/off code is refactored somewhat.
2016-07-28 22:01:12 +02:00
Kees Bakker
64cc7c63c8
cpu/samd21/periph/i2c: power off did enable instead of disable
2016-07-28 21:33:28 +02:00
Ludwig Knüpfer
05d4b2f8fa
cpu/native: fix thread_stack_init
...
The pointer arithmetic for the calculation of the context storage was off
due to the change of the stack's pointer type from unsigned int to char.
Fix offset calculation by not adjusting for unsigned int width anymore.
2016-07-26 20:07:08 +02:00
Ludwig Knüpfer
d639f0b9a3
cpu/native: rewrite cpu_print_last_instruction
...
circumvent assembly by using a GCC/LLVM builtin
2016-07-26 12:44:43 +02:00
Jason Tran
4136b95930
cpu/cc2538: fix debug statements
2016-07-25 18:35:05 -07:00
Aaron Sowry
66b36397b6
cpu/cc2538: Enable CRC checking of received packets ( #5654 )
2016-07-25 12:34:44 -04:00
Antoine Faure
31e675b359
cpu: cortex_common: Add entry point to tell gdb where to start
2016-07-23 13:27:47 +02:00
kYc0o
51a4fee948
Merge pull request #5574 from PeterKietzmann/msp430_gpio_fix
...
cpu/msp430: initialize gpio as input OR output
2016-07-22 15:55:43 +02:00
Joakim Nohlgård
5cd91bc784
cortexm: Hard fault: Try to output as much as possible even with corrupt stack
2016-07-20 13:25:23 +02:00
kYc0o
91410f5259
Merge pull request #5626 from aabadie/default_channel
...
makefiles: expose a single DEFAULT_CHANNEL variable
2016-07-18 14:26:24 +02:00
Aaron Sowry
105c31925f
cpu/cc2538: Make ED and LQI values 802.15.4 compliant
2016-07-17 09:45:47 +12:00
Martine Lenders
4ac7d81420
Merge pull request #5634 from kaspar030/nordic_softdevice
...
nrf52dk: add BLE/6lo support utilizing Nordic's SoftDevice
2016-07-16 16:57:29 +02:00
Aaron Sowry
a301c37c2e
cpu/cc2538: Remove union names from structs
...
Make the unions anonymous, since this makes referencing
their bytes much simpler.
2016-07-16 12:55:12 +12:00
271cbc26b8
drivers/cc2420 & cpu/cc2538: adding support for default channel configuration
2016-07-14 17:50:50 +02:00
Oleg Hahm
08bcfae86a
Merge pull request #5602 from gebart/pr/gcc6-fixes
...
cpu: Fix array-bounds errors with GCC 6
2016-07-14 10:58:28 +02:00
kYc0o
03d380845e
Merge pull request #5593 from jthacker/atmega_regs_common
...
cpu/atmega_common: generalize register/peripheral definitions
2016-07-13 20:17:36 +02:00
Joakim Nohlgård
0a847d53a7
cpu: Fix array-bounds errors with GCC 6
2016-07-13 19:23:42 +02:00
e012df1bac
nrf52dk: add BLE/6lo support utilizing Nordic's SoftDevice
2016-07-13 17:06:57 +02:00
d68f425d32
Revert "nrf52dk: add 6lowpan over BLE support using Nordic's softdevice"
2016-07-13 16:58:11 +02:00
0182bbd6fd
nrf52dk: add BLE/6lowpan support utilizing Nordic's SoftDevice
2016-07-13 16:17:46 +02:00
f45c7d4b9e
cpu: cortexm_common: allow overriding of linker script
2016-07-13 16:16:46 +02:00
Aaron Sowry
a2ba22dd0f
cpu/cc2538: Add RF driver
2016-07-13 14:19:45 +12:00
Peter Kietzmann
048daf1b3b
Merge pull request #5559 from gebart/pr/ps-stack-pointer
...
sys/ps: Add current stack pointer to DEVELHELP output
2016-07-12 11:23:15 +02:00
Joakim Nohlgård
96473701de
Merge pull request #5580 from zhuoshuguo/revise_cpu_stellaris_include_header_guards
...
cpu/stellaris: revise header include guards.
2016-07-12 10:32:01 +02:00
Joakim Nohlgård
b02e0eca47
ps: Add current stack pointer and start of stack to isr_stack ps output (DEVELHELP)
2016-07-12 10:17:49 +02:00
Jon Thacker
2aec999900
cpu/atmega_common: generalize register/peripheral definitions
...
Makes AVR register definitions dependent on what avr-libc defines
for a given MCU, rather then duplicating that effort here.
Definitions done in this way are based on functionality provided,
rather than a specific MCU device.
2016-07-08 10:52:22 -05:00
Toon Stegen
7020b7c09c
cpu/native: add args to async_read callback
...
this makes it possible to pass some generic pointer that's given back as
an argument when the callback is called.
2016-07-07 17:40:13 +02:00
Joakim Nohlgård
5633af4300
cpu/kinetis_common: Update periph_timer to support both LPTMR and PIT
2016-07-07 13:38:27 +02:00
Joakim Nohlgård
60643afe48
Merge pull request #5601 from gebart/pr/saml21-little-endian
...
cpu/saml21: Conditionally define LITTLE_ENDIAN
2016-07-05 23:24:53 +02:00
zhuoshuguo
50361ea6a6
cpu/stellaris: revise header include guards
2016-07-05 16:38:18 +02:00
René Kijewski
f31a70de60
Merge pull request #5578 from zhuoshuguo/fix_stm32f_include_headers
...
cpu/stm32: fix header include guards
2016-07-05 15:20:21 +02:00
kYc0o
d400570732
Merge pull request #5301 from kYc0o/waspmote-pro
...
boards/waspmote-pro: porting for new libelium's Waspmote PRO v1.2 platform
2016-07-05 13:57:47 +02:00
Joakim Nohlgård
7275f9845f
cpu: Conditionally define LITTLE_ENDIAN
...
Caused problems with redefined macros when building with a recent newlib
2016-07-05 13:22:50 +02:00
kYc0o
62a9773a9c
boards/waspmote-pro: add support for Waspmote PRO v1.2
2016-07-05 13:05:12 +02:00
Oleg Hahm
d2e8efc6cc
samd21: do not redefine LITTLE_ENDIAN
2016-07-05 12:10:30 +02:00
Joakim Nohlgård
73a3fb7b2a
Merge pull request #5571 from zhuoshuguo/fix_include_guards
...
cpu/stellaris: fix header include guards.
2016-07-04 19:46:04 +02:00
Ian Martin
49ae438dd5
doc: eliminate clutter in adc and gpio periph docs
2016-06-29 15:08:32 -04:00
René Kijewski
7b11a95ca3
Merge pull request #5579 from zhuoshuguo/fix_cpu_x86_include_header_guard
...
cpu/x86: fix header include guard.
2016-06-29 17:11:03 +02:00
zhuoshuguo
9f0d2ccc2b
fix cpu/x86 include header guard.
2016-06-29 15:01:25 +02:00
Peter Kietzmann
e6dd02f1ad
Merge pull request #5567 from keestux/samd21-small-fix-1
...
cpu/samd21: remove include instance_sercom3.h
2016-06-29 13:45:20 +02:00
zhuoshuguo
10f8ce1118
cpu/stm32: fix include header guards.
2016-06-28 20:30:29 +02:00
PeterKietzmann
411626fec4
cpu/msp430: initialize gpio as input OR output
2016-06-28 10:23:57 +02:00
zhuoshuguo
c9bedd2d51
cpu/stellaris: fix include guards.
2016-06-27 18:24:49 +02:00
Joseph Noir
ed2c94764b
Merge pull request #4643 from gebart/pr/clang-warning-fixes
...
Clang: Add support for C++
2016-06-23 13:06:55 +02:00
Joakim Nohlgård
edaa5bb7a8
Merge pull request #5558 from gebart/pr/cortexm-isr-stack-usage
...
cortexm_common: Fix isr_stack usage count
2016-06-23 08:48:44 +02:00
Kees Bakker
417023c256
cpu/samd21: remove include instance_sercom3.h
...
That include will be already picked up by cpu.h -> cpu_conf.h -> samd21.h
2016-06-22 22:14:36 +02:00
42d34e69c3
Merge pull request #5529 from kYc0o/atmega_common_unify
...
cpu/atmega*: unify common code for atmega CPUs
2016-06-22 15:43:57 +02:00
kYc0o
be70924800
cpu/atmega2560: update atmega2560 CPU code to use atmega_common code
2016-06-22 14:25:10 +02:00
kYc0o
17c78e70e2
cpu/atmega_common: add common atmega CPU code to atmega_common
2016-06-22 14:25:10 +02:00
Joakim Nohlgård
9a0f3a9e40
Merge pull request #5540 from zhuoshuguo/fix_cpu_header_include_guards
...
CPU:Fix header include guards
2016-06-22 11:58:02 +02:00
Joakim Nohlgård
cb19a4c709
cortexm_common: Fix isr_stack_usage
...
Refactor and add multiply by word size to get the usage in number of
bytes instead of in number of words.
Verified implementation by manual memory inspection in GDB.
2016-06-20 14:33:17 +02:00
Joakim Nohlgård
4c91121372
Merge pull request #5455 from locicontrols/move-stack
...
cortexm_common: move the stack to the bottom of RAM
2016-06-20 14:28:10 +02:00
zhuoshuguo
efbbca1322
cpu: Fix header include guards
2016-06-20 10:18:59 +02:00