Commit Graph

25982 Commits (b0d4b691230ada4ae5a86da94ffcd77617a7e11c)

Author SHA1 Message Date
Rajkumar Kanagaraj 43c2647be7 fix: Fixing rebased created bugs 2019-06-03 15:24:00 +02:00
Rajkumar Kanagaraj 47030cd23f SW watchdog unittest cases
-Added the mock class function to mock mbed_assert_internal
  -Added the unit test case to test start,kick,stop
  -Modified the interface api name from is_alive to process
  -added the unit test cases for process
2019-06-03 15:23:59 +02:00
Rajkumar Kanagaraj eb98c38226 Hw Watchdog UnitTest cases
-Added the unit test case for testing Hw watchdog
    -Added the supported stubs files
2019-06-03 15:23:59 +02:00
Rajkumar Kanagaraj 3ea9521408 HW Watchdog and SW watchdog interface
- Added Hw watchdog periodic kick calls software watchdog is_alive check
2019-06-03 15:23:58 +02:00
Rajkumar Kanagaraj bcea865db2 Add SW Watchdog
-SW watchdog has interface name start(),stop(),kick()	Sw watchdog internally has static list and shared across multiple instance of SW watchdog
	- Sw watchdog initialize timeout value,unique string via constructor whenever threads created sw watchdog object
	-Threads make sure pass proper timeout value,Unique string while creating the instance.
	-start() called by components(BLE,WIFI etc.,),it adds the entry into static list with few details current count ,etc.,
	-kick() called by registered components(BLE,WIFI etc.) to reset current count to zero.
        -is_alive - interface API to mbed_watchdog_manager
        -implementation optimization
2019-06-03 15:23:57 +02:00
Rajkumar Kanagaraj 400b2ee8a7 Add HwWatchdog
- mbed_watchdog_mgr has interface name mbed_wdog_manager_start(),mbed_wdog_manager_stop(),mbed_wdog_manager_kick()
    - HwWatchdog is going to attach with LowPowerTIcker for periodic callback functionality
    - mbed_wdog_manager_start() will either get start either by BL/RTOS Aps,it reads the timeout value specified via macro and macro gets defined in target.json file.
    - mbed_wdog_manager_start() internally configure below HAL hw watchdog with timeout specified via target.json
    - mbed_wdog_manager_start() internally divide the timeout(specified in target.json) by the 2 and attach LowPowerTicker with periodic callback of hw_kick()
    - mbed_wdog_manager_start() internally create one instance of sw watchdog class,to access the static list data structure of sw watchdog class
    - mbed_wdog_manager_kick() function periodically get called and refresh the hw watchdog to avoid watchdog reset
    - converted C++ code into C based APIs
    - added boolean to control watchdog start and stop
    - Added detach from ticker on stop API
2019-06-03 15:23:56 +02:00
Rajkumar Kanagaraj 3cd52d4732 Watchdog refactoring to multithreaded thread.
-Added API to register muliple threads to watchdog drivers
-Watchdog timeout reconfigures everytime whenever new register thread with longer timeout period
-New APIs for watchdog
 wd_register(const osThreadId_t tid, const uint32_t timeout) to register to watchdog
 wd_unregister(const osThreadId_t tid) to unregister to watchdog
 kick(const osThreadId_t tid) to refresh the watchdog
2019-06-03 15:23:56 +02:00
Laurent Meunier df07e7d29e Fixes in Sys Timer test
Do not call sleep from the test thread, but let scheduler do it.
And also include the deep sleep latency in the computation of the allowed
delta for deep sleep test case.
2019-06-03 13:50:40 +02:00
Teijo Kinnunen aade299c62 CThunk: Fix assertion when CThunk object is destroyed
In case the CThunk object is deleted without having called the
entry() function (and thus _entry is NULL), cthunk_free_real()
will fail with an assertion.
2019-06-03 13:11:07 +03:00
Kevin Bracey 18ce757c07 ARMC6: Suppress "register deprecated" warning
Lots of target code, STM in particular, uses the `register` keyword, so
it'll take a little while to clean up. In the interim, some builds are
producing a lot of warnings. Suppress the warning for now, as `register`
remains legal C++14 and C11, despite C++14 deprecating it.

