Commit Graph

12314 Commits (dee8e7f0eaa35abe96e6560194b0d0a88a19a992)

Author SHA1 Message Date
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
Yuguo Zou ba3bb7ea35 Remove unused code
Clean rtl8195a_init.c a little bit
2017-09-07 15:10:08 +08:00
Yuguo Zou 22269ad12c Increase tcpip thread stacksize for REALTEK_RTL8195AM
The default stack size is not enough for debug profile (low compiler
optimization)
2017-09-07 11:07:13 +08:00
Yuguo Zou 2642ab321e Update wlan lib to fix debug profile
The issue of mutex returning osErrorISR with debug profile is fixed
2017-09-07 11:05:06 +08:00
Yuguo Zou 1d6a69b3e6 Update MSP setup
Use asm code to set MSP
2017-09-07 10:58:45 +08: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 a3bb8e370b Allow eclipse to fail for mysteriously in build 2017-09-06 17:38:58 -05:00
Jimmy Brisson 9d51b1afa8 Add imports for build 2017-09-06 16:58:40 -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
Deepika d12822f95a Resolved compiler error: constructor deleted
IAR 8.x compiler throws error for emac_interface_t constructor
rtw_emac.cpp@220,0: [Pe1790]: the default constructor of "emac_interface"
cannot be referenced -- it is a deleted function

Error is because new object is created of structure with constant member.
Resolved it by using malloc instead new.
2017-09-06 09:51:17 -05:00
Deepika 7d98eebf2a __IAR_SYSTEMS_ICC__ macro had issues when 7.5 and 8.11 both workbench are installed 2017-09-06 09:51:17 -05:00
Deepika 5875569070 Added function header for stl test 2017-09-06 09:51:16 -05:00
Deepika fe2646d183 Added new locking init requirement for v8.x
The application must call void __iar_Initlocks(void); before any
lock is used.
2017-09-06 09:51:16 -05:00
Deepika 6c1ad4a4e4 Use correct IAR toolchain macro 2017-09-06 09:51:16 -05:00
Deepika bcb8779362 Internal members of std::FILE are not available from IAR8.x 2017-09-06 09:51:15 -05:00
Deepika 38e96ac432 __aeabi_read_tp function required for TLS in Dlib 2017-09-06 09:51:15 -05:00
Deepika 22afcfacbd _MAX_LOCK define is moved to DLib_Threads.h 2017-09-06 09:51:15 -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
Laurent MEUNIER f2eb77a81a STM32_us_ticker_16b: reset counter when fire interrupt
Fixing regression introduced in commit
"Ticker: add fire interrupt now function".

In above mentioned commit, the management of timestamp being in the past
has been moved to higher layer (hal/mbed_ticker_api.c), but the reset of
oc_int was missing when implementing the new us_ticker_fire_interrupt
function - which is fixed now.
2017-09-05 13:03:21 +02:00
Laurent MEUNIER 5997811d46 STM32: F2: put can_s struct under DEVICE_CAN option
In case of F2 devices without CAN support.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER 04ac65a4e6 STM32: CAN: restore registers after can_reset
After reset the MCR register content needs to be restored so we're
introducing the can_registers_init function to be called at the first
init stage, but also after reset. We also store the can frequency to
go through the initialisation phase again.
2017-09-05 10:27:21 +02:00
Laurent MEUNIER 8357f6fe77 STM32: CAN: store the mode in object context
In order to apply the same mode in case of reset, we store the current
requested mode in the HAL structure.

To make storage in a single place, we also change can_monitor to call
can_mode function as they actually acting on same registers.
2017-09-05 10:27:21 +02:00