Commit Graph

12170 Commits (c3eae587eb803810f80c83c5dd67d131cd21beca)

Author SHA1 Message Date
Russ Butler c3eae587eb Add tickless support for devices without SysTick
Some Cortex-M0 devices, such as the nrf51, don't have the SysTick.
Instead, these targets use a software interrupt to simulate SysTick.
Add the hooks in the tickless code to support these devices. Targets
which do not have SysTick should now define NO_SYSTICK in targets.json
and implement mbed_get_m0_tick_irqn to add os suport.

This patch also removes os tick handling from the existing devices
(nrf51) since this is now handled in common code.
2017-09-07 21:35:04 -05:00
Russ Butler e44d94fa1e Add initial support for tickless RTX
Add support for tickless by replacing RTX's SysTick timer code with
with code which uses an mbed timer along with suspending and
resuming the kernel in the idle loop. Tickless is enabled on a
per-target basis by defining the macro MBED_TICKLESS.
2017-09-07 21:34:57 -05:00
Jimmy Brisson e12f116ec1 Merge pull request #4912 from 0xc0170/dev_sleep_drivers
Add sleep manager API
2017-09-07 18:26:49 -05:00
Martin Kojtal f6c34a2303 SerialBase and CAN: fix Callbacks comparision
As Callback currently does not have fully functional comparision (see #5017),
we workaround by doing null check.
2017-09-07 15:35:08 +01:00
Martin Kojtal 39f31c3195 idle loop: add deepsleep locks
For backward compability, we invoke just sleep mode. Adding critical section to complete
lock/unlock deepsleep section.
2017-09-07 15:35:07 +01:00
Martin Kojtal c5a41d83c2 test: add sleep manager tests
This commits contains two tests:
- race condition
- deep sleep locking/unlocking
2017-09-07 15:35:07 +01:00
Martin Kojtal bc704427e2 platform: add DeepSleepLock
RAII object for disabling, then restoring the deep sleep mode
2017-09-07 15:35:06 +01:00
Martin Kojtal 5b33d2583d drivers: fix attach sleep locking
attach/detach can be multiple invoked. Therefore lock/unlock deep sleep
only for the very first time it is invoked (when callbacks
are actually changed).
2017-09-07 15:35:06 +01:00
Martin Kojtal e57f0bcd26 Drivers: locking sleep fix for attach/detach
As attach provides API to change a callback, lock/unlock should
only happen if we are doing the first/last callback (start-stop).
2017-09-07 15:35:05 +01:00
Martin Kojtal e6d8a9a8a4 Drivers with interrupts: adding sleep deep locking
Any driver with attach or async API should be considered for deep sleep.

Add locking to those that require in most cases
high-frequency clocks:

- CAN
- I2C
- SPI
- Serial
- Ticker/Timeout/Timer
2017-09-07 15:35:05 +01:00
Martin Kojtal fcdb04351f Sleep: add deepsleep locks for !DEVICE_SLEEP
If a target do not support sleep (no DEVICE_SLEEP defined),
we provide empty deep sleep locking.
2017-09-07 15:35:04 +01:00
Martin Kojtal cb4e9b32a2 Sleep HAL: add sleep manager API
Sleep manager provides API to lock/unlock deepsleep. This API allows a user to
control deep sleep.

This API should be done via atomic operations (to be IRQ/thread safe).
2017-09-07 15:34:47 +01:00
Martin Kojtal 814eaa99fe Merge pull request #5030 from chrissnow/uVision-LDFlags
Export uVision linker flags so that bootloader projects build correctly
2017-09-07 12:46:35 +01:00
Martin Kojtal 8dfb491bb1 Merge pull request #4958 from soramame21/master
Add bootloader support for DISCO_L476VG
2017-09-07 12:46:08 +01:00
Jimmy Brisson 22b183a42b Merge pull request #5037 from 0xc0170/fix_arch_pro_heap
Revert "Adjusting Stack size Allocation (IAR, LPC176x)"
2017-09-06 20:31:46 -05:00
Jimmy Brisson 7457bbbc5c Merge pull request #4665 from Archcady/enable_sdram
Enable sdram usage of REALTEK_RTL8195AM
2017-09-06 14:26:34 -05:00
Jimmy Brisson 5bcd97a2bc Merge pull request #4984 from theotherjimmy/unify-unit-tests
Unify mbed OS tools testing style with what's used in mbed-ls, htrun, greentea
2017-09-06 14:26:14 -05:00
Jimmy Brisson 9b85155aa7 Merge pull request #4881 from betzw/betzw_freeze_github_wb
[STM32F401xE] Freeze master timer on stop/breakpoint
2017-09-06 14:25:47 -05:00
Jimmy Brisson 124480213c Merge pull request #4776 from c1728p9/rtx_usage
Remove use of internal RTX types
2017-09-06 14:25:17 -05:00
Martin Kojtal bb26bd6d2d Revert "Adjusting Stack size Allocation (IAR, LPC176x)"
This reverts commit fce2ca2122.
2017-09-06 13:56:27 +01:00
Jimmy Brisson 6bf7718c8d Correct travis coverage reporting 2017-09-05 16:16:30 -05:00
Chris Snow e783e98066 Export linker flags so that bootloader projects build correctly 2017-09-05 22:03:29 +01:00
Jimmy Brisson 9d0e8abb11 Rename and simplify config test target names 2017-09-05 15:21:08 -05:00
Jimmy Brisson 399b6acfb1 Clean up json
Wipe out all blank lines in json:
  find tools/test -name 'test_data.json' | xargs sed -i -e '/^$/d'
Move all start braces back a space:
  find tools/test -name 'test_data.json' | xargs sed -i -e "s/^ {/{/"
2017-09-05 14:39:48 -05:00
Jimmy Brisson b0501bd846 Post coverage details on coveralls and link to them in readme 2017-09-05 14:32:50 -05:00
Jimmy Brisson 4a937fe15e Linting and correcting comments 2017-09-05 13:30:16 -05:00
Jimmy Brisson 2f2da779cb Merge pull request #4924 from hasnainvirk/iar_fix_c027
Adjust Stack size Allocation (IAR, LPC176x)
2017-09-05 11:20:44 -05:00
Jimmy Brisson 5f9d984a22 Merge pull request #5013 from janjongboom/mts_printf
MTS targets: Don't use any printf() calls when NDEBUG is defined
2017-09-05 11:19:42 -05:00
Jimmy Brisson 84a28adc09 Merge pull request #4997 from kjbracey-arm/lwip_debug
Correct LWIP_DEBUG definition
2017-09-05 11:19:13 -05:00
Jimmy Brisson 857819f5d2 Merge pull request #4996 from kjbracey-arm/k64f_emac_1thread
Reduce K64F Ethernet driver to 1 thread
2017-09-05 11:18:44 -05:00
Jimmy Brisson 34d41c5068 Merge pull request #4995 from kegilbert/odin-led-remap
Add LED color remapping definitions to Odin target
2017-09-05 11:17:42 -05:00
Jimmy Brisson 9f3801bc25 Merge pull request #4992 from akosthekiss/ble-doc-fixes
Fix BLE API docs
2017-09-05 11:17:16 -05:00
Jimmy Brisson e009d9f7be Merge pull request #4975 from LMESTM/STM32_SPI3W
Stm32 spi 3 wires mode support
2017-09-05 11:16:53 -05:00
Jimmy Brisson 81437732dd Merge pull request #4945 from maciejbocianski/mail_tests
Extends test set for Mail class
2017-09-05 11:16:27 -05:00
Jimmy Brisson 94fb4a3aad Merge pull request #4929 from bcostm/adc_sampletime_vrefint
STM32F4: Increase ADC sample time for VREF
2017-09-05 11:15:53 -05:00
Yuguo Zou 67f1ee5343 Resolve including directory issue in GCC linker script for Ameba
Should not make assumption of specific directory when include .h from
linker script
2017-09-05 19:11:38 +08:00
Russ Butler b2384b1629 Remove use of internal RTX types
Make calls to cmsis-os to get thread state, stack size, and max stack
usage rather than accessing internal RTX data directly. Wrap RTX5
specific code in OS_BACKEND_RTX5.

Also refactor the code to use mbed types rather than RTX types:
os_timer_t -> mbed_rtos_storage_timer_t
os_event_flags_t -> mbed_rtos_storage_event_flags_t
osRtxMutex_t -> mbed_rtos_storage_thread_t
2017-09-04 11:26:38 -05:00
Martin Kojtal 5bddd881e9 Merge pull request #4406 from kjbracey-arm/shared_equeues
mbed_events.h: Add ability to request a shared event queue
2017-09-04 16:55:50 +01:00
Martin Kojtal abafc6e7df Merge pull request #4580 from deepikabhavnani/wifi_34
Use EventFlags instead of Semaphores
2017-09-04 16:54:55 +01:00
Martin Kojtal 18f79bfad7 Merge pull request #4907 from Patater/m487
Update uVisor to v0.30.0
2017-09-04 16:53:14 +01:00
Martin Kojtal c0fe3b5109 Merge pull request #4911 from mikaleppanen/lwip_ipv4v6_ppp
Support cellular IPv4v6 dual stack in LWIP
2017-09-04 16:52:55 +01:00
Martin Kojtal 3f347ed290 Merge pull request #4843 from geky/fat-min-block
fatfs: Add lower bound to block sizes
2017-09-04 16:52:05 +01:00
Martin Kojtal b0dd984493 Merge pull request #4939 from c1728p9/crash_on_boot
Fix crashes on boot on some Kinetis devices
2017-09-04 16:51:22 +01:00
Martin Kojtal 4ccff693ae Merge pull request #4962 from 0xc0170/dev_critical_section
platform: add CriticalSectionLock
2017-09-04 16:50:59 +01:00
Martin Kojtal 5b4e0b30df Merge pull request #4963 from NXPmicro/Fix_NVIC_NUM_VECTORS
K66F,KW24D,K22F,K64F: Fix NVIC_NUM_VECTORS value
2017-09-04 16:50:32 +01:00
Martin Kojtal 675a17cff2 Merge pull request #4980 from LMESTM/stm32_flash_update
Stm32 flash update
2017-09-04 16:49:18 +01:00
Martin Kojtal c291973f49 Merge pull request #4933 from 0xc0170/fix_stats_depth
test: fix stats depth variable scope
2017-09-04 16:48:53 +01:00
Martin Kojtal eefb84c0db Merge pull request #5003 from c1728p9/restructure_rtx
Move Cortex specific RTX behind TARGET_CORTEX
2017-09-04 16:48:16 +01:00
Martin Kojtal 0fec52de94 Merge pull request #5001 from anttiylitokola/master
Update mbed-coap to version 4.0.10
2017-09-04 16:47:10 +01:00
Martin Kojtal fc4afabab3 Merge pull request #4934 from Patater/stm32f439xi-aes-hw-disable
mbedtls: STM32F439xI: Don't enable AES acceleration by default
2017-09-04 16:46:24 +01:00