C++17 removes `register`, so code will need to be cleaned before any
further C++ version update.
2019-06-03 12:19:58 +03:00
Chun-Chieh Li 197b328944 [M2351] Override wait_ns to provide more accurate implementation
At high HCLK rate, M2351 cannot provide zero-wait-state flash performance. Besides,
cache is forcibly turned off for non-secure land for internal reason. We locate
'delay_loop_code' from flash to SRAM to achieve zero-wait-state performance.
2019-06-03 16:47:14 +08:00
Martin Kojtal f18e3364e9
Merge pull request #10716 from kfnta/alzix/manifest-tool
Update requirement for manifest-tool
2019-06-03 09:19:47 +01:00
Vincent Veron 16475829f1 TARGET_STM: SPI: add pulse on master transmissions
Add a pulse when using hardware chip select for SPI transmissions.
CS is at low level when a transmission is on-going.

Be careful, this is not compatible with all modes. It will work only
if PHA is 0, ie spi mode is 0 or 2. See stm32xx reference manual,
chapter "NSS pulse mode" for more details.

Fix #10671

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-06-03 10:00:06 +02:00
Martin Kojtal a93542bab5
Merge pull request #10683 from OpenNuvoton/nuvoton_wait-ns_weak
Export wait_ns to be overridable
2019-06-03 08:54:50 +01:00
Martin Kojtal 752101d041
Merge pull request #10696 from AriParkkila/cell-ublox-at-connect
Cellular: Fix socket connect on UBLOX_AT driver
2019-06-03 08:52:43 +01:00
Martin Kojtal 62698b903c
Merge pull request #10660 from mprse/fpga_ts_add_sckl_stats
Add SCLK and SIN stats to SPIMasterTester
2019-06-03 08:49:39 +01:00
Martin Kojtal 5d33fe1dfa
unsupported USBHAL: fix coding style 2019-06-03 08:44:41 +01:00
Martin Kojtal f0696417c5
Merge pull request #10647 from tymoteuszblochmobica/coverity
Fix LWIP warning issues found by Coverity scan

lwip_dns.c in function: dns_add_interface_server
CID 1399051 (#1 of 1): Buffer not null terminated (BUFFER_SIZE_WARNING)10. buffer_size_warning: Calling strncpy with a maximum size argument of 6 bytes on destination array new_interface_server->interface_name of size 6 bytes might leave the destination string unterminated.
line 434 strncpy(new_interface_server->interface_name, interface_name, INTERFACE_NAME_MAX_SIZE);

lwip_ip4_frag.c in function: ip_reass_free_complete_datagram

CID 1373164 (#1 of 1): Dereference after null check (FORWARD_NULL)7. var_deref_model: Passing null pointer prev to ip_reass_dequeue_datagram, which dereferences it. [show details]
line 209 ip_reass_dequeue_datagram(ipr, prev);

lwip_ip4_frag.c in function: ip_reass

CID 1373163 (#1-2 of 2): Dereference after null check (FORWARD_NULL)38. var_deref_model: Passing null pointer ipr_prev to ip_reass_dequeue_datagram, which dereferences it. [show details]
line 663 ip_reass_dequeue_datagram(ipr, ipr_prev);

lwip_api_msg.c in function: lwip_netconn_do_connected

CID 1373162 (#1 of 1): Explicit null dereferenced (FORWARD_NULL)10. var_deref_model: Passing null pointer op_completed_sem to sys_sem_signal, which dereferences it. [show details]
line 1336 sys_sem_signal(op_completed_sem);
2019-06-03 08:41:53 +01:00
Martin Kojtal 9a3c175e96
Merge pull request #10588 from AriParkkila/cell-bg96-power
Cell bg96 power
2019-06-03 08:38:58 +01:00
Martin Kojtal 93e4a8251c
Merge pull request #10697 from jeromecoutant/PR_H7FLASH
STM32H7: flash issue while erasing sector in Bank 1
2019-06-03 08:35:29 +01:00
Martin Kojtal 4f6035e6b1
Merge pull request #10501 from davidsaada/david_spif_driver_unlog
Remove excessive info and debug prints in SPIF driver
2019-06-03 08:33:19 +01:00
Chun-Chieh Li 010f4225a0 [M487] Fix wait_ns test failed 2019-06-03 11:28:26 +08:00
Antti Kauppila 7f199ceeef Added missing _cid handling 2019-06-02 18:55:50 +03:00
Vincent Coubard 11cb7f0119 BLE - tune Cordio LL default parameters to reduce the memory required. 2019-05-31 16:11:08 +01:00
Vincent Coubard 12bdc0ebdb BLE - Fix Cordio LL extended advertising size. 2019-05-31 16:10:02 +01:00
Vincent Coubard a74c4ce57f BLE - Set rx ACL buffer size to the minimum viable in cordio conf. 2019-05-31 16:09:28 +01:00
Vincent Coubard 0baf04dfb4 Disable l2cap connection oriented channels in Cordio default conf. 2019-05-31 16:08:37 +01:00
Chris Trowbridge cea7bbd815 Remove component 'QSPIF' for target 'EP_AGORA' 2019-05-31 09:58:23 -04:00
George Psimenos f82b7d8229 Improve type cast 2019-05-31 13:59:40 +01:00
Przemyslaw Stekiel 48fdd33db8 tests-mbed_drivers-lp_timeout: Rework "Zero delay" test case
Execute test case 100 times in loop since one run is not enough to catch possible failure.
2019-05-31 14:17:33 +02:00
Przemyslaw Stekiel 874ff1fe22 tests-mbed_hal-sleep: add exception for STM LPTIM targets.
On some targets like STM family boards with LPTIM enabled an interrupt is triggered on counter rollover.
We need special handling for cases when next_match_timestamp < start_timestamp (interrupt is to be fired after rollover).
In such case after first wake-up we need to reset interrupt and go back to sleep waiting for the valid one.

On some targets like STM family boards with LPTIM enabled there is a required delay (~100 us) before we are able to reprogram LPTIM_COMPARE register back to back.
This is handled by the low level lp ticker wrapper which uses LPTIM_CMPOK interrupt. CMPOK fires when LPTIM_COMPARE register can be safely reprogrammed again.
This means that on these platforms we have additional interrupt (CMPOK) fired always ~100 us after programming lp ticker.
Since this interrupt wake-ups the board from the sleep we need to go to sleep after CMPOK is handled.

Background:
There is an errata in LPTIM specification that explains that CMP Flag
condition is not an exact match (COUNTER = MATCH) but rather a
comparison (COUNTER >= MATCH).

As a consequence the interrupt is firing early than expected when
programing a timestamp after the 0xFFFF wrap-around.

In order to
work-around this issue, we implement the below work-around.
In case timestamp is after the work-around, let's decide to program the
CMP value to 0xFFFF, which is the wrap-around value. There would anyway be
a wake-up at the time of wrap-around to let the OS update the system time.
When the wrap-around interrupt happen, OS will check the current time and
program again the timestamp to the proper value.
2019-05-31 14:16:34 +02:00
Martin Kojtal a8444bd6ff
Merge pull request #10651 from desowin/usbhost-set-address-wait
USBHost: Wait for device to implement SET ADDRESS
2019-05-31 12:37:19 +01:00
Martin Kojtal 523ad23a30
Merge pull request #10656 from jarvte/fix_cellularctx_destr
Cellular: AT_CellularContext disconnect in non-blocking mode
2019-05-31 12:35:59 +01:00
Martin Kojtal 8a5f25c2ea
Merge pull request #10663 from vmedcy/psoc6-cmsis
PSOC6: move cmsis.h and device.h out from psoc6pdl directory
2019-05-31 12:35:26 +01:00
Martin Kojtal 8aeba87f25
Merge pull request #10674 from ThunderSoft123/master
TARGET_TT: adding switches to PinNames
2019-05-31 12:35:10 +01:00
Martin Kojtal 7ebadbfac3
Merge pull request #10676 from jeromecoutant/PR_COMMON_CMSIS
STM32: common cmsis.h and device.h files
2019-05-31 12:34:53 +01:00
Martin Kojtal 34b4564371
Merge pull request #10680 from artokin/allow_compilation_withoout_nanostack
Add compilation flags to rf_configuration
2019-05-31 12:34:37 +01:00
Martin Kojtal 99b19098b8
Merge pull request #10686 from ale87jan/master
MAX32630.sct fix
2019-05-31 12:34:01 +01:00
Jaeden Amero 4feb15c76a mbed-crypto: Automatically enable entropy injection
Automatically enable entropy injection when the NV Seed feature is
requested on PSA targets. Add a warning note describing the state of the
current implementation of the entropy injection API.

Fixes #10720
2019-05-31 09:11:58 +01:00
Alexander Zilberkant d356ab84b2 Update requirement for manifest-tool
Set to version 1.5.2
2019-05-31 02:53:49 +03:00
Chris Trowbridge 7531c2bb56 Remove unneeded custom_board.h file 2019-05-30 14:16:29 -04:00
Mirela Chirica b57d978bbd Cellular: Added IPV6 and IPV4V6 as supported properties for BG96 2019-05-30 14:07:33 +03:00
Mirela Chirica ff2061aba4 Cellular: Fix requested socket id in socket_connect routines of BG96 and M26 2019-05-30 14:07:33 +03:00
Kevin Bracey f88cd3fbca Add C++14 sized delete operators
Correct C++14 operation of the alloc wrappers requires us to define
custom sized delete operators.

Their presence won't cause any problem for people compiling as C++03 or
C++11.
2019-05-30 10:07:21 +03:00
Antti Kauppila 83d62fbb9c astyle fixes 2019-05-29 20:13:22 +03:00
Kevin Bracey 03f1ac3ffd Atomics: GCC fix for M23 (ARMv8-M baseline)
Add unified syntax directives to make the atomic assembler work when GCC
is building for M23.

GCC actually uses unified syntax when compiling C code, but puts
`.syntax divided` before each piece of inline assembly when targetting
Thumb-1 type devices like M0 and M23 for backwards compatibility. We can
overcome this with our own `.syntax unified`.  The command-line option
`-masm-syntax-unified` intended to override this globally has been
broken from GCC 6 to 8.0.
2019-05-29 16:48:41 +03:00
Hugues Kamba e12889d8e1 microlib support: Fix build with Arm Compiler 6 and MicroLib
Building binaries with MicroLib and Arm compiler 6 has been failing
because of a bug in Arm compiler 6. The compiler introduces a
symbol, `__scanf_mbtowc`, which is not present in MicroLib C library.

The present commit adds a weak reference to the symbol to allow a
successful linkage. This is a temporary fix until the bug in the
compiler is fixed. It should be removed after the compiler bug is fixed.
2019-05-29 14:42:28 +01:00
Antti Kauppila 77e8374058 Cellular: Removed boiler plate code 2019-05-29 16:17:08 +03:00
Laurent Meunier 6f46fd3476 Add extra idle debug stack size in case all STATS are enabled 2019-05-29 13:19:25 +02:00
Ari Parkkila 73164710af Cellular: Fix socket connect on UBLOX_AT driver 2019-05-29 03:19:07 -07:00