Commit Graph

379 Commits (5c036cb1ba8fb0caea81370a737b160417b5939a)

Author SHA1 Message Date
Deepika 38e96ac432 __aeabi_read_tp function required for TLS in Dlib 2017-09-06 09:51:15 -05:00
Christopher Haster 382c0381c9 cb: Fixed uninitialized memory used for equality check
Fixed by zeroing the memory. A more "c++ correct" approach
may be to add an additional op for equality, and use the "=="
operator on the F type in the generate function. But this adds
the requirement that F supports equality.
2017-09-05 11:03:14 -05:00
Martin Kojtal 4ccff693ae Merge pull request #4962 from 0xc0170/dev_critical_section
platform: add CriticalSectionLock
2017-09-04 16:50:59 +01:00
Jimmy Brisson 2d65f49f61 Merge pull request #4954 from c1728p9/fix_isr_clear
Fix ISR powerdown in mbed_application.c
2017-08-29 13:46:25 -05:00
Martin Kojtal be8174f94f platform: add CriticalSectionLock
Critical section class RAII addition
2017-08-29 12:47:04 +01:00
Jimmy Brisson 7252447385 Merge pull request #4920 from scartmell-arm/led-error-sequence
Modify LED error sequence to be more recognisable
2017-08-24 10:14:13 -05:00
Jimmy Brisson dd0a0fc3e7 Merge pull request #4831 from fahhem/less_scanf
Remove excessive use of printf/scanf in mbed_fdopen/_open
2017-08-24 10:12:10 -05:00
Russ Butler 29ad5bb09b Fix ISR powerdown in mbed_application.c
Fix a calculation error in in powerdown_nvic preventing the last
group of 32 interrupts from getting powered down. The ARMv7m reference
manual states "the total number of interrupt lines is up
to (32*(INTLINESNUM+1)).".

Also rename isr_count to isr_groups_32 for clarity, since this is
actually the number of 32 interrupt groups.
2017-08-22 10:54:18 -05:00
Jimmy Brisson a457fe3bdd Merge pull request #4908 from geky/fs-reformat
fs: Add FileSystem::reformat
2017-08-21 10:38:00 -05:00
Jimmy Brisson 2dc4bef010 Merge pull request #4902 from deepikabhavnani/macro_fix
Using CMSIS/RTX Exclusive access macro
2017-08-17 10:11:03 -05:00
Steve Cartmell 9c87f5936c Unified the LED error pattern for all boards
- Removed the patterned LED sequence, all boards now use the 4 fast pulse, 4 slow pulses LED sequence.
  - Changed the LED used from LED_RED to LED1. Only 58/174 targets seem to define LED_RED but they all define LED1.
  - Removed all ERROR_RED and ERROR_PATTERN definitions from targets/targets.json
2017-08-16 11:55:24 +01:00
Christopher Haster cb2306c085 retarget: Added ENODEV to error codes 2017-08-14 17:32:08 -05:00
Jimmy Brisson 99a8467b70 Merge pull request #4817 from c1728p9/move_rtx_handlers
Move RTX error handlers into RTX handler file
2017-08-14 11:44:19 -05:00
Deepika 74ba5f3f51 Using CMSIS/RTX Exclusive access macro 2017-08-14 10:06:17 -05:00
Fahrzin Hemmati 88f90788bf Remove null byte at the end of fdopen's faux filename 2017-08-10 21:14:12 -07:00
Steve Cartmell 942f71a9c4 Modify LED error sequence to be more recognisable
The current error sequence for microcontrollers with less than 4 LEDs is
to toggle an LED at a fixed rate. Change the sequence to 4 short pulses
followed by 4 long pulses.
2017-08-09 16:15:31 +01:00
ccli8 98a79c872b [M487] Support NuMaker-PFM-M487 board 2017-08-01 10:14:24 +08:00
Fahrzin Hemmati af37520e42 Use MBED_STATIC_ASSERT instead of static_assert 2017-07-31 09:29:34 -07:00
Fahrzin Hemmati 199d108063 Update comments for code review 2017-07-31 09:29:34 -07:00
Fahrzin Hemmati e5ef69a925 Remove excessive use of printf/scanf in mbed_fdopen/_open 2017-07-31 09:29:34 -07:00
Russ Butler 46f6f52299 Move RTX error handlers into RTX handler file
Move the RTX error handlers out of mbed_retarget.cpp and into an the
dedicated RTX handler file.
2017-07-27 10:08:39 -05:00
Jimmy Brisson ea12d69564 Merge pull request #4790 from bulislaw/mem_stats
Improve documentation for memory stat ops
2017-07-27 09:46:21 -05:00
Jimmy Brisson 3ed697a36a Merge pull request #4775 from c1728p9/fix_defines
Fix non-portable defines
2017-07-24 10:58:05 -05:00
Jimmy Brisson 60550c1ef0 Merge pull request #4726 from sarahmarshy/patch-11
Update ATCmdParser example code
2017-07-24 10:54:09 -05:00
Bartek Szatkowski e9f78502dd Improve documentation for memory stat ops 2017-07-20 15:56:48 +01:00
Russ Butler c18b0e5c05 Fix non-portable defines
A define which expands to more defines is not portable across all
compilers and GCC warns about this. Restructure this so the behavior
is defined. This fixes the GCC warning:
"this use of "defined" may not be portable"
2017-07-18 12:04:13 -05:00
Jimmy Brisson 9cb9b9b5b5 Merge pull request #4718 from ARMmbed/g-weak-note
Toolchain: Add a note about weak functions and header files
2017-07-17 11:08:22 -05:00
Martin Kojtal 5a5d159a3c Merge pull request #4666 from chrissnow/tests-mbed_hal-flash-Timing_fix
Fix timing issues found in "Flash - clock and cache test"
2017-07-13 16:48:32 +02:00
sarahmarshy d8a7fe1467 Update ATCmdParser example code.
The previous example code was not very helpful, as it doesn't show the use of UARTSerial.
2017-07-07 16:45:01 -05:00
Christopher Haster eb4c223dd7 Toolchain: Added a note about weak functions and header files
The subtlety of where to mark functions as weak created an issue for
at least one user, so added a warning in the documentation.
2017-07-07 14:33:26 -05:00
Anna Bridge 4890261c98 Merge pull request #4548 from deepikabhavnani/os_warn
Resolve Warnings for mbed-os-examples
2017-07-07 12:43:27 +01:00
Chris 3df42bcfb4 Toolchain independent noinline 2017-06-30 20:32:17 +01:00
Martin Kojtal 8a9f49653b retarget: fix microlib for mbed 2
This is as it used to be, reverting the removal. uARM does not have any hook
that we could use for mbed sdk init and copy nvic, therefore _open is used that
should be sufficient, but not ideal.

