Commit Graph

130 Commits (8a6d2b08357c2cd23944f6fc9b4bc3cb1570ef46)

Author SHA1 Message Date
Adam Green 5b5d7ee1d4 Fix issue #1599
My previous commit, c6d2c81, broke Keil builds and maybe even IAR.

I need to learn how to read C code :)  I thought I was masking off the
O_BINARY bit only for GCC builds but it turns out that my update was
in the fall-through case for all toolchains.  This commit now places
the O_BINARY masking operation into a GCC specific #ifdef clause.

Testing:
I tested the same fopen("/local/out.txt","rb") code as before but this
time I built it with the online compiler and GCC_ARM. I tested the
resulting binaries on mbed-LPC11U24 and mbed-LPC1768 boards.

Thanks to @neilt6 for catching & reporting this!
2016-03-08 14:13:00 -08:00
Adam Green c6d2c81c7f LocalFileSystem fails to open binary files
Fixes issue #1562 reported by @justbuchanan.

When building code with GCC-ARM / newlib, attempting to use the
b (binary) mode in a fopen() call would fail. newlib would parse
this option and pass it down to the LocalFileSystem open call which
didn't like the unexpected O_BINARY flag in openmode.

The openmode_to_posix() function in retarget.cpp would never set the
O_BINARY flag for the other toolchains but for GCC it would just pass
down whatever newlib placed there.  This commit masks out the O_BINARY
bit so that it never gets passed down to the file system drivers, just
as occurs for the other supported toolchains.

Test case:
  FILE *fp = fopen("/local/out.txt", "rb");

I tested that code on mbed LPC1768 and LPC11U24 boards while using
GCC_ARM as the toolchain. It failed on both platforms previous to
this change and succeeded there after.
2016-03-07 13:34:32 -08:00
sg- c7f84c86f7 Remove all references and use of code warrior GCC in docs, build and
exporters¦
2016-02-11 01:07:58 -06:00
Russ f8ada507af Fix RawSerial when used with ARMCC microlib
The function vsnprintf does not properly handle a size of zero for
the destination buffer, and will write data to it.  If the buffer is
set to null this will cause a hardfault.  This patch adds a workaround
for this bug by using a buffer of size 1.
2016-01-10 19:01:46 -06:00
Martin Kojtal d2dde861b4 Merge pull request #1443 from 0xc0170/fix_interruptin_clear
InterrupIn - attach with null clears the function pointer
2015-11-26 13:19:50 +00:00
sg- 7fff98a3fd use cstdarg lib and not stdarg 2015-11-23 10:08:51 -06:00
0xc0170 281c180722 InterrupIn - attach with null clears the function pointer 2015-11-20 08:12:29 +00:00
sg- d0b934eba0 remove std:: namespace and update include accessability 2015-11-17 09:00:10 -06:00
sg- f13226663c add variable arguemnt support to stream 2015-11-17 08:35:45 -06:00
Austin Blackstone 0278260cad added BLoD functionality to all Silicon Labs boards. Added #define to all device.h files and a disable_irq() exception in common/board.c because the wait function is implemented in a interrupt for both NRF and SiLabs boards 2015-08-11 11:32:11 -05:00
neilt6 8d81cb49e1 [mbed] Modified MBED_ASSERT to use error()
Modified mbed_assert_internal() to call error() with the assertation
message instead of fprintf() followed by mbed_die(). This allows
assertation failures to be caught by custom error() functions that
replace the default weak definition.
2015-07-13 10:20:11 -06:00
0xc0170 3ae6d045ee Serial - constness for tx 2015-06-09 10:02:27 +01:00
0xc0170 e7feba4e21 I2C - costness for tx buffer 2015-06-09 09:34:48 +01:00
0xc0170 614c5539bc SPI - constness for tx buffer 2015-06-08 16:39:42 +01:00
0xc0170 1cef3ffb2d Merge branch 'master' of https://github.com/sg-/mbed into sg--master
Conflicts:
	libraries/mbed/common/SPI.cpp
2015-05-27 13:09:05 +01:00
0xc0170 f0038f84e8 Timer/Ticker - fix constness of the data argument/member 2015-05-21 08:47:23 +01:00
Martin Kojtal be1f88a056 Asynch API for mbed (SPI, I2C, Serial) and low power ticker
New LowPowerXXX classes - low power ticker
SPI, I2C, Serial - asynch methods
2015-04-27 10:55:44 -07:00
Jeremy Brodt 77d3559f88 Fixed and suppressed compiler warnings. 2015-04-23 12:36:07 -05:00
sg- 70fad08a4c Update SPI API documentation for hardware driven SS. Modify all target spi_api.c implementations. spi_init ssel parameter was used incorrectly to determine master/slave mode rather than enable hardware driven SS (seems to be due to legacy copy paste). Remove duplicate copy paste code of initialization in spi_init that is done by constructor (SPI and SPISlave) 2015-04-10 00:38:27 -05:00
ohagendorf a70bdc5c00 [TARGET_STMF4] reorg hal for DISCO_F407VG
Removing pin configuration from analogin_api, analogout_api and
pwmout_api (hal function, used by every STM32F4 target) to the target
specific files.
2015-04-09 11:21:44 +02:00
Rohit Grover d1d900d30c replace AppTimer on Nordic's nRF5x with a driver for RTC1.
AppTimer was an overhead; and it was also reseting the RTC from time to time.
2015-03-20 09:18:13 +00:00
Martin Kojtal 0531ad4544 Merge pull request #926 from Sissors/lookmartinImadeanewbranch
Add option to modify RTC source for time functions (using func pointers)
2015-03-09 11:16:52 +00:00
Rohit Grover f8fd702c09 rearranging some code so that state is tidied up before calling us_ticker_set_interrtupt() 2015-03-05 11:49:47 +00:00
Martin Kojtal 38514db08e Merge pull request #936 from jeremybrodt/issue934
Fix issue #934: Handled condition when head is NULL.
2015-03-03 08:09:58 +01:00
Sissors 4a184d980e Made attach_rtc with disabled irqs 2015-02-28 12:21:55 +01:00
Jeremy Brodt 6bc00fda8a Improved handling of NULL condition. 2015-02-27 10:01:30 -06:00
Martin Kojtal 43d7f387ec Merge pull request #933 from masaohamanaka/master
RZ/A1H - Modify to support GCC and Fix some bugs of driver.
2015-02-27 10:55:20 +01:00
Jeremy Brodt b53b67ecad Issue #934: Handled condition when head is NULL. 2015-02-26 08:50:09 -06:00
Masao Hamanaka 74220c7896 Correct the formatting of #if. 2015-02-26 19:46:02 +09:00
Masao Hamanaka 0365977217 Modify and add a file to support GCC. (mbed common codes) 2015-02-26 16:35:45 +09:00
Jeremy Brodt 7020c50c56 Added function to get the timestamp of the next us_ticker event. 2015-02-24 14:25:43 -06:00
Sissors f0d04f5360 [API] Added option to modify RTC source
Initially from Karls question here:
http://developer.mbed.org/questions/6337/setTime-and-time-exported-with-__weak-fo/#answer6545?compage=1#c15936.
Currently the C time functions only work with internal RTC. Sometimes
you either want to use an external one, or your target does not even
have an internal RTC. I added function attach_rtc(...) where the default
functions can be overridden at runtime.
2015-02-22 13:19:02 +01:00
0xc0170 15ee1ca2dc Fix for #908, exit req std namespace 2015-02-16 10:11:54 +00:00
Adam Green 06495658ce Move exit override to retarget.cpp
I moved the exit handler from exit.c to retarget.cpp where the rest of
the standard C library retargetting routines are found.  The exported
makefiles already explicitly link in retarget.o but not exit.o
When building with the GNU toolchain, it is safest to link in the
object file directly for retargetting routines so that GNU linker has
to use these versions of the routines.

Testing:
I have only tested this change with GCC_ARM. It should really be
tested with more toolchains before getting merged.
2015-02-12 00:14:26 -08:00
Jun-Ru Chang 7ee7fab4ee Include missing header file
MBED_ASSERT was defined in mbed_assert.h.

Signed-off-by: Jun-Ru Chang <jrjang@gmail.com>
2015-01-28 18:57:19 +08:00
0xc0170 453e81fd4c Merge branch 'pinology' of https://github.com/PrzemekWirkus/mbed into PrzemekWirkus-pinology
Conflicts:
	libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F4/TARGET_DISCO_F401VC/cmsis_nvic.c
2015-01-27 14:15:48 +01:00
0xc0170 1fca34a068 HAL - NRF51822 - us ticker fix for the #839
There was a project header file which does not exist in mbed SDK, neither
some defines used from it most probably. This commit reverts those parts.
2015-01-26 15:32:14 +01:00
Przemek Wirkus 8c50826562 Removed extra checks for operator[] and replaced them with MBED_ASSERT for cleaner code 2015-01-26 08:47:44 +00:00
Rohit Grover c8b9b9c2f5 add a declaration for the signed version of timestamp_t; used in a comparison 2015-01-12 07:58:31 +00:00
Przemek Wirkus d068a2b479 Replaced const define with hardcoded bus size of 16 2015-01-06 08:42:49 +00:00
Przemek Wirkus 7d54c82331 * Changed Bus operator[]() parameter from unsigned int to int to match mbed code
guidelines.
* Uncommented assertions in operators and added check for operator[] index < 0.
* Moved one operator from private to public, this was a typo thing.
2015-01-06 08:33:24 +00:00
Przemek Wirkus 8690af3b7b Simple indent 2014-12-19 14:53:35 +00:00
Przemek Wirkus 7720989e20 Added operator[] and mask() function to BusInOut
This change follows changes in BUsIn and BusOUt API
2014-12-19 14:45:32 +00:00
Przemek Wirkus db7e92853b Added mask() function to BusIn and BusOut components
You can use BusIn::mask() or BusOut::mask() to get binary mask of all connected and NC pins in bus
2014-12-19 14:37:00 +00:00
Przemek Wirkus c4fc8e68eb Added operator[] for BusIn and BusOut to add access to particular bit in random-iterator fashion 2014-12-19 14:06:46 +00:00
GustavWi bd6836396b Moved IAR serial differences to retarget.cpp 2014-12-09 14:30:34 +01:00
GustavWi 9909e7ca56 Fixed IAR serial fgets fgetc 2014-12-08 13:12:37 +01:00
ohagendorf f37a45d3b5 Name of exit function in exit.c
Change the name of the exit function to _exit as suggested in clib
documenation for all gcc_arm toolchains (GCC_ARM and CoIDE)
2014-11-16 17:43:42 +01:00
Ned Konz e6ae0a7e02 Ensure that IG (Global) bit is reset in MAC address for K64F and others
See IEE 802.3-2002, Section 3.2.3(b)
2014-11-06 09:48:32 -08:00
Takayuki Kurosawa 33a843cf93 Merge remote-tracking branch 'upstream/master'
Conflicts:
	workspace_tools/targets.py
2014-11-06 16:19:35 +09:00