Commit Graph

23 Commits (866858a81640ffda3fae7cd5cde09718c25d24f1)

Author SHA1 Message Date
Bogdan Marinescu ae16d3efa8 Fix NULL pointer indirection in FilePath
If the FileBase::lookup operation in the constructor of FilePath returns
NULL, subsequent operations (such as isFile()/isFileSystem()) will call
methods on a NULL 'fb' pointer. This commit fixes this issue by adding
explicit NULL checks and a new method in FilePath (exists()).
2013-09-05 14:09:27 +03:00
Adam Green 9e6d1683b8 gcc: Provide _sbrk implementation compatible with RTX
I verified that the hang issue I was seeing when building and running
the mbed official networking tests with GCC_ARM was related to this
issue reported on the mbed forums:
    http://mbed.org/forum/mbed/topic/3803/?page=1#comment-18934

If you are using the 4.7 2013q1 update of GCC_ARM or newer then it
will have a _sbrk() implementation which checks the new top of heap
pointer against the current thread SP, stack pointer.
See this GCC_ARM related thread for more information:
    https://answers.launchpad.net/gcc-arm-embedded/+question/218972
When using RTX RTOS threads, the thread's stack pointer can easily
point to an address which is below the current top of heap so this
check will incorrectly fail the allocation.

I have added a _sbrk() implementation to the mbed SDK which checks the
heap pointer against the MSP instead of the current thread SP.  I have
only enabled this for TOOLCHAIN_GCC_ARM as this is the only GCC based
toolchain that I am sure requires this.
2013-08-30 18:15:25 -07:00
Adam Green 8fe7276b98 Silence signed/unsigned comparison warnings in GCC.
Why do the wait APIs take a signed integer if they are going to be
compared to unsigned quantities?
2013-08-13 01:47:19 -07:00
Adam Green 15f833bc1b Cast to matching enumeration type instead of uint32_t
These were done to silence GCC warnings and fix potential bugs where
they would never be equal when the enumeration wasn't a 32-bit type.

For example, common/pinmap_common.c used to contain this code:
    if (pin == (uint32_t)NC)
I switched it to:
    if (pin == (PinName)NC)

I wonder why this casting to uint32_t was done in the first place?
Maybe another supported compiler requires it?
2013-08-13 01:47:19 -07:00
Bogdan Marinescu 3b465de3aa Changed line endings to LF, removed non-ASCII chars from sources 2013-08-08 12:58:34 +03:00
Bogdan Marinescu 6c05438993 Interrupt chaining: added documentation, fixed a synchronization issue in CallChain. 2013-08-07 14:46:40 +03:00
Bogdan Marinescu d399e51bfd Interrupt chaining: now working on all targets.
Tested on LPC1768, LPC11U24, KL25Z, LPC2368.
2013-08-07 14:43:36 +03:00
Bogdan Marinescu 43d4445074 Interrupt chaining: preliminary version 2013-08-07 14:43:26 +03:00
Bogdan Marinescu 58fd85fc6f Add support for calling a function before main()
The name of the function is mbed_main.
Fixes PRMBED-906.
2013-08-07 14:39:13 +03:00
Matthew Else bf02700a32 Merge https://github.com/jorisa/mbed 2013-08-06 09:43:52 +01:00
Joris Aerts c747e2533f Rename some argument and enum names to match existing naming
Add CAN->mode(Mode mode) function (not implemented in hal)
2013-08-05 17:28:27 -07:00
Matthew Else ef28879863 Merged remote tracking branch 'upstream/master' 2013-08-05 17:22:01 +01:00
Emilio Monti 8562b3660b Add LPC1347 export templates. Cleanup GCC toolchain check. 2013-08-02 17:56:11 +01:00
Joris Aerts 63b2b271d1 Refactor CAN interrupt handling to LPC176X HAL implementation
Add handlers for other CAN interrupt events
Changed CAN private entities to protected
2013-07-31 07:26:32 -07:00
Bogdan Marinescu df5a993197 __cxa_pure_virtual changes
- rename stdio.cpp to retarget.cpp, since it doesn't contain only stdio-related
  code
- move __cxa_pure_virtual from exit.c to retarget.cpp where it belongs.
2013-07-29 18:54:22 +03:00
Bogdan Marinescu beed7117ad Add __cxa_pure_virtual to avoid pulling in functions from the C++ library
Fixes PRMBED-859
2013-07-29 18:13:37 +03:00
Bogdan Marinescu 6d652bddfa mbed_interface_disconnect/powerdown are now synchronous calls
Fixes PRMBED-804
2013-07-17 15:29:41 +03:00
Bogdan Marinescu 0c33d40fbb Added support for UART break generation. 2013-07-17 15:29:39 +03:00
Emilio Monti 5020b9ad3b Stop using the patched microlib 2013-07-08 17:31:04 +01:00
Emilio Monti 95e66aa4c6 Move the target dependent code from the shared code to the HAL implementation 2013-07-01 18:05:31 +01:00
Bogdan Marinescu bfeb47f523 I2C API refactoring
Now the I2C send/receive functions in the mbed HAL return the number of
bytes actually transferred or an error code (a negative value). The
public API remains unchanged.
2013-07-01 16:28:32 +01:00
Joe Turner 92a5e412bd Merge branch 'master' into STM32F4
Conflicts:
	workspace_tools/build_api.py
	workspace_tools/data/support.py
	workspace_tools/libraries.py
	workspace_tools/paths.py
	workspace_tools/toolchains.py
2013-06-19 13:10:44 +01:00
Emilio Monti 90b614baf8 Unify mbed library sources
Remove stdio retargeting reference form cmsis: keep it as a standalone
object
Avoid object files clash for sources with the same name
2013-06-14 17:32:15 +01:00