For more information, visit https://github.com/ARMmbed/mbed-os/pull/2160/files#r76563844.
2017-06-29 14:35:00 +01:00
Vincent Coubard 7a1e2cfc9a platform: Replace private copy constructor and copy assignement operator by a NonCopyable tag.
The class concerned by this change are: ATCmdParser, CallChain, FileBase and Stream.
2017-06-20 16:23:43 +01:00
Vincent Coubard dcbcf64830 platform: Tag classes DirHandle, FileHandle, FileLike, FileSystemHandle, FileSystemLike, LocalFileHandle, LocalFileSystem and PlatformMutex as non copyable.
This avoid unwanted copy of these type which is a programming error.
2017-06-20 16:23:43 +01:00
Vincent Coubard 4f7943860a platform: Add NonCopyable class.
The NonCopyable template class avoid autogeneration of copy assignement
and copy construction function for classes inheriting from it.
2017-06-20 15:49:16 +01:00
Christopher Haster 6b02ceab5d rtos: Unbreak semaphore, trade assert for saturation with original limit
Before rtx 5, the max count on semaphores was UINT16_MAX, aftewards it
was decreased to 1024 with an assert on overflow.

This is especially problematic for semaphores used for signaling, since
there is no replacement currently available in C++.
2017-06-16 17:18:40 -05:00
Deepika 9b5f5a5472 Typecasting to resolve warning: integer conversion resulted in a change of sign 2017-06-15 13:37:19 -05:00
Jimmy Brisson 761151359e Merge pull request #4506 from c1728p9/disable_2_error_trapping
Disable error trapping for mbed 2 builds
2017-06-09 14:22:30 -05:00
Jimmy Brisson f55a8c3088 Merge pull request #4503 from 0xc0170/fix_issue_sdk_vectors
mbed sdk boot: copy vectors addition
2017-06-09 14:22:12 -05:00
Martin Kojtal a59a319483 Merge pull request #4466 from geky/cleanup
Clean up dead classes in retarget layer
2017-06-09 15:06:18 +01:00
Sam Grove 52fde55b6f Merge pull request #4450 from deepikabhavnani/doxygen-template
Doxygen template
2017-06-08 22:42:06 -05:00
Martin Kojtal 7d3b2af9c7 mbed sdk boot: default nvic implementation
Latest cmsis files provide virtual nvic implementation, therefore all nvic
set/get vectors were removed. As the result, we did not reallocate vectors
for mbed SDK. This should fix it for most of the platforms (cortex m0 and
cortex a9 need to provide own if they need it).
2017-06-08 17:19:35 -05:00
Russ Butler 018955c7b2 Disable error trapping for mbed 2 builds
To maintain backwards compatibility keep error trapping turned off
for mbed 2 builds.
2017-06-08 16:54:23 -05:00
Sam Grove 6d34b86f5d Merge pull request #4489 from 0xc0170/fix_issue#4486
mbed sdk boot: fix gcc sw init hook attribute
2017-06-08 15:55:14 -05:00
Sam Grove 9122ed60cd Merge pull request #4480 from pan-/fix_time_return
rtc_time: Fix incorrect return value when the calendar is not available.
2017-06-08 15:52:46 -05:00
Deepika 6ee4c7e219 Fix doxygen warnings in 'features/filesystem' 2017-06-08 15:48:21 -05:00
Deepika Bhavnani f05e498c73 Resolving doxygen warnings 2017-06-08 15:48:20 -05:00
Vincent Coubard 6b020a3510 mbed_localtime: Add support of year day.
This field is needed by the LPC43XX targets.
2017-06-08 10:32:57 +01:00
Vincent Coubard 01f1e08358 mbed_localtime: Add support of wday.
This field is necessary, it is used by several vendor RTC: Atmel, ST, NUVOTON,
NXP.
2017-06-08 10:11:01 +01:00
Vincent Coubard 946ed353bc mbed_mktime: Improve documentation for doxygen. 2017-06-08 10:01:43 +01:00
Vincent Coubard f880e44145 remove usage of mktime/localtime in favor of dedicated functions.
The use of mktime was causing a fault when called in interrupt handler because on GCC it lock the mutex protecting the environment, To overcome this issue, this patch add dedicated routine to convert a time_t into a tm and vice versa.
In the process mktime has been optimized and is now an order of magnitude faster than the routines present in the C library.
2017-06-07 22:06:22 -05:00
Martin Kojtal b1c7943dc3 mbed sdk boot: fix gcc sw init hook attribute
Remove naked attribute that should not be defined for sw init hook, as it
should return.
2017-06-07 10:02:52 +01:00
Vincent Coubard c335a0090c rtc_time: Fix incorrect return value when the calendar is not available.
According to the C99 specification "The value (time_t)(-1) is returned if the
calendar time is not available". Before this patch, in such case the function
was returning 0 instead of -1.
2017-06-06 23:03:28 +01:00
Sam Grove bb2eb8b7b7 Fix doxygen warnings. 2017-06-06 15:32:42 -05:00
Christopher Haster 5bd070af86 Cleaned up extra code left over after several different rebases 2017-06-06 15:21:25 -05:00
Sam Grove 052d02e620 Fix doxygen warnings. 2017-06-05 17:32:45 -05:00
Sam Grove 0bf2c5f55c Fix doxygen warnings. 2017-06-05 17:32:45 -05:00
Sam Grove 2d8bf18317 Fix doxygen warnings. 2017-06-05 17:32:45 -05:00
Niklas Hauser 8fb74f42d2 uVisor: Wrap _memalign_r and _calloc_r 2017-06-04 14:41:59 +01:00
Christopher Haster 0fc5ce2b5e LocalFileSystem: Moved away from deprecated open functions
The old open/opendir functions did not provide a route for errors and
relied on implementations manually setting errno. Updated to return
errors directly.
2017-06-03 13:18:02 -05:00
Christopher Haster 5d6fc713fb FileSystem: Reintegrated FileSystemLike interface
Required for other representations of FileSystems, ie LocalFileSystem

Introduces FileSystemHandle for the same behaviour as FileHandle and
DirHandle.

Requires the following to hook into file/dir lookup:
```
int open(FileHandle **file, const char *filename, int flags)
int open(DirHandle **dir, const char *path)
```

This hook is provided by the FileSystem class, so requires no changes
from implementations.
2017-06-03 13:17:37 -05:00
Russ Butler a84142fc4e Prevent recursive call to error()
Only allow error to be called once. This prevents a loop where error()
calls exit() which in turn triggers another call to exit().
2017-06-02 23:50:35 -05:00
Russ Butler 770ad616dd Trap on RTX errors if enabled
If MBED_TRAP_ERRORS_ENABLED is defined to 1 then trap on RTX errors.
This includes using mutexes in ISR context.
2017-06-02 23:50:33 -05:00
Russ Butler b44e6f8a16 Assert that file IO is not used in ISRs
Trigger an assert if a file is read from or written to from an
interrupt handler or critical section. This includes using printf
from an interrupt handler or critical section. This makes failures
due to use in incorrect context deterministic and easier to locate.

This feature is enabled by defining MBED_TRAP_ERRORS_ENABLED to 1 or
by using the debug profile.
2017-06-02 23:50:31 -05:00
Russ Butler 5ab3de0bfa Add function to check for ISR context
Add the function core_util_in_isr() so code can determine if it is
running in the context of an ISR.
2017-06-02 23:50:29 -05:00
Sam Grove 5f138810a9 Merge pull request #4294 from ARMmbed/feature_cmsis5
Update CMSIS-Core and RTX to version 5
2017-06-02 23:44:32 -05:00
Hasnain Virk 24de27c989 Major Refactoring & extensions
For keep supporting external APIs with the same name (supposedly there are a larger
number of users of those APIs), BufferedSerial and ATParser are being renamed.
BufferedSerial becomes UARTSerial, will complement a  future USBSerial etc.
ATParser becomes ATCmdParser.

* UARTSerial moves to /drivers

* APN_db.h is moved from platform to cellular/util/.

* Original CellularInterface is restored for backward compatability (again, supposedly there
  are users of that).

* A new file, CellularBase is added which will now servce as the base class for all
  upcoming drivers.

* Special restructuring for the driver has been undertaken. This makes a clear cut distinction
  between an on-board or an off-board implementation.
  	- PPPCellularInterface is a generic network interface that works with a generic FileHandle
          and PPP. A derived class is needed to pass that FileHandle.
        - PPPCellularInterface provides some base functionality like network registration, AT setup,
          PPP connection etc. Lower level job is delegated to the derived classes and various modem
          specific APIs are provided which are supposed to be overridden.
        - UARTCellularInterface is derived from PPPCellularInterface. It constructs a FileHandle and
          passes it back to PPPCellularInterface as well as provides modem hangupf functionality.
          In future we could proive a USBInterface that would derive from PPPCellularInterface and could
          pass the FileHandle back.
	- OnboardCellularInterface is derived from UARTCellularInterfae and provides hooks to
          the target provided implementation of onbard_modem_api.h. An off-board modem, i.e, a modem on
          a shield has to override the modem_init(), modem_power_up() etc as it cannot use
          onboard_modem_api.h.
2017-05-31 15:02:11 +03:00
Hasnain Virk c8933e4c71 Removing _poll_change() for now
There is currently no proper wake up mechanism provided
by mbed-os. _poll_change() was supposed to wake upa blocking
poll() in case of a POLL event but the implementation was dependent
upon underlying wake up mechanism. In the absence of conditioanl
variables or some other alternative, _poll_change() wasn't able to
serve its purpose. Removing it for now. Should be implemented at some later stage
2017-05-31 15:02:11 +03:00
Hasnain Virk c65f81bf46 Remove sigio implementation from FileHandle
Make FileHandle more of an interface class, by requiring implementers to
provide the sigio() functionality themselves.

sigio() and poll() remain parallel independent mechanisms, so FileHandle
implementations must trigger both on state changes.
2017-05-31 15:02:11 +03:00
Hasnain Virk 01088647b9 Finalizing the public API for Cellular
* state machine corrections
* adding various standard API methods
* Addition/revision/enhancement of the nsapi_ppp glue layer
* Turning off debug by default
2017-05-31 15:02:11 +03:00
Hasnain Virk 3b44f4758d Adding support for APN lookup
Mainly reutilizing code from ublox C027 support lib.
As we are using external PDP context, i.e., an external IP stack,
we will pass username and password to underlying stack running PPP.
We only support CHAP as the authentication protocol.
2017-05-31 15:02:11 +03:00
Hasnain Virk 93f436ebe0 Using DCD line to invoke poll() HUP
POSIX poll() provides a mechanism to attach a POLL_HUP event
if the modem or device hangs up on you. POLL_HUP and POLL_OUT are
mutually exclusive. We poll in the PPP_input() routine if the modem
hung up. If it did we stop the data consumption, close PPP and go back
to the driver for reserruction of AT parser and subsequent retries or
application specific actions.
This is achieved by attaching an interrupt to the DCD line of the modem.
When DCD line goes high (off), we have lost the carrier. So we record an
POLLHUP event using _poll_change().
2017-05-31 15:02:11 +03:00
Hasnain Virk ea117e5a1a Memory Optimizations and simplifications in ATParser
ATParser had been using std <vector> which had been pulling along a lot
of standard C++ stuff. We have an alternative implementation whcih achieves
a similar effect but without using <vector>. this saves a bunch of valuable
RAM resource.

We have also simplified the overall system by introducing proper CR and LF
rather than \r\n type of delimiters. This newline simplification is borrowed
from retarget.cpp.
2017-05-31 15:02:11 +03:00
Hasnain Virk 4a04c9ce5d Extending ATParser to use FileHandle
Existing ATParser is extended to use FileHandle. This essentially detaches
ATParser from previous tight binding with various implementations of serial
interfaces with buffering.
Now the ATParser uses only abstract FileHandle and doesn't really care about
the underlying implementation. Underneath, it could be a USB device type FileHandle
or a Serial device type FileHandle etc.
Some simplification steps were taken as the code provided opportunities to simplify
and optimize.
2017-05-31 15:02:11 +03:00
Hasnain Virk 2790d44862 Introducing a BufferedSerial
BufferedSerial is a FileHandle and using SerialBase.
It keeps the SerialBase private however lets the user extend FileHandle
by keeping it public.

It is using CircularBuffer class for having circular buffers.

There are some minor amendments in CircularBuffer too.

Adding an entry for tx/rx buffer sizes in platform/mbed_lib.json.
Default size is 256 bytes.

For RTOS read(), write() calls yield for other threads to carry on with their stuff.
For non-RTOS blovking read or write would mean a loop where 100 percent resources are
consumed by this loop. Need to get a better implementation in. Currently no mechanism to
wake the mcu up after WFE.
2017-05-31 15:02:11 +03:00
Hasnain Virk 09ae609d56 Stream class should use mbed::fdopen() to attach a stream
mbed::fdopen() is provided in mbed_retarget.cpp which will attach a stream to the
given FileHandle. Removing mbed_set_unbuffered_stream() from stream class as it
is defined in mbed_retarget.cpp. Stream class should not decide whether it wants
to detach buffers from c library or not. mbed::fdopen() will do that based upon
isatty() call. So if a FileHandle is not a tty, i.e., is not a device type, c library
buffering will not be turned off. For device type FileHandles, c library buffering
is turned off.
2017-05-31 15:02:11 +03:00
Hasnain Virk b2408d8a16 Extending FileHandle & introducing mbed_poll
This has been an attempt to extend existing FileHandle to behave like POSIX
file descriptor for input/output resources/devices too.
This will now provide an abstract indicator/handle any arbitrary file or device
type resource. May be in future, sockets too.

In order to correctly detect availability of read/write a FileHandle, we needed
a select or poll mechanisms. We opted for poll as POSIX defines in
http://pubs.opengroup.org/onlinepubs/009695399/functions/poll.html Currently,
mbed::poll() just spins and scans filehandles looking for any events we are
interested in. In future, his spinning behaviour will be replaced with
condition variables.

In retarget.cpp we have introduced an mbed::fdopen() function which is
equivalent to C fdopen(). It attaches a std stream to our FileHandle stream.
newlib-nano somehow does not seem to call isatty() so retarget doesn't work for
device type file handles. We handle this by checking ourselves in
mbed::fdopen() if we wish to attach our stream to std stream.  We also turn off
buffering by C library as our stuff will be buffered already.

sigio() is also provided, matching the API of the Socket class, with a view to
future unification. As well as unblocking poll(), _poll_change calls the user
sigio callback if an event happens, i.e., when FileHandle becomes
readable/writable.
2017-05-31 15:02:11 +03:00
Kevin Bracey fb7cbdf356 Tighten mbed_retarget.cpp error handling
* Don't set errno when calls are successful (will slightly alleviate the problem
  of errno not being thread-safe yet).
* Transfer errors returned from size() and seek() into errno.
* Fix isatty() - could never return 1 from a FileHandle.
* Use more appropriate errors than EBADF in some places (eg ENOENT for non-existant path).
2017-05-31 15:02:11 +03:00
Kevin Bracey 533910cb87 Correct return type of FileHandle::size()
File size should be off_t, not size_t.
2017-05-31 15:02:11 +03:00
Bartek Szatkowski b793a3fb89 Update codebase for CMSIS5/RTX5
Update all of mbed-os to use RTX5.
2017-05-30 18:55:52 +01:00
Bartek Szatkowski 2ddf4b33cb CMSIS5: Remove ARM7 support and targets 2017-05-12 13:48:43 -05:00
Anna Bridge 8543279901 Merge pull request #4259 from LMESTM/fix_Stream_issue687
Add error check in Stream constructor
2017-05-04 15:56:44 +01:00
Anna Bridge aa80b55628 Merge pull request #4233 from sg-/fix-the-docs2
[platform] Update doxygen comments
2017-05-04 15:12:54 +01:00
Jimmy Brisson 7ace0cbb14 Merge pull request #3881 from geky/log-no-io
Remove debug links to printf/exit in NDEBUG builds
2017-05-02 11:37:10 -05:00
Laurent MEUNIER 4ad4b2a2ef On small targets there might be memory issues that lead to
failing on file allocation / opening during Stream creation.

The consequence was application continues running, but any printf
to the Serial object whose Stream was not properly created
would not show any error (and characters would not show either)

Let's add a check to properly inform user of the error.
2017-05-02 17:53:58 +02:00
Christopher Haster 8705305cab callback: Moved out sfinae logic into a macro
This is required to allow doxygen to properly parse the function
declarations, otherwise it gets confused around the nested templates.
2017-04-28 16:02:36 -05:00
Sam Grove 6c65a0a7f4 [platform] Fix undocumented parameters and fix parameters that didnt
match the arguments
2017-04-26 18:41:02 -05:00
Sam Grove 5b580f6e16 [platform] Fix documentation error between argument names and @param 2017-04-26 18:39:59 -05:00
Sam Grove 33e1d66d66 [platform] Remove stale doxygen parameter that doesnt exist in code 2017-04-26 18:07:47 -05:00
Sam Grove f5d598fb61 [platform] update incorrect doxygen tag for return documentation 2017-04-26 18:06:53 -05:00
Sam Grove 4e417eb3dc [platform] fix doxygen preprocessor constant expresison warnings 2017-04-26 17:51:24 -05:00
Sam Grove 75e5b6500d [platform] Fix doxygen errors in mbed_mem_trace.h 2017-04-26 17:49:45 -05:00
Sam Grove dcbb6f6ab8 [platform] fix doxygen group close 2017-04-26 09:14:36 -05:00
Sam Grove 6062ca7404 [platform] Update doxygen errors with example code comments 2017-04-26 09:13:34 -05:00
Sam Grove 93b8bb8e52 [platform] Fix doxygen error @Return to @return 2017-04-25 14:50:29 -05:00
Sam Grove 5e7ce5fa23 [platform] Update doxygen errors from @Note to @note 2017-04-25 14:37:08 -05:00
Christopher Haster cfc223cc3f Removed debug links to printf/exit in NDEBUG builds
Allows development of small applications where stdio is avoided
2017-04-24 10:40:24 -05:00
Anna Bridge 47b1a9eeec Merge pull request #4111 from sg-/fix-the-docs
[drivers] Update doxygen errors
2017-04-21 14:10:17 +01:00
Francisco J. Manno 4398b1f3c1 Fix gcc [-Wsign-compare] warning
[Warning] mbed_board.c@99,36: comparison between signed and unsigned
integer expressions [-Wsign-compare] is seen during compilation.
Fix the warning and small improvements.

1. Change type of loop variable "i" to the same type as "size".
   Size is > 0 checked by the if statement and i stops at == size
   so none can be negative. However size still needs to be signed
   to detect error codes from vsnprintf.
2. Reduced scope of stdio_out_prev and make sure it's initialized.
3. Define a name for the error buffer size and use vsnprintf instead
   of vsprintf to avoid writing outside of the array.
   NOTE: the if(size > 0) statement doesn't need to change. If
   the message to write is larger than the buffer size vsnprintf
   truncates it automatically but still returns a positive value.
2017-04-19 18:37:37 +01:00
Sam Grove af63b57f89 Merge pull request #4141 from tung7970/fix-mbedos
Fix mbed_board.c compiler warning
2017-04-19 02:17:08 -05:00
Jimmy Brisson fb8fda3cee Merge pull request #4097 from bulislaw/build_debug_macro
Debug build flag + change to sleep behavior in debug mode
2017-04-18 15:05:02 -05:00
Jimmy Brisson 61c4d50109 Fix typo in doxygen tag 2017-04-12 15:23:24 -05:00
Sam Grove b2cd20c5c5 Merge pull request #4122 from neilt6/patch-1
Fixed compiler warning in mbed_retarget.cpp
2017-04-10 16:38:08 -05:00
Bartek Szatkowski c5f0ad506e Disable sleep when uVisor is in use 2017-04-10 11:40:04 +01:00
Bartek Szatkowski 57dc2a540c Disable sleep and deepsleep when MBED_DEBUG macro is defined 2017-04-10 11:40:04 +01:00
Tony Wu 913febd3db Fix mbed_board.c compiler warning
Fix the following compiler warning.

Compile [ 63.7%]: mbed_board.c
[Warning] mbed_board.c@99,36: comparison between signed and unsigned integer expressions [-Wsign-compare]

Signed-off-by: Tony Wu <tonyw@realtek.com>
2017-04-10 11:42:14 +08:00
Neil Thiessen 6b671e5903 Fixed compiler warning in mbed_retarget.cpp
Fixed compiler warning about openmode_to_posix() being declared but never referenced.
2017-04-05 20:58:23 -06:00
Jimmy Brisson f945d71319 Update class documentation tags
stop using scope for \addtogroup. It was placing class methods into the
group documentation instead of the class documentation. The new style is
to explicitly tag the class as @ingroup. This new method will allow the
class to be linked in the group page, and the class page will contain
the detailed documentation of the class methods.
2017-04-04 14:21:53 -05:00
Adam Green 408cff4f8d Modify semihost_disabledebug() to support more interface FW revs
The current implementation of semihost_disabledebug() hangs when used
with mbed interface firwmare revision 21164, the first version which
added support for this semihost call. I encountered this hang when
running a Release build on my mbed-LPC1768 board as the RTOS attempted
to disable the debugger before the idle thread put the CPU to sleep.

The 21164 interface firmware expects that R1 points to a valid argument
block but the current implementation passes in NULL. The fix was to
pass in a dummy block which is ignored by the newer 141212 revision of
the firmware and allows the 21164 version to proceeed without halting
the CPU until a manual reset.

Before this fix semihost_disabledebug() did work with the latest
mbed interface firmware revision 141212 but I rarely use this revision
of the interface firmware due to the instability issues I have
encountered in the past with its CDC and LocalFileSystem functionality.

With this proposed fix, the code now works with both the 21164 and
141212 revisions of the mbed interface firmware on the mbed-LPC1768.
2017-03-31 13:33:55 -07:00
Anna Bridge 039ef42822 Merge pull request #3867 from geky/fs-revert-filehandle
Filesystem: Revert deprecation of FileHandle
2017-03-23 15:45:01 +00:00
Andres AG 2d0135632d Fix C declaration of dir functions and types
This patch fixes the declaration of the DIR type and related functions
so that they can be called from C code. This is necessary when enabling
functionality that uses the filesystem in mbed TLS.
2017-03-16 16:13:44 +00:00
Christopher Haster 18bab4e024 Filesystem: Fixed typo in param naming 2017-03-14 11:04:22 -05:00
Christopher Haster 90fc0b9c47 FileSystem: Reverted deprecation of DirHandle
Should follow same path as FileHandle, although this is less used
and there is currently no route to introduce a hook for a customized
DirHandle in retarget.
2017-03-14 11:02:34 -05:00
Christopher Haster 61c9683644 Filesystem: Moved retarget related file interfaces into platform 2017-03-14 11:02:34 -05:00
Christopher Haster 77243ef46b Filesystem: Revert deprecation of FileHandle
As identified by @hasnainvirk, @kjbracey-arm, the FileHandle and
FileBase serve two separate functions and their integration is
limiting for certain use cases.

FileLike is actually the redundant class here, but the multiple
inheritance it provides is used as a hack by the retargeting code
to get at the FileHandle implementation bound to the FileBase name.

It may make more sense for the FileBase to inherit from FileHandle,
(with perhaps a different name), but rather than explore the
possibility, this will just restore the previous hierarchy.
2017-03-14 11:02:34 -05:00
Christopher Haster 000894d477 Fixed size_t issue for mbed 2 builds 2017-03-10 11:04:05 -06:00
Christopher Haster 87c0b82230 Updated includes of renamed platform header files 2017-03-01 16:45:55 -06:00
Christopher Haster 274460bef5 Filesystem: Adopted dynamic allocation of files over static allocation 2017-02-24 12:03:14 -06:00
Christopher Haster c4649afba5 Filesystem: Last minute changes due to feedback on directory iteration
- Changed to use dirent structure type
- Fixed memory leak in closedir
2017-02-24 12:03:14 -06:00
Christopher Haster 7ca4eabf77 Filesystem: Fixed integration with mbed 2 builds 2017-02-24 12:03:14 -06:00
Christopher Haster b9122c73f9 Filesystem: Integrate error handling between c++/posix layers 2017-02-24 12:03:09 -06:00
Christopher Haster eea5c9f08a Filesystem: Integration with retarget code 2017-02-24 11:55:37 -06:00
Christopher Haster ee3e920ed1 Filesystem: Moved toolchain-specific types into retarget.h 2017-02-24 11:42:32 -06:00
Simon Hughes 840c77793b STORAGE: Pull request 3762 review feedback changes.
- Fixing code formatting errors with astyle tool.
- Replaced use of TOOLCHAIN_xxx macros with compiler emitted macros.
- Added const to BlockDevice::get_xxx_size() member functions.
- Added documentation for FAT filesystem thread support.
- Added documentation for fat_filesystem_set_errno().
- Added documentation clarifying the reasons for errno/stat symbol definitions in retarget.h.
- Removed FAT filesystem from mbed 2 testing.
- Fixed FATMisc.h Copyright (c) 2016 year to 2017 as its a new file.
- Removed #ifndef NDEBUG from HeapBlockDevice.cpp.
- Removed unnecessary todo comment in retarget.cpp.
2017-02-23 16:39:42 +00:00
Simon Hughes 2b96c74f84 STORAGE: Pull Request 3704 requested minor changes including:
- renaming FATFileSystemSetErrno() fat_file_system_set_errno.
- changing FATFileSystem::format() to be mount fs internally in function, rather than expecting fs to be mounted.
- requested const char *filename change.
2017-02-23 16:39:21 +00:00
Simon Hughes fdadb8cc66 STORAGE: moved toolchain_support.h into platform/retarget.h 2017-02-23 16:39:18 +00:00
Simon Hughes 4f5e94c746 STORAGE: test case fixes to support ARMCC and IAR toolchains.
Conflicts:
	features/TESTS/filesystem/fopen/fopen.cpp
2017-02-23 16:38:15 +00:00
Simon D Hughes aefb03ccd6 ARMCC temporary fixes for undefined errno symbols. 2017-02-23 16:36:16 +00:00
Simon Hughes 0c87537f10 Added errno codes to retarget, mkdir() and ftell() tests. 2017-02-23 16:36:03 +00:00
Simon Hughes c8fecb6c88 STORAGE: tests added for errno, ferror() and clearerr(). 2017-02-23 16:30:55 +00:00
Christopher Haster b1a685125b Filesystem: Removed dependency on unistd.h
Previously used to determine stdin/stdout/stderr filenos, however
these are set by us
2017-02-23 16:30:47 +00:00
Christopher Haster 9299a88e8f Filesystem: Add support for stat
Provided through FileSystemLike::stat
2017-02-23 16:30:42 +00:00
Christopher Haster aff49d8d1e Renamed files in platform to match source names
critical.h     -> mbed_critical.h
sleep.h        -> mbed_sleep.h
toolchain.h    -> mbed_toolchain.h
rtc_time.h     -> mbed_rtc_time.h
semihost_api.h -> mbed_semihost_api.h
wait_api.h     -> mbed_wait_api.h
2017-02-22 18:17:54 -06:00
Martin Kojtal 4470d048a6 Merge pull request #3748 from c1728p9/application_transfer_support
Add a function to transfer control to another app
2017-02-21 17:11:42 +00:00
Sam Grove cfd517a3a0 Merge pull request #3783 from geky/cb-deprecate-attach
Callback: Deprecate attach member function in favor of simple assignment
2017-02-21 10:55:44 -06:00
Russ Butler 36cbae6420 Add a function to transfer control to another app
Add the function mbed_start_application() which allows a bootloader to
transfer control to an application.
2017-02-18 19:48:14 -06:00
Christopher Haster ed6fec2811 Callback: Deprecated attach member function in favor of simple assignment
The attach function is used several other places to indicate
registration for interrupts. This differs significantly to its use in
the Callback class. Additionally, the attach function is unnecessary
given that simple assignment works just as well.
2017-02-15 15:07:58 -06:00
YarivCol 2c6eba35c2 fix in mbed_error_vfprintf
MBED_CONF_PLATFORM_STDIO_CONVERT_NEWLINES was not used in mbed_error_vfprintf causing wrong behavior when the option was selected (no new line is some terminals like putty).
2017-02-13 00:54:51 +02:00
Russ Butler 605614a600 Add MBED_SECTION attribute
Allow the section that code is placed in to be explicitly specified
with the attribute MBED_SECTION.
2017-02-01 09:20:29 -06:00
Bartek Szatkowski 8a4a3caf65 sleep: make sleep/deepsleep static 2017-01-19 11:53:53 +00:00
Bartek Szatkowski 1e73a66c33 sleep: remove warnings for default build 2017-01-19 11:53:24 +00:00
Bartek Szatkowski 6a045a49a9 Platform: Add sleep/deepsleep user facing functions
Add sleep/deepsleep functions to platform layer which are replacing HAL
functions with the same name, rename existing symbols in HAL layer
to hal_sleep/hal_deepsleep. This way sleep functions
are always available, even if target doesn't implement them, which makes
the code using sleep clearer. It also enables us to make decision on in
which builds (debug/release) the sleep will be enabled.
2017-01-19 09:39:29 +00:00
Martin Kojtal ab2e869a24 Merge pull request #3157 from SiliconLabs/SiliconLabs-EFR32
[Silicon Labs] Adding support for EFR32MG1 wireless SoC
2016-12-02 15:46:35 +01:00
micromint 22c0e3560b Support building mbed_critical.c with C++ compiler 2016-11-21 12:59:45 -04:00
Martin Kojtal 8eaeb86780 Merge pull request #3244 from geky/callback-type-relaxation
callback - Relax type-deduction in callback class
2016-11-16 17:42:58 +00:00
Martin Kojtal b36944fafc Merge pull request #3141 from geky/stats-stack
stats - Add cleaner stats API for stack usage
2016-11-16 17:41:37 +00:00
micromint 809b20738e Change MBED_DEPRECATED def order to support Keil 4 2016-11-10 09:59:28 -06:00
Christopher Haster 3544228b47 callback - Adopted relaxed type-deduction for bound functions
Adopting relaxed type-deduction in bound functions better aligns with
the same overloads for member functions, and provides an alternative
solution for the void pointer cast issue, which removes a large amount
of cruft.
2016-11-09 13:45:25 -06:00
Christopher Haster 3ba3bb50f9 callback - Fixed type-deduction when inheritance is involved
The type deduction for the callback constructors was to strict and
prevented implicit casts for the context pointer stored internally.

As noted by @pan-, relaxing the contraints on the templated
parameters allows C++ to correctly infer implicit casts such as
conversions between child and parent classes when inheritance is
involved.

As an additional benefit, this may help the user experience by
defering invalid type errors to when the types are expanded,
limiting the number of error messages presented to users.
2016-11-09 12:42:42 -06:00
Christopher Haster e90fff3a60 stats - Added doxygen documentation to stats functions 2016-11-07 19:15:44 -06:00
Christopher Haster 9b630b3e0d stats - Added stack stats api for individual threads
Added the following
- size_t mbed_stats_stack_get_each(mbed_stats_stack_t *, size_t)
2016-11-07 19:15:44 -06:00
Christopher Haster 14aa57f81c stats - Added stats for reserved heap space for consistency 2016-11-07 19:15:44 -06:00
Christopher Haster b6e8f44c0d stats - Added stack stats api
Matched heap stats api
- void mbed_stats_heap_get(mbed_stats_heap_t *)
- void mbed_stats_stack_get(mbed_stats_stack_t *)
2016-11-07 19:15:38 -06:00
Sam Grove 30e63a27b7 Merge pull request #3202 from geky/fix-rtos-wait-math
Fix arithmetic error in rtos-based wait
2016-11-07 10:30:33 -06:00
Steven Cooreman f344c0d204 [EFR32] Set default USB serial baudrate
Silicon Labs targets use a default, unchangeable baud rate of 115200 on the stdio serial-USB bridge.
2016-11-07 11:54:45 +01:00
Christopher Haster 4d6afcddfa Fixed arithmetic error in rtos-based wait
The value of `start` is taken from before that wait call, so the value
of `us` shouldn't be changed
2016-11-04 11:42:53 -05:00
Christopher Haster c11ce2153a Added mbed_preprocessor.h to collect common cpp definitions 2016-11-03 10:26:31 -05:00
Christopher Haster 98db3ab1cb Adopted MBED_STATIC_ASSERT where possible 2016-11-01 21:39:48 -05:00
Christopher Haster 182c6a29f2 Added static assert macro
Added MBED_STATIC_ASSERT for compile-time assertions, results in
compile-time error if condition is false

The assertion acts as a declaration that can be placed at file scope, in
a code block (except after a label), or as a member of
a C++ class/struct/union.

Unfortunately, there does not exist a backup construct for use in
C class/struct/union contexts. An alternative macro,
MBED_STRUCT_STATIC_ASSERT provides this ability to avoid disabling
static assertions for the majority of mbed-supported C compilers.
2016-11-01 21:39:41 -05:00
ccli8 dfc32409a9 [NUC472/M453] Refine comment for two-region model 2016-10-11 10:55:08 +08:00
ccli8 b95478015b Support NUMAKER_PFM_M453 2016-10-11 10:55:08 +08:00
Sam Grove 3a16ca9855 Merge pull request #2911 from theotherjimmy/docs-generation
[Tools] Add documentation generation script
2016-10-06 15:57:08 -05:00
Sam Grove 670b0984eb Merge pull request #2917 from c1728p9/fix_InitTCs
Initialization steps in toolchains
2016-10-05 00:54:45 -05:00
Sam Grove 970c6551a1 Merge pull request #2873 from tung7970/fix-mbedos
callchain - fix add_front assignment
2016-10-04 22:45:30 -05:00
Jimmy Brisson f1a78027d3 Add tags to our code 2016-10-04 15:02:44 -05:00
Laurent MEUNIER bcbe0b17de INIT:GCC with rtos: Align pre-main initialization steps between TCs
In this commit we're moving the mbed_sdk_init call before the RTOS
initialisation so that the sequence is similar to other toolchains.
2016-10-04 14:55:31 -05:00
Laurent MEUNIER e8d67ac530 INIT: uARM no rtos: Align pre-main initialization steps between TCs
In uARM, the library's hook _platform_post_stackheap_init does not seem to
exist and I couldnot find a documentation describing the initialisation
flow. All we know is that _open is called after RAM init and before the
C++ init, so this is a working placeholder.

This is maybe not acceptable so a uARM lib expert may propose a better
hook to fullfil the requirement.

At least this is a workign setup.

This series should solve issue reported here:
STM32 (At least F401) breaks if Tickers are activated in a global object #2115
2016-10-04 14:55:27 -05:00
Laurent MEUNIER f50e23aea6 INIT:ARM no rtos: Align pre-main initialization steps between TCs
Various toolchains supported in MBED don't followthe same initialization
steps. This can have impacts on platform behavior.

For STM32, it is needed to call the HAL_Init() _after_ the  RAM has been
initialized (sdata from flash / zero initialized data) and _before_ the C++
objects are being created, especially if those objects require support
of tickers for instance.

In GCC and IAR, this was done in previous commit to avoid HAL_Init()
to be called twice.

In ARM this there is no hook defined in MBED yet to place the call.
The proposal is to take benefit of the library's
_platform_post_stackheap_init function that is going to be called before
__rt_lib_init where the C++ object init is done (__cpp_initialize__aeabi_)

This series should solve issue reported here:
STM32 (At least F401) breaks if Tickers are activated in a global object #2115
2016-10-04 14:55:23 -05:00
Sam Grove 15f21b0587 Merge pull request #2898 from geky/callback-fix-iar-typeinfo
callback - Add workaround for IAR issue with type information
2016-10-04 14:06:45 -05:00
Christopher Haster abba0c2173 callback - Added workaround for IAR issue with type information
In the IAR ide, implicitly generated structures based on function
templates end up with missing type information. This has no effect
on using the IAR compiler standalone, but when used through the ide
the missing type information causes the ide to error.

As a workaround, moved the function attributes generated for the
Callback and Event classes into the class scope. This avoids the
syntax that confuses IAR.
2016-10-03 18:33:25 -05:00
Bogdan Marinescu 8eb36e1164 Added a baud argument for (Raw)Serial objects
This commit adds a `baud` argument for Serial and RawSerial objects:

- there is a new `Serial` constructor with a mandatory baud rate
  argument. The old constructor also got a `baud` argument with a
  default value (to keep backward compatibility).
- the `RawSerial` constructor also got a `baud` argument with a default
  value.

There's also a new configuration parameter (`default-serial-baud-rate`)
that can be used to specify the default value of the above `baud`
arguments.
2016-10-03 20:12:24 +03:00
Tony Wu 761d03f069 callchain - fix add_front assignment
_chain should point to the new element.

Signed-off-by: Tony Wu <tung7970@gmail.com>
2016-10-03 19:23:04 +08:00
Sam Grove 301b77c4b2 For drivers, events, hal, platform, rtos and mbed.h add one level of path to make sure specific and unique includes files are found. 2016-10-01 02:11:36 -05:00
Sam Grove 3a714c117e Move Transaction.h into platform/ given there is no hardware required. 2016-10-01 01:33:10 -05:00
Sam Grove 7a44db8376 Move CircularBuffer.h into platform/ given there is no hardware required. 2016-10-01 01:31:22 -05:00
Christopher Haster c2d9fc29ff restructure - Fixed include paths damaged by the restructure 2016-09-30 19:18:09 -05:00
Christopher Haster 8ad83273db restructure - Moved stdio-config into platform 2016-09-30 19:18:09 -05:00
Christopher Haster 15904b7544 restructure - Split hal into drivers+platform+hal
hal/common/AnalogIn.cpp -> drivers/AnalogIn.cpp
hal/api/AnalogIn.h -> drivers/AnalogIn.h
hal/api/AnalogOut.h -> drivers/AnalogOut.h
hal/common/BusIn.cpp -> drivers/BusIn.cpp
hal/api/BusIn.h -> drivers/BusIn.h
hal/common/BusInOut.cpp -> drivers/BusInOut.cpp
hal/api/BusInOut.h -> drivers/BusInOut.h
hal/common/BusOut.cpp -> drivers/BusOut.cpp
hal/api/BusOut.h -> drivers/BusOut.h
hal/common/CAN.cpp -> drivers/CAN.cpp
hal/api/CAN.h -> drivers/CAN.h
hal/api/CircularBuffer.h -> drivers/CircularBuffer.h
hal/api/DigitalIn.h -> drivers/DigitalIn.h
hal/api/DigitalInOut.h -> drivers/DigitalInOut.h
hal/api/DigitalOut.h -> drivers/DigitalOut.h
hal/api/DirHandle.h -> drivers/DirHandle.h
hal/common/Ethernet.cpp -> drivers/Ethernet.cpp
hal/api/Ethernet.h -> drivers/Ethernet.h
hal/common/FileBase.cpp -> drivers/FileBase.cpp
hal/api/FileBase.h -> drivers/FileBase.h
hal/api/FileHandle.h -> drivers/FileHandle.h
hal/common/FileLike.cpp -> drivers/FileLike.cpp
hal/api/FileLike.h -> drivers/FileLike.h
hal/common/FilePath.cpp -> drivers/FilePath.cpp
hal/api/FilePath.h -> drivers/FilePath.h
hal/common/FileSystemLike.cpp -> drivers/FileSystemLike.cpp
hal/api/FileSystemLike.h -> drivers/FileSystemLike.h
hal/common/I2C.cpp -> drivers/I2C.cpp
hal/api/I2C.h -> drivers/I2C.h
hal/common/I2CSlave.cpp -> drivers/I2CSlave.cpp
hal/api/I2CSlave.h -> drivers/I2CSlave.h
hal/common/InterruptIn.cpp -> drivers/InterruptIn.cpp
hal/api/InterruptIn.h -> drivers/InterruptIn.h
hal/common/InterruptManager.cpp -> drivers/InterruptManager.cpp
hal/api/InterruptManager.h -> drivers/InterruptManager.h
hal/common/LocalFileSystem.cpp -> drivers/LocalFileSystem.cpp
hal/api/LocalFileSystem.h -> drivers/LocalFileSystem.h
hal/api/LowPowerTicker.h -> drivers/LowPowerTicker.h
hal/api/LowPowerTimeout.h -> drivers/LowPowerTimeout.h
hal/api/LowPowerTimer.h -> drivers/LowPowerTimer.h
hal/api/PortIn.h -> drivers/PortIn.h
hal/api/PortInOut.h -> drivers/PortInOut.h
hal/api/PortOut.h -> drivers/PortOut.h
hal/api/PwmOut.h -> drivers/PwmOut.h
hal/common/RawSerial.cpp -> drivers/RawSerial.cpp
hal/api/RawSerial.h -> drivers/RawSerial.h
hal/common/SPI.cpp -> drivers/SPI.cpp
hal/api/SPI.h -> drivers/SPI.h
hal/common/SPISlave.cpp -> drivers/SPISlave.cpp
hal/api/SPISlave.h -> drivers/SPISlave.h
hal/common/Serial.cpp -> drivers/Serial.cpp
hal/api/Serial.h -> drivers/Serial.h
hal/common/SerialBase.cpp -> drivers/SerialBase.cpp
hal/api/SerialBase.h -> drivers/SerialBase.h
hal/common/Stream.cpp -> drivers/Stream.cpp
hal/api/Stream.h -> drivers/Stream.h
hal/common/Ticker.cpp -> drivers/Ticker.cpp
hal/api/Ticker.h -> drivers/Ticker.h
hal/common/Timeout.cpp -> drivers/Timeout.cpp
hal/api/Timeout.h -> drivers/Timeout.h
hal/common/Timer.cpp -> drivers/Timer.cpp
hal/api/Timer.h -> drivers/Timer.h
hal/common/TimerEvent.cpp -> drivers/TimerEvent.cpp
hal/api/TimerEvent.h -> drivers/TimerEvent.h
hal/api/Transaction.h -> drivers/Transaction.h
hal/api/can_helper.h -> drivers/can_helper.h
hal/.yotta_ignore
hal/CMakeLists.txt
hal/hal/analogin_api.h -> hal/analogin_api.h
hal/hal/analogout_api.h -> hal/analogout_api.h
hal/hal/buffer.h -> hal/buffer.h
hal/hal/can_api.h -> hal/can_api.h
hal/hal/dma_api.h -> hal/dma_api.h
hal/hal/ethernet_api.h -> hal/ethernet_api.h
hal/hal/gpio_api.h -> hal/gpio_api.h
hal/hal/gpio_irq_api.h -> hal/gpio_irq_api.h
hal/hal/i2c_api.h -> hal/i2c_api.h
hal/hal/lp_ticker_api.h -> hal/lp_ticker_api.h
hal/common/mbed_gpio.c -> hal/mbed_gpio.c
hal/common/mbed_lp_ticker_api.c -> hal/mbed_lp_ticker_api.c
hal/common/mbed_pinmap_common.c -> hal/mbed_pinmap_common.c
hal/common/mbed_ticker_api.c -> hal/mbed_ticker_api.c
hal/common/mbed_us_ticker_api.c -> hal/mbed_us_ticker_api.c
hal/module.json
hal/hal/pinmap.h -> hal/pinmap.h
hal/hal/port_api.h -> hal/port_api.h
hal/hal/pwmout_api.h -> hal/pwmout_api.h
hal/hal/rtc_api.h -> hal/rtc_api.h
hal/hal/serial_api.h -> hal/serial_api.h
hal/hal/sleep_api.h -> hal/sleep_api.h
hal/hal/spi_api.h -> hal/spi_api.h
hal/hal/storage_abstraction/Driver_Common.h -> hal/storage_abstraction/Driver_Common.h
hal/hal/storage_abstraction/Driver_Storage.h -> hal/storage_abstraction/Driver_Storage.h
hal/hal/ticker_api.h -> hal/ticker_api.h
hal/hal/trng_api.h -> hal/trng_api.h
hal/hal/us_ticker_api.h -> hal/us_ticker_api.h
hal/api/mbed.h -> mbed.h
hal/api/CThunk.h -> platform/CThunk.h
hal/common/CallChain.cpp -> platform/CallChain.cpp
hal/api/CallChain.h -> platform/CallChain.h
hal/api/Callback.h -> platform/Callback.h
hal/api/FunctionPointer.h -> platform/FunctionPointer.h
hal/api/PlatformMutex.h -> platform/PlatformMutex.h
hal/api/SingletonPtr.h -> platform/SingletonPtr.h
hal/api/critical.h -> platform/critical.h
hal/common/mbed_alloc_wrappers.cpp -> platform/mbed_alloc_wrappers.cpp
hal/common/mbed_assert.c -> platform/mbed_assert.c
hal/api/mbed_assert.h -> platform/mbed_assert.h
hal/common/mbed_board.c -> platform/mbed_board.c
hal/common/mbed_critical.c -> platform/mbed_critical.c
hal/api/mbed_debug.h -> platform/mbed_debug.h
hal/common/mbed_error.c -> platform/mbed_error.c
hal/api/mbed_error.h -> platform/mbed_error.h
hal/common/mbed_interface.c -> platform/mbed_interface.c
hal/api/mbed_interface.h -> platform/mbed_interface.h
hal/common/mbed_mem_trace.c -> platform/mbed_mem_trace.c
hal/api/mbed_mem_trace.h -> platform/mbed_mem_trace.h
hal/common/mbed_rtc_time.cpp -> platform/mbed_rtc_time.cpp
hal/common/mbed_semihost_api.c -> platform/mbed_semihost_api.c
hal/api/mbed_stats.h -> platform/mbed_stats.h
hal/common/mbed_wait_api_no_rtos.c -> platform/mbed_wait_api_no_rtos.c
hal/common/mbed_wait_api_rtos.cpp -> platform/mbed_wait_api_rtos.cpp
hal/api/platform.h -> platform/platform.h
hal/common/retarget.cpp -> platform/retarget.cpp
hal/api/rtc_time.h -> platform/rtc_time.h
hal/api/semihost_api.h -> platform/semihost_api.h
hal/api/toolchain.h -> platform/toolchain.h
hal/api/wait_api.h -> platform/wait_api.h
2016-09-30 19:18:09 -05:00