Commit Graph

777 Commits (91679d40d50902ee2febc1ae5a6ae8dd4cfbf4b2)

Author SHA1 Message Date
Russ Butler d27566c955 Rename MpuXnLock
Rename MpuXnLock  to ScopedMpuXnLock so it has the same naming
convention as ScopedMutexLock. Also make this class inherit from
NonCopyable to prevent misuse.
2018-11-27 09:29:32 +00:00
Russ Butler ab18442988 Add an RAII class for MPU execute never
Add the class MpuXnLock which uses RAII  to allow execution from RAM
in a block of code.
2018-11-27 09:29:31 +00:00
Russ Butler ecd0414494 Integrate MPU with mbed
Enable the MPU as part of the boot sequence and disable it before
starting a new application. Also add reference counted MPU lock and
unlock functions to allow code to execute from ram when necessary.
2018-11-27 09:29:31 +00:00
Martin Kojtal 29b64e15bf
Merge pull request #8761 from kegilbert/add-all-stats-config-opt
Add MBED_ALL_STATS_ENABLED to config system
2018-11-27 09:12:17 +01:00
Martin Kojtal 436644b7bd
Merge pull request #7760 from ARMmbed/feature_namespace
Give an option to remove 'using namespace'
2018-11-27 09:04:58 +01:00
kegilbert 2a9c930f9b Add MBED_ALL_STATS_ENABLED to config system 2018-11-26 16:59:33 -06:00
deepikabhavnani da69da972f Add BlockDevice and Filesystem classes inside mbed namespace.
Adding new modules inside the namespace could be breaking change for existing code base
hence add `using namespace::class` for classes newly added to mbed namespace to maintian
backwards compatibility.

MBED_NO_GLOBAL_USING_DIRECTIVE is added to remove auto-addition of namespace
Macro guard `MBED_NO_GLOBAL_USING_DIRECTIVE` is added around namespace, to avoid
polluting users namespace.
2018-11-26 13:35:40 -06:00
deepikabhavnani 2df0289ae9 Resolve build issue for unittest
Error Resolved here is:
SingletonPtr.h:93:13: error: ‘NULL’ was not declared in this scope
2018-11-26 09:53:19 -06:00
Deepika f6c1a40b29 Add config options for socket statistics
1. MBED_CONF_NSAPI_SOCKET_STATS_ENABLE to enable the statistics
2. MBED_CONF_NSAPI_SOCKET_STATS_MAX_COUNT max sockets statistics cached
2018-11-26 09:42:45 -06:00
Deepika 09b4bc07ce This is the initial version of stats implementation in network layer.
SocketStats Class is added to collect and provide the statistics information.
In this phase only socket information is collected and max sockets that can
be recorded at any time are configurable through 'MBED_CONF_NSAPI_SOCKET_STATS_MAX_COUNT'

Network statistics can be enabled through a macro MBED_NW_STATS_ENABLED

More information on design is captured in #8743
2018-11-26 09:42:39 -06:00
Michal Paszta e101943cce Fix compilation warnings (apart from nanostack) 2018-11-26 14:27:48 +01:00
Vincent Coubard 1a14453da1 BLE: Add mechanism to track use of non compatible scan API. 2018-11-26 10:24:30 +00:00
Vincent Coubard 732b4255ce revert toolchain changes 2018-11-26 10:21:32 +00:00
Vincent Coubard 0c1e01952b Compilation fixes 2018-11-26 10:21:32 +00:00
Nir Sonnenschein 0283bb84e4
Merge pull request #8667 from davidsaada/kvstore_integration
KVStore & derived classes: design docs, implementation & configuration
2018-11-25 07:30:53 +02:00
David Saada e9c25e23a5 KVStore & derived classes: design docs, implementation & configuration
Implement the following:
KVStore base class
TDBStore class
FileSystemStore class
SecureStore class
Global APIs
Configuration framework
Design documentation
2018-11-24 17:43:35 +02:00
Martin Kojtal 52aea31655
Merge pull request #8702 from SenRamakri/sen_CrashReportingImpl
Crash Reporting implementation
2018-11-23 20:24:53 +01:00
Martin Kojtal 70dfbbfee4
Merge pull request #8189 from deepikabhavnani/wait_updated
Wait API updated to remove deepsleep lock
2018-11-22 11:01:27 +01:00
Martin Kojtal 5b42e2886f
Merge pull request #8607 from aashishc1988/ram_rom_fetch
Fetch ram/rom start/size
2018-11-22 10:49:50 +01:00
Senthil Ramakrishnan f59b99d889 Removing support for printing error-report after reboot and other minor fixes 2018-11-18 22:42:37 -06:00
Senthil Ramakrishnan 423b52e1c3 Fix crc calculation error, code-style issues and other fixes 2018-11-16 17:24:52 -06:00
Senthil Ramakrishnan a07a373c9f Change the reboot-max value semantics and code style and other fixes 2018-11-16 14:00:00 -06:00
Senthil Ramakrishnan 254062fc5a Add thread safety across reboot error info operations 2018-11-16 14:00:00 -06:00
Senthil Ramakrishnan 9ac31dbaef Enable crash capture feature for platforms with linkerscript changes 2018-11-16 13:59:59 -06:00
Senthil Ramakrishnan 6181394e37 Error and fault handling changes for crash reporting 2018-11-16 13:59:59 -06:00
Cruz Monrreal II 5c1c7bf71f Merge branch 'fix_astyle_error' of ssh://github.com/0xc0170/mbed-os into rollup-b.1 2018-11-15 18:26:09 -06:00
Aashish chaddha 0c594a42dc The check for managed bootloader support should be in regions and we need a try/catch when we call it.
Moved "bootloader_not_supported" check to where it was and handle that exception at only one place.

Removed ram/rom size info for realtek from targets.json. THe info we have is not correct.

was Not handling config exceptions from regions and ram_regions property

adding rom-ram info for REALTEK_RTL8195AM
2018-11-15 15:28:14 -06:00
Martin Kojtal 2422949398 Merge branch 'platform-lib-whitespace-patch' of https://github.com/kegilbert/mbed-os into dev_rollup 2018-11-15 13:59:30 +00:00
Martin Kojtal 3d859575d2 platform: fix coding style 2018-11-15 07:20:11 +00:00
Martin Kojtal 43615baf0e CThunkbase: fix coding style 2018-11-15 07:20:09 +00:00
Deepika ad736e9894 Add RAM/ROM memory statistics to system stats structure
Internal RAM / ROM memory size and start address of target can be
fetched using `mbed_stats_sys_get()` API.
2018-11-14 09:51:33 -06:00
kegilbert 44d3e62835 Patch whitespace inconsistencies in platform lib file 2018-11-13 19:08:44 -06:00
shileiyu 627064297e New target UNO_91H from RDA Microelectronics. 2018-11-10 18:15:26 +08:00
Cruz Monrreal e635613b28
Merge pull request #7849 from TacoGrandeTX/fix_rtc_settime
Low power timer needs to be reset when setting time
2018-11-08 10:50:04 -06:00
Cruz Monrreal 0fe6369950
Merge pull request #8488 from c1728p9/cthunk_overhaul
Rewrite CThunk so it does not execute from ram
2018-11-07 19:15:14 -06:00
Russ Butler 5a8727623b Rewrite CThunk so it does not execute from ram
Modify the implementation of CThunk so it does not execute from ram.
Instead is uses an array of functions in flash which can be allocated
as a thunk. The number of CThunks that can be used by an application
can be configured with MBED_CONF_PLATFORM_CTHUNK_COUNT_MAX.
2018-11-06 09:49:56 -06:00
Martin Kojtal 2ae9981bea Merge branch 'platform-doxy-typo-fix' of https://github.com/kegilbert/mbed-os into dev_rollup 2018-11-06 12:10:26 +00:00
RFulchiero d82990cd25 Low power timer needs to be reset when setting time.
Reset _rtc_lp_timer only if DEVICE_LPTICKER is defined.
2018-11-01 17:11:45 -05:00
Cruz Monrreal 430fb3e7ba
Merge pull request #8601 from kjbracey-arm/error_fmtcheck
Add format checking to printf-type APIs
2018-11-01 16:09:05 -05:00
kegilbert 766359c7c5 Typo fixes in Doxygen for Platform 2018-11-01 12:10:08 -05:00
Cruz Monrreal 3d09f3bd98
Merge pull request #8598 from VeijoPesonen/fix_atcmdparser_oob_handling
ATCmdParser: Fix OOB handling performance-wise
2018-10-31 18:52:21 -05:00
Cruz Monrreal b35799dd8c
Merge pull request #8329 from paul-szczepanek-arm/fix-namespace
Platform: fix missing namespace for SharedPtr
2018-10-31 12:35:25 -05:00
Amanda Butler c58c80e042
Make minor copy edits to mbed_wait_api.h
Make minor edits to existing text.
2018-10-31 11:12:35 -05:00
Martin Kojtal 56293af0e7
Merge pull request #8584 from kjbracey-arm/noreturn
system_reset is MBED_NORETURN
2018-10-31 14:46:46 +01:00
Kevin Bracey 638e071820 mbed_error.c: Fix format specifiers 2018-10-31 14:49:22 +02:00
Kevin Bracey 814d631c55 Add format checking to Stream methods 2018-10-31 14:26:35 +02:00
Kevin Bracey 51df320614 Add format check to debug() 2018-10-31 14:26:33 +02:00
Kevin Bracey 1f56fbe397 Add format checking to mbed_error_printf 2018-10-31 14:26:29 +02:00
Kevin Bracey 644022890c Fixes ATCmdParser OOB handling performance-wise
The issue is that the process_oob check would only return immediately
if no data at all on entry, or when receiving a known OOB. Any other
line noise or unknown OOBs could lead to a timeout delay - read the
noise or unknown OOB then timeout waiting for another line of input.

This revised version modifies the parser to recheck readable after each
line end when only looking for OOBs, so it can immediate exit.
2018-10-31 11:28:17 +02:00
Deepika Bhavnani 5a87f04872
Update doc for wait_ms 2018-10-30 13:07:59 -05:00
Amanda Butler f5e28fe729
Edit mbed_wait_api.h
Standardize unit of time measurements, and change passive to active voice.
2018-10-30 10:06:30 -05:00
Kevin Bracey e9ccabcadc system_reset is MBED_NORETURN 2018-10-30 12:39:03 +02:00
Martin Kojtal 27c0affef7
Merge pull request #8578 from cmonr/rollup
Rollup PR: Samll docs changes
2018-10-30 10:03:01 +01:00
Cruz Monrreal 5ed07c2dd4
Merge pull request #8328 from kjbracey-arm/noreturn
Error path tightening: use MBED_NORETURN; add+use core_util_atomic_flag
2018-10-29 20:49:54 -05:00
Cruz Monrreal II 8b58ed75b0 Merge branch 'kegilbert-patch-6' of ssh://github.com/ARMmbed/mbed-os into rollup 2018-10-29 19:13:29 -05:00
Cruz Monrreal c9eaddd7e0
Merge pull request #8487 from kegilbert/mbed_mem_trace_config_patch2
Update mbed_mem_tracing config option
2018-10-29 18:53:25 -05:00
Amanda Butler 9ab13df3bd
Make changes from comments to FileHandle.h
Address comments.
2018-10-29 14:09:16 -05:00
Kevin Bracey ea16a6ba1d Add MBED_NORETURN attributes
Save some ROM space by putting MBED_NORETURN attributes on error
functions and failed asserts.

mbed_error was documented as returning an error code. It never
actually could return, so documentation updated, but return type
kept.
2018-10-29 13:58:06 +02:00
Kevin Bracey 57748bd46e Adjust error paths locking and returning
Various fixes in preparation for making sure error calls do not return.

* Clear out handle_error's use of error_in_progress as a sort of spin
  lock; this is most likely to deadlock if ever activated, and conflicts
  with error's use of error_in_progress. Use a normal critical section lock.

* Make error use same mbed_halt_system helper as mbed_error.

* Make error's recursion check avoid print and proceed to halt, rather
  than returning.

* Make mbed_error use error_in_progress to avoid recursion in same way
  as error() does.

* Give mbed_halt_system its own recursion check in case of error in
  mbed_die - give it a simple fallback.

* Make the in_progress things properly atomic, just in case.
2018-10-29 13:58:06 +02:00
Kevin Bracey c32984c3a8 Add atomic_flag utility
An atomic flag primitive is sometimes wanted, and it is cumbersome to
create it from the compare-and-swap operation - cumbersome enough that
people often don't bother.

Put in a core_util_atomic_flag that follows the C11/C++11 atomic_flag
API, such that it could be mapped to it with #define later.
2018-10-29 13:58:05 +02:00
Kevin Bracey 0b27736536 Remove sleep manager tests that trigger mbed_error
Intercepting mbed_error will be too hard after mbed_error becomes
[[noreturn]], so remove tests that do this.
2018-10-29 13:58:05 +02:00
Cruz Monrreal d23d7855fc
Merge pull request #8552 from cmonr/rollup
Rollup PR: UK Docathon pt2
2018-10-27 08:27:02 -05:00
kegilbert a2ac895c37 This reverts commit 9b53d1256fb358407acbaf81c70b71d937b1f7cd.i
Move the memory tracing enabled macro to a config option but
revert the !defined -> #if changes to no longer cause breaking
changes.
2018-10-26 17:35:33 -05:00
Cruz Monrreal II 99e198aa4f Merge branch 'non-copyable-doc' of ssh://github.com/pan-/mbed into rollup 2018-10-26 11:43:04 -05:00
Cruz Monrreal c25f15615b
Merge pull request #8526 from michalpasztamobica/windows_unittest_compilation_fix
Fix for unit test build on Windows machines
2018-10-26 11:38:59 -05:00
Mel W 47adbd258c
Minor streamlining of long sentences 2018-10-26 15:28:38 +03:00
paul-szczepanek-arm e4f3768c6c protect using with macro 2018-10-26 08:41:58 +01:00
Cruz Monrreal II 5da4fe7e20 Merge branch 'docs_update-platformmutex' of ssh://github.com/fkjagodzinski/mbed-os into rollup 2018-10-25 21:49:39 -05:00
Deepika 957f240450 Remove deep sleep lock from wait_ms
API's updated as:
1. wait(float) calls wait_ms for >=0.01s and not in interrupt, else wait_us.

2. wait_ms() is just the thread sleep and doesn't lock hardware sleep.
In order to have backward compatibility, if used in ISR `wait_us` is
called if MBED_TRAP_ERRORS_ENABLED is false

3. wait_us() is a ticker-based wait, always spinning.
2018-10-25 14:15:08 -05:00
Cruz Monrreal de6ba91644
Merge pull request #8365 from 0xc0170/fix_astyle_common2
Fix astyle for tests folders
2018-10-25 10:41:13 -05:00
Cruz Monrreal 9c59d9acc3
Merge pull request #7864 from deepikabhavnani/remove_mbed_h
Add required header file and namespace element instead add all.
2018-10-25 09:26:24 -05:00
Martin Kojtal ca444a7f01 platform: fix astyle 2018-10-25 09:58:18 +01:00
Michal Paszta 0b3593f576 Fix for unit test build on Windows machines
In case MINGW is detected - define MBED_WEAK to be empty, as Windows
executables cannot handle the weak attribute.
2018-10-25 08:27:52 +03:00
Amanda Butler 1131d844c9
Edit PlatformMutex.h
Change passive to active voice.
2018-10-24 16:39:45 -05:00
Filip Jagodzinski e095c78c66 PlatformMutex docs update 2018-10-24 18:07:46 +02:00
Vincent Coubard abeab68729
NonCopyable: Fix edit. 2018-10-24 08:35:10 +01:00
Cruz Monrreal II fe1d6b0565 Merge branch 'mbed_rtc_time_example_fix' of ssh://github.com/mprse/mbed-os into rollup 2018-10-23 22:38:42 -05:00
Cruz Monrreal II 408051ad40 Merge branch 'span-doc' of ssh://github.com/pan-/mbed into rollup 2018-10-23 22:38:35 -05:00
Amanda Butler acaf96834e
Copy edit NonCopyable.h
Make minor copy edits, mostly to existing text before this PR.
2018-10-23 14:50:37 -05:00
Vincent Coubard 0d2a8e0417 NonCopyable: Add into platform doc group. 2018-10-23 14:41:38 +01:00
Vincent Coubard 3fe42b6c0d NonCopyable: Rewrite of class documentation. 2018-10-23 14:34:43 +01:00
Vincent Coubard 1e30ed599e Span: define doc groups. 2018-10-23 12:15:47 +01:00
Vincent Coubard 29f7d9d508 NonCopyable: Prevent doc generation for protected member function. 2018-10-23 12:11:02 +01:00
Vincent Coubard c956a93252 Span: Improve subspan return type.
This clarifies code and documentation generated.
2018-10-23 11:39:27 +01:00
Vincent Coubard 03d308d114 Span: Add related non member function to class documentation. 2018-10-23 11:38:37 +01:00
Vincent Coubard a0786adbc4 Span: Improve documentation
Makes doxygen reference to SPAN_DYNAMIC_EXTENT by name instead of the macro expansion -1.
Add reference to the macro in the class documentation.
2018-10-23 11:38:01 +01:00
Przemyslaw Stekiel 0a1e3a0c52 mbed_rtc_time.h - documentation fix
Make example code consistent with:
https://os.mbed.com/teams/mbed_example/code/time_HelloWorld/file/0c6401d671c6/main.cpp/
2018-10-23 12:18:45 +02:00
Kevin Bracey 500e37f3a2 mbed_error: Always print full filename if passed
Don't extract filename from the stored error - print it directly.

Use "mbed_error_puts" for both error message and filename to avoid
buffer length limits.

Switch to puts also fixes the potential problem of an error message
containing a '%' upsetting the formatter - it should have been
mbed_printf_error("%s", error_msg) in the first place.
2018-10-22 09:53:21 +03:00
Kevin Bracey 10fe32277d mbed_error: Print thread names
As part of this, don't show empty current thread info in non-RTOS
build.
2018-10-22 09:53:21 +03:00
Kevin Bracey c3d0e2c2ef mbed_error: Correct full thread info print
Casts were covering up a type mismatch.

Print the "ready" list, and remove the explicit print of the idle thread
(it should be in the ready list).
2018-10-22 09:53:21 +03:00
Kevin Bracey 25d0fbaaeb mbed_error: remove redundant memset
If we want zero-fill, strncpy does it anyway.
2018-10-22 09:53:20 +03:00
Kevin Bracey c2076b5ec4 mbed_error: Simplify read of stack pointer 2018-10-22 09:53:20 +03:00
Kevin Bracey e20edbdb46 Add mbed_error_puts
This is potentially useful for printing long strings such as filenames
from assert messages, avoiding the buffer limit inherent in
mbed_error_printf.
2018-10-22 09:53:20 +03:00
Cruz Monrreal II 1c1432e8e7 Merge branch 'kegilbert-patch-6-1' of ssh://github.com/ARMmbed/mbed-os into rollup 2018-10-18 20:01:36 -05:00
Amanda Butler 1f9ef36483
Edit DirHandle.h
Edit for active voice.
2018-10-18 11:11:03 -05:00
Cruz Monrreal e698f0b29f
Merge pull request #8076 from kjbracey-arm/error_stderr
Error output improvements
2018-10-18 08:39:17 -05:00
Cruz Monrreal ad6ada014a
Merge pull request #7948 from kegilbert/mbed_mem_trace_log_toggle
Add enable/disable cb function in mem_trace
2018-10-18 08:38:26 -05:00
Amanda Butler 7d604fedf8 Fix typo in DirHandle.md
Add "s" for agreement.
2018-10-17 22:42:28 -05:00
Kevin Gilbert 6b3bf28d0d Move inline code snippets to code blocks 2018-10-17 22:42:19 -05:00
Cruz Monrreal II 2a68339867 Merge branch 'typo-patch-underlying-1' of ssh://github.com/ARMmbed/mbed-os into rollup 2018-10-17 21:38:45 -05:00
Cruz Monrreal II 9000821b4d Merge branch 'kegilbert-patch-2' of ssh://github.com/ARMmbed/mbed-os into rollup 2018-10-17 21:38:44 -05:00
Cruz Monrreal II 3d753290c7 Merge branch 'cb_doxytypo_patch' of ssh://github.com/ARMmbed/mbed-os into rollup 2018-10-17 21:38:42 -05:00
Cruz Monrreal II ecd109e0be Merge branch 'kegilbert-patch-3' of ssh://github.com/ARMmbed/mbed-os into rollup 2018-10-17 21:38:41 -05:00
Cruz Monrreal II f8997fa1a4 Merge branch 'kegilbert-patch-4' of ssh://github.com/ARMmbed/mbed-os into rollup 2018-10-17 21:38:40 -05:00
Cruz Monrreal II ae28c74690 Merge branch 'kegilbert-patch-5' of ssh://github.com/ARMmbed/mbed-os into rollup 2018-10-17 21:38:38 -05:00
Cruz Monrreal 1a6d2f6513
Merge pull request #8451 from korjaa/fix_possible_filebase_deadlock
Added missing _mutex->unlock() to FileBase::lookup().
2018-10-17 17:40:29 -05:00
Amanda Butler 3a8919b22d
Copy edit FileHandle.h
Copy edit file.
2018-10-17 17:26:27 -05:00
Kevin Gilbert 7709b24b29
api->API
Minor doxygen update, uppercase acronym
2018-10-17 17:20:10 -05:00
kegilbert 2d910cd8e7 Infered->Inferred
Signiture->Signature
2018-10-17 17:13:36 -05:00
Amanda Butler 048614638e
Copy edit mbed_rtc_time.h
Copy edit existing text.
2018-10-17 17:07:05 -05:00
Kevin Gilbert 3794fe5b6c
funtion->function
Minor doxygen typo patch
2018-10-17 17:01:48 -05:00
Kevin Gilbert 69e763e254
Minor mbed_assert doxy typos patch 2018-10-17 16:59:07 -05:00
Kevin Gilbert 3a04e6ae78
locable->lockable
Minor doxygen comment typo patch
2018-10-17 16:54:32 -05:00
Kevin Gilbert d24f10e50e
Remove extra e in deepsleep 2018-10-17 16:44:15 -05:00
Kevin Gilbert 435f4724e0
underlyng->underlying 2018-10-17 12:23:35 -05:00
Cruz Monrreal 7085d16661
Merge pull request #8354 from kjbracey-arm/singletonptr_align
SingletonPtr: const and alignment
2018-10-17 08:35:12 -05:00
Jaakko Korhonen 4efec08127 Added missing _mutex->unlock() to FileBase::lookup(). 2018-10-17 14:07:09 +03:00
Kevin Bracey 2df322c43d Don't overrun in error prints
vsprintf returns the amount it would have written if the buffer had been
big enough, but we used that value directly when outputting, thus
overrunning memory and dumping stack contents.

Indicate truncation by inserting an ellipsis and newline. Slightly
increase the buffer size, so that we don't slightly decrease the maximum
printable characters because of the ellipsis insertion.

Partially addresses https://github.com/ARMmbed/mbed-os/issues/6850 by
forcing a newline when truncation happens - often truncation will drop a
newline and prevent a flush.
2018-10-17 12:55:20 +03:00
Kevin Bracey c989845d5a mbed_error_vfprintf -> mbed_error_vprintf
Name vfprintf doesn't make sense - if we have mbed_error_printf, this is
vprintf.
2018-10-17 12:55:20 +03:00
Kevin Bracey d05c60ee3f Sync output devices on exit
Mbed retarget does an `fflush` on stdout and stderr on exit - this
flushes the C library buffers (if it is buffering), but doesn't
flush any device buffers (eg UARTSerial's TX buffer). Add
sync() calls to the output device to do this.
2018-10-17 12:55:20 +03:00
Kevin Bracey 78f4b4bc82 Make mbed_error not serial-specific
Use write() on current output device instead - this works on the
assumption that write() is safe to call from critical section.

UARTSerial has previously been upgraded to support this, and this also
improves the behaviour when buffered serial is in use - the current
buffered output will be fully flushed before outputting the error
message.
2018-10-17 12:55:20 +03:00
Cruz Monrreal ce7e61e37e
Merge pull request #8255 from MateuszMaz/refactoring_mbed_assert
Change behaviour of mbed_asert to use mbed_error instead of mbed_die
2018-10-16 11:06:18 -05:00
Kevin Bracey e7815c64ad Align SingletonPtr data to 8 bytes, or use C++11
Be more cautious about alignment - align the data within a SingletonPtr
to 8 bytes rather than 4. This could increase padding overhead by up
to 8 bytes, sadly, but we may need this alignment for correct operation.

Conditional check added for C++11 - if in use we can get correct minimal
alignment by using alignas(T).
2018-10-16 13:32:52 +03:00
Deepika 1d23843833 Platform: Add required header file and namespace element instead add all 2018-10-15 10:39:41 -05:00
deepikabhavnani f55b929de9 ATCmdParser: Added namespace std for va_list 2018-10-15 10:39:41 -05:00
Cruz Monrreal ec03df4823
Merge pull request #7980 from kjbracey-arm/thread_deprecations
Clean up rtos::Thread deprecation warnings
2018-10-15 10:09:55 -05:00
Cruz Monrreal e0e915f5db
Merge pull request #8423 from cmonr/rollup2
Rollup PR: Additional doc PRs + lingering need:CI PRs
2018-10-15 10:04:04 -05:00
Cruz Monrreal II a51b0a3562 Merge branch 'atcmd_docs' of ssh://github.com/deepikabhavnani/mbed-os into deepikabhavnani-atcmd_docs 2018-10-12 21:46:59 -05:00
Cruz Monrreal II d0aec14124 Merge branch 'typo-fix-1-1' of ssh://github.com/ARMmbed/mbed-os into ARMmbed-typo-fix-1-1 2018-10-12 21:46:51 -05:00
Cruz Monrreal II 2f6aa3331f Merge branch 'heap_fix_7912' of ssh://github.com/deepikabhavnani/mbed-os into deepikabhavnani-heap_fix_7912 2018-10-12 21:46:27 -05:00
Amanda Butler 5b22304300
Edit ATCmdParser.md
Make minor grammar and spelling edits.
2018-10-12 17:16:09 -05:00
deepikabhavnani 92108858f5 Doc changes and rephrasing 2018-10-12 17:09:31 -05:00
Amanda Butler 00186e6f14
Copy edit mbed_rtc_time.h
Copy edit existing text for U.S. spelling and consistent capitalization.
2018-10-12 14:50:52 -05:00
Kevin Gilbert a9dbd728f6
wich->which 2018-10-12 13:52:23 -05:00
Cruz Monrreal II 8bb21afbf0 Merge branch 'sen_ErrorDoxyUpdate' of ssh://github.com/SenRamakri/mbed-os into SenRamakri-sen_ErrorDoxyUpdate 2018-10-12 12:07:28 -05:00
Cruz Monrreal II b7ef70dea4 Merge branch 'update_stats_docs' of ssh://github.com/bridadan/mbed into bridadan-update_stats_docs 2018-10-12 12:07:23 -05:00
Cruz Monrreal II 828b6f506a Merge branch 'sen_MemTraceDoxyUpdate' of ssh://github.com/SenRamakri/mbed-os into SenRamakri-sen_MemTraceDoxyUpdate 2018-10-12 12:07:21 -05:00
Cruz Monrreal II 98a9bb880b Merge branch 'fhtidy_doc' of ssh://github.com/kjbracey-arm/mbed-os into kjbracey-arm-fhtidy_doc 2018-10-12 12:07:07 -05:00
Senthil Ramakrishnan e547e3d88d Fix doxygen comments and spelling errors 2018-10-12 11:49:58 -05:00
Amanda Butler 9eab32e365
Copy edit changes to mbed_mem_trace.h
Delete extra spaces.
2018-10-12 11:13:31 -05:00
Amanda Butler 82c4ce607d
Edit mbed_stats.h
Capitalize ID for consistency.
2018-10-12 11:08:01 -05:00
Cruz Monrreal 6d7b655b87
Merge pull request #8331 from deepikabhavnani/getc_fix
Stream: add necessary flushes, removing unneeded IAR workaround
2018-10-12 08:59:16 -05:00
Kevin Bracey 1ef213ec89 Clean up Thread deprecation warnings
Static Thread methods and signal methods have been deprecated. Remove
all references in the main code, and most of the tests. Some tests of
the deprecated APIs themselves remain.
2018-10-12 14:57:13 +03:00
Brian Daniels ddedc155d4 Updating stats doc comments 2018-10-11 19:11:17 -05:00
Senthil Ramakrishnan 026c978515 Adding doxygen comments for mem trace enum 2018-10-11 16:58:47 -05:00
MateuszMaz e6ae3d2c51 Remove stray error_value 2018-10-09 18:49:47 +02:00
Filip Jagodzinski 9dce8b3ab5 HAL: SleepManager: Update header file
Move sleep manager API into its own doxygen group.
Add defined behavior section and links to tests.
2018-10-09 17:52:42 +02:00
Kevin Bracey 199d1667ff Make SingletonPtr methods const
Make get() and operators * and -> of SingletonPtr const - they are
logically const and thread-safe, despite the construction on first call.
This construction is "invisible" to the caller of those methods.
2018-10-09 18:08:05 +03:00
kegilbert eeada14721 Add enable/disable cb function in mem_trace 2018-10-08 11:50:10 -05:00
MateuszMaz cf43e1cb5c Fix message string 2018-10-08 18:41:50 +02:00
Cruz Monrreal f529dc799e
Merge pull request #8001 from kjbracey-arm/singletonptr_star
Add * operator to SingletonPtr
2018-10-08 10:25:46 -05:00
deepikabhavnani 0e758796f6 Signature to track memory allocations by wrapper functions.
Compilers allocate some section of memory without using wrapper function,
which is later freed when wrappers were initialized. Since the allocated
memory didn;t contain wrapper header the pointer got corrupt when calling to free.

This implementation of signature addition during malloc and signature check during
free helps in freeing the memory allocated by wrapper functions properly and
also the internal memory allocated by compilers (without malloc wrappers).
2018-10-08 07:45:01 -05:00
Deepika 6646323867 Alignment of 8 is not required for additional header
malloc guarantees aligned memory. If we add an alignment here, we are adding
additonal unused 4 bytes. Each allocator has its own 4/8 byte header
(GGC / ARM have 4 bytes).

So if user request for 8 bytes of memory stats will add 8 + allocator 8.
However if we remove the alignment in stats header, allocator will consider
add 4 bytes to 12 byte request and zero padding.

It will be beneficial to leave the padding to allocator.
2018-10-08 07:37:54 -05:00
Martin Kojtal 4fbd39c74e
Merge pull request #8108 from c1728p9/systick_rename
Rename device option STCLK_OFF_DURING_SLEEP
2018-10-06 07:46:49 +02:00
Deepika f79a354311 Replace fflush to fseek before writes
You are allowed in POSIX / ANSI C to read and write on the same stream, but you
have to do an fseek in between read and write call (getc->fseek->putc)

Thanks @Alex-EEE for sharing the fix: https://github.com/ARMmbed/mbed-os/pull/7749

Added test case for verification of the behavior
2018-10-05 14:29:15 -05:00
MateuszMaz 63d3a32894 Remove empty line 2018-10-05 21:25:28 +02:00
MateuszMaz 845655b621 Add case MBED_ERROR_CODE_ASSERTION_FAILED, fix names, pass expr to mbed_error 2018-10-05 21:15:03 +02:00
MateuszMaz a2f3c59768 Add ASSERTATION_FAILED error code 2018-10-04 20:47:16 +02:00
paul-szczepanek-arm 05a4337490 make it backwards compatible 2018-10-04 16:12:26 +01:00
paul-szczepanek-arm 3a408eb85a fix missing namespace mbed 2018-10-04 15:51:01 +01:00
deepikabhavnani 5f5882830f Add `overhead_size` element to get the overhead of stats
Heap statistics are used for analysing heap stats, but it doesn't tell anything
about real heap usage or malloc overheads. Adding `overhead_size` element
will help users to get the real heap usage.
2018-10-03 16:41:24 -05:00
Cruz Monrreal 4403a561b3
Merge pull request #7890 from deepikabhavnani/cb_issue_7701
Circular buffer should use conditional statement instead of modulo
2018-09-27 10:20:05 -05:00
MateuszM c3e7ddbb10 Changed behaviour of mbed_asert to use mbed_error instead of mbed_die. 2018-09-26 11:08:54 +02:00
Martin Kojtal ac6ca73dd8
Merge pull request #8165 from mprse/issue_8155_fix
Fix for issue #8155 (NRF52832: time stops after 35 minutes)
2018-09-24 12:59:22 +02:00
Martin Kojtal 9506f50112
Merge pull request #8036 from TeroJaasko/fix_mbed_error_c_memsets
platform: error: fix bogus usage of memset()
2018-09-24 08:23:02 +02:00
Cruz Monrreal 1a638c7870
Merge pull request #8106 from c1728p9/macros_to_config
Replace macros with config options
2018-09-22 16:40:53 -05:00
Martin Kojtal 3d94fb889b
Merge pull request #7903 from tkem/fix/cleanup-include-paths
Clean up include paths.
2018-09-19 12:16:09 +02:00
Kevin Bracey 1492829f82 poll: Un-doxygen internal comment 2018-09-18 12:40:03 +03:00
Przemyslaw Stekiel 814940cabe Fix for issue #8155 (NRF52832: time stops after 35 minutes)
Low power Timer is used as RTC for platforms that don't have HW RTC capabilities (like NRF52832).
`_rtc_lpticker_read(void)` function currently uses `Timer::read()` function to trace elapsed time.
`Timer::read()` returns seconds represented as `float` value, but this value is calculated from `int` since `Timer::read_us()` returns `int`.
This limits time tracing to ~35 min.
To fix this problem we will use `timer::read_high_resolution_us()` (which returns unsigned 64 bit value) instead of `Timer::read()`.
2018-09-18 09:48:53 +02:00
Cruz Monrreal 3da606e586
Merge pull request #8017 from TTornblom/master
IAR: Fix for #7662, only massage the error decode URL for the IAR .xcl
2018-09-17 19:46:12 -05:00
Russ Butler ab50681c33 Rename device option STCLK_OFF_DURING_SLEEP
Rename STCLK_OFF_DURING_SLEEP to SYSTICK_CLK_OFF_DURING_SLEEP to avoid
confusion with the STmicroelectronics.
2018-09-12 14:40:25 -05:00
Russ Butler b9b4b8ada6 Replace macros with config options
Add a config option for the following values:
MBED_SYS_STATS_ENABLED
MBED_STACK_STATS_ENABLED
MBED_CPU_STATS_ENABLED
MBED_HEAP_STATS_ENABLED
MBED_THREAD_STATS_ENABLED
MBED_CONF_APP_MAIN_STACK_SIZE
MBED_CONF_APP_TIMER_THREAD_STACK_SIZE
MBED_CONF_APP_IDLE_THREAD_STACK_SIZE
MBED_CONF_APP_THREAD_STACK_SIZE

To maintain backwards compatibility inside the RTOS both
APP and RTOS config values can be used.
2018-09-12 13:59:46 -05:00
Kevin Bracey eaddf0a160 FileBase: Fix unsetting of default when destroyed
Code that should unset a FileBase from being the default when it is
destroyed was broken by a `==` instead of `=` typo.
2018-09-10 11:20:36 +03:00
Tero Jääskö 321548cadc platform: error: fix bogus usage of memset()
Code had mixed up order of 'c' and 'n' arguments to memset().
Fix this.

Spotted-by: kjbracey-arm & a GCC profile without "-fno-builtin"

Related GCC warnings:
---8<---8<----
[Warning] mbed_error.c@123,5: 'memset' used with constant zero length parameter; this could be due to transposed parameters [-Wmemset-transposed-args]
[Warning] mbed_error.c@282,5: 'memset' used with constant zero length parameter; this could be due to transposed parameters [-Wmemset-transposed-args]
2018-09-07 15:40:44 +03:00
TTornblom 0d97803ad8 IAR: Fix for #7662, only massage the error decode URL for the IAR .xcl
file.
2018-09-06 12:16:15 +02:00
Kevin Bracey 390f6e7a7b Add * operator to SingletonPtr
Sometimes you want don't want to directly call a method on your
SingletonPtr-wrapped object, but you want to pass it to something
else.

For example

    SingletonPtr<PlatformMutex> mutex;
    mutex->lock();

is fine, but what about

    SingletonPtr<PlatformMutex> mutex;
    ScopedLock<PlatformMutex> lock(*mutex.get());

Add an overload for operator* to make this more elegant:

    SingletonPtr<PlatformMutex> mutex;
    ScopedLock<PlatformMutex> lock(*mutex);

This addition is consistent with standard C++ classes such as
`unique_ptr` and `shared_ptr`, which likewise have
get, operator-> and operator*.
2018-09-05 18:15:47 +03:00
Kevin Bracey a67f09851b Add special handling for "/default" filesystem
Allow a FileBase (normally a FileSystemLike) to be set as the default,
so it can be looked up as "/default" as well as its actual name.
2018-09-05 13:28:42 +03:00
Cruz Monrreal 83e0e65a42
Merge pull request #7726 from SenRamakri/sen_BLE_ErrorUpdate
Update BLE error calls to use new error codes and mbed_error
2018-09-02 20:47:40 -05:00
Cruz Monrreal f82feecc51
Merge pull request #7822 from donatieng/nfc-impl
Add initial NFC support to Mbed OS
2018-08-31 19:01:25 -05:00
Cruz Monrreal a849fa46df
Merge pull request #7662 from SenRamakri/sen_ErrorUrl
Add Error Decoding URL to error report
2018-08-31 18:27:30 -05:00
Cruz Monrreal 88eb8aab23
Merge pull request #7794 from c1728p9/boot_overhaul
Update Mbed 5 boot sequence
2018-08-30 10:22:15 -05:00
Senthil Ramakrishnan e84e56bc8d Add Error Decoding URL in error report 2018-08-30 12:19:59 +01:00
Vincent Coubard 913f219fc1 Span: Fix type used in is_convertible traits. 2018-08-29 19:42:46 +01:00
Thomas Kemmer a16c374725 Clean up include paths. 2018-08-27 20:47:19 +02:00
Cruz Monrreal 1b051c7687
Merge pull request #7402 from kegilbert/mem-tracing-config-patch
Replace mbed_mem_tracing_enabled macro with config option
2018-08-27 10:34:24 -05:00
Cruz Monrreal c12c69fef0
Merge pull request #7828 from pan-/span
Platform: Add C++ Span class.
2018-08-27 10:28:59 -05:00
Deepika 4e263b17b9 Refactor circular buffer test to platform folder 2018-08-27 09:33:07 -05:00
Russ Butler ec19bf1de4 Allow early use of singleton lock
Allow singleton_lock and singleton_unlock to be called before the
RTOS has been started by checking for a valid mutex before locking
and unlocking it.
2018-08-26 12:59:57 -05:00
Cruz Monrreal 2f8e679183
Merge pull request #7592 from orenc17/remove_uvisor
Remove uVisor from mbed-os
2018-08-25 19:52:24 -05:00
Deepika 546743aeb0 Replace modulo op with compare/reset op 2018-08-24 16:51:32 -05:00
Vincent Coubard 9d1fd9983c Span: Fix documentation. 2018-08-24 17:51:58 +01:00
Amanda Butler bf08651d3a
Copy edit Span.h
Copy edit file, mostly for consistent capitalization, punctuation and tense.
2018-08-24 09:31:10 -05:00
Vincent Coubard af69e1fb8b Span: use static assert to kill copy construction from an incompatible span type.
Copy construction between Span of compatible type is allowed to fulfil the use
case Span<T> -> Span<const T>. This is achieved by a templated copy constructor
like constructor.

In p0122, the overload is discarded from the constructor set if the ElementType
of the Span in input is not convertible into the ElementType of the Span being
constructed.

To discard function overload, SFINAE has to be used which polutes the documentation
and make the code harder to read and maintain.

Unlike p0122, our Span class doesn't exposes (yet) functions with default argument
or functions that convert container in input into span the only overload with the
a single parameter that we exposes are:
- template<size_t N> Span(ElementType (&element)[N])
- Span(const Span& other): <- generated by the compiler.

For both of this functions we expect exact match and their resolution should not
interfere with the constructor that converts from another type of Span.

As a result it is possible to rely solely on C++ default resolution rules as we
won't hit cases were constructors convert from another type (std::array, std
container, span) and raise an error with a static assert if the element type
can't be converted.

If another copy - conversion - constructor is added then SFINAE has to be
reintroduced.
2018-08-24 11:10:17 +01:00
Martin Kojtal 871d7e7361
Merge pull request #7730 from davidsaada/david_stack_stats_fail_fix
When stack stats enabled, prevent exceptions if memory allocations fail
2018-08-24 11:31:24 +02:00
Vincent Coubard d5051a8ca7 Span: Allow copy construction from convertible span.
Addition of these overloads help when Span<const T> is constructed from Span<T>.
2018-08-23 18:41:53 +01:00
Cruz Monrreal deb905da1d
Merge pull request #7815 from donatieng/shared_ptr
Re-add Shared Pointer Class into platform features
2018-08-23 10:09:02 -05:00
Vincent Coubard b7f074ef68 Span: Fix opening brace position. 2018-08-23 14:02:26 +01:00
Vincent Coubard 2a6c6d5985 Span: Use mbed way of writing types in documentation example. 2018-08-23 12:41:04 +01:00
Vincent Coubard 33ca10192d Span: Fix documentation. 2018-08-23 11:38:32 +01:00
Vincent Coubard 6b08320573 Span: Fix doxygen tags. 2018-08-23 09:02:28 +01:00