Commit Graph

2116 Commits (fd82a674abd45f5593123bdbe23b3540a3435226)

Author SHA1 Message Date
ohagendorf 0498e2619b [STMF4xx] reorg hal folder
- some minor error correction
- add pin definition for 3 tests (MBED_A5,6,7)
- add new target disco_f401vc to travis_build

travis_build and all test are OK except missing STM32F4 target
MTS_MDOT_F405RG
2015-01-04 14:14:52 +01:00
ohagendorf 3d886a94dc [MTS_DRAGONFLY_F411RE] reorg hal folder 2015-01-04 14:11:32 +01:00
ohagendorf 41975149c2 [DISCO_F407/ARCH_MAX] reorg hal folder 2015-01-04 14:11:03 +01:00
ohagendorf 3a2ec50d0e [DISCO_F429ZI] reorg hal folder 2015-01-04 14:10:34 +01:00
ohagendorf cf8c8689e6 [NUCLEO_F411][MTS_MDOT_F411] reorg of hal folder 2015-01-04 14:07:43 +01:00
ohagendorf 484d9359ba [DISCO/NUCLEO_F401xx] reorg of hal folder 2015-01-04 14:06:51 +01:00
kazu-zamasu b066ebff90 Add to GCC_CR
New create GCC_CR LPCXPresso export.
2015-01-04 12:02:01 +09:00
Adam Green 461403989c RTX: Main thread should not write MAGIC_WORD to stack
This is a fix for issue #285.  This fix is similar to that proposed by
@oresths in the original issue.

There is code in rt_init_stack() which compares the task_id against the
value of 1 before writing MAGIC_WORD to the bottom of the stack.  This
is supposed to stop the write from occurring for the main thread but
svcThreadCreate() doesn't initialize the P_TCB's task_id field until
after rt_init_stack() is executed.  If any dynamic memory allocation
has occurred before the main thread is started (from the standard C
startup code) then this write could overwrite data in that allocation.

This change:
* moves the task_id initialization in svcThreadCreate() to happen
  before the call to rt_init_context() is made.
* cleans up some comments in svcThreadCreate() which appear to
  reference older versions of the code which would automatically
  allocate stack memory if size == 0.
* still keeps the call to rt_dispatch() occurring after the call to
  rt_init_context() so that the task is not dispatched to the
  scheduler until the task fields have been populated.

I stepped through the rt_init_stack() code on my mbedLPC1768 after this
change was made to make sure that the write of MAGIC_WORD is now
skipped.
-----------------------------------------------------------------------
(gdb) break HAL_CM.c:95
Breakpoint 1 at 0x482c: file ../../external/mbed/libraries/rtos/rtx/TARGET_CORTEX_M/HAL_CM.c, line 95.
(gdb) c
Continuing.
Note: automatically using hardware breakpoints for read-only addresses.

Breakpoint 1, rt_init_stack (p_TCB=0x10000774 <os_idle_TCB>, task_body=0x4899 <os_idle_demon>)
    at ../../external/mbed/libraries/rtos/rtx/TARGET_CORTEX_M/HAL_CM.c:95
95	  if (p_TCB->task_id != 0x01)
(gdb) p *p_TCB
$1 = {
  cb_type = 0 '\000',
  state = 1 '\001',
  prio = 0 '\000',
  task_id = 255 '\377',
  p_lnk = 0x0 <_reclaim_reent>,
  p_rlnk = 0x0 <_reclaim_reent>,
  p_dlnk = 0x0 <_reclaim_reent>,
  p_blnk = 0x0 <_reclaim_reent>,
  delta_time = 0,
  interval_time = 0,
  events = 0,
  waits = 0,
  msg = 0x0 <_reclaim_reent>,
  stack_frame = 0 '\000',
  reserved = 0 '\000',
  priv_stack = 128,
  tsk_stack = 268437480,
  stack = 0x100007a8 <idle_task_stack>,
  ptask = 0x4899 <os_idle_demon>
}
(gdb) c
Continuing.

Breakpoint 1, rt_init_stack (p_TCB=0x10000120 <os_thread_def_main+16>, task_body=0x620d <__wrap_main()>)
    at ../../external/mbed/libraries/rtos/rtx/TARGET_CORTEX_M/HAL_CM.c:95
95	  if (p_TCB->task_id != 0x01)
(gdb) p *p_TCB
$2 = {
  cb_type = 0 '\000',
  state = 1 '\001',
  prio = 4 '\004',
  task_id = 1 '\001',
  p_lnk = 0x0 <_reclaim_reent>,
  p_rlnk = 0x0 <_reclaim_reent>,
  p_dlnk = 0x0 <_reclaim_reent>,
  p_blnk = 0x0 <_reclaim_reent>,
  delta_time = 0,
  interval_time = 0,
  events = 0,
  waits = 0,
  msg = 0x0 <_reclaim_reent>,
  stack_frame = 0 '\000',
  reserved = 0 '\000',
  priv_stack = 26968,
  tsk_stack = 268467136,
  stack = 0x100012a8,
  ptask = 0x620d <__wrap_main()>
}
(gdb) n
97	}

When the p_TCB for ptask==__wrap_main() is encountered, the task_id
now has a value of 1 and the write of MAGIC_WORD on line 96 is
skipped.
2015-01-02 17:24:48 -08:00
Adam Green d587474778 RTX: Support stacks larger than 64k
This issue was originally reported on the mbed site:
 http://developer.mbed.org/questions/5570/mbed-rtos-memory-utilization/

The cause of the 64k limitation is that even though the user can set a
stack size larger than 64k in the osThreadDef_t::stacksize 32-bit
field, this size is truncated to 16-bit when it is copied to
the priv_stack field in the OS_TCB structure.

This commit corrects that problem by making the OS_TCB::priv_stack
field 32-bit.  Due to word alignment, this introduces another 2 bytes
of padding in the structure which I have made explicit with the
addition of the reserved2 field.

The tsk_stack field which follows priv_stack is referenced directly by
assembly language code responsible for context switching.  This context
switching code used a fixed byte offset, TCB_TSTACK, to access this
tsk_stack field.  I had to update the TCB_TSTACK definition in various
locations from 36 to 40 to account for the extra alignment padding and
increased size of the priv_stack field.

TESTING
* GCC_ARM - mbedLPC1768 and mbedLPC11U24
* Online mbed Compiler - mbedLPC1768 and mbedLPC11U24

NOTES: I had to change assembly language code that was specific to IAR
       but I don't have that toolchain so those changes aren't tested.
       They do however follow the same pattern as the tested GCC
       modifications.
2015-01-02 13:14:40 -08:00
ohagendorf 43e6502f00 [DISCO_F401VC] new target incl. exporter to gcc_arm and coide 2015-01-02 19:09:41 +01:00
ohagendorf b9bef6b06e [DISCO/NUCLEO_L053xx] adding to RTOS - part3
Reverting the DEFAULT_STACK_SIZE changes in cmsis.oh.h and adding
changes to RTOS_x tests, to create threads with the neccessary reduced
stack sizes for these targets.
2015-01-02 14:52:39 +01:00
ohagendorf ad6e208c7e [DISCO_L053xx] RTC LSE/LSI problem
The mcu STM32L053C8 seems to have a problem in the RCC - LSE hardware
block. The Disco_L053 don't have a 32kHz crystal connected to LSE port
pins in contrast to NUCLEO_L053.
During initialization the HAL tests if it can start the LSE oscillator.
The Flag LSERDY in RCC_CSR is set to 1 by RCC clock control when the
oscillator runs stable. Without a crystal the flag shouldn't be set and
the HAL trys to start the internal LSI oscillator.
But the flag is always set to 1 also without a crystal. That's why the
RTC doesn't start.
2015-01-02 12:17:35 +01:00
ohagendorf 32f5b97aa7 [DISCO_L053xx] wrong STDIO UART
Correction of a wrong stdio uart - some tests failed because of this.
2015-01-02 12:17:35 +01:00
ohagendorf 6fa0730f47 [DISCO/NUCLEO_L053xx] adding to RTOS - part2
Stack sizes has to be reduced because of the limited 8K RAM.
2015-01-02 12:17:34 +01:00
ohagendorf 0ac123d488 [DISCO/NUCLEO_L053xx] adding to RTOS 2015-01-02 12:13:44 +01:00
Per Kristian Gjermshus c59b34f22a Fix stack aligment.
Stack should be 8 byte aligned on ARM.
Fix the automatic correction of the alignment in rt_init_stack,
and make sure that all stacks are aligned by the compiler.
2015-01-02 10:20:36 +01:00
Martin Kojtal d198fba547 Merge pull request #821 from ohagendorf/exporter_coide_gccarm
NUCLEO/DISCO L053,F103,F100,F051 -  adding exporter to gcc_arm and coide
2015-01-02 09:04:06 +01:00
Martin Kojtal 7234182bfd Merge pull request #817 from masaohamanaka/master
RZ_A1H - Modify frequency setting processing of SPI
2015-01-02 08:26:57 +01:00
Martin Kojtal 77d645476d Merge pull request #810 from ohagendorf/STM32F3xx_rtos
DISCO/NUCLEO_F3xx - solving RTOS problem
2015-01-02 07:48:54 +01:00
0xc0170 9af828a11f Merge branch 'master' of https://github.com/mfiore02/mbed into mfiore02-master
Conflicts:
	workspace_tools/build_travis.py
2015-01-02 07:12:11 +01:00
ohagendorf aaede9c070 [DISCO_F051R8] exporter to coide and a naming correction
In PeripheralNames.h the PWM timer name was wrong. Changed from TIMxx to
PWMxx.
2014-12-31 17:46:32 +01:00
albert361 020faf70e6 Fix icf settings for head and stack size 2014-12-30 22:55:11 +08:00
ohagendorf 62a1b8d103 [DISCO/NUCLEO_F334] solving RTOS Problem
Decreasing OS_SCHEDULERSTKSIZE to 112 bytes solves the problem of the
failed test RTOS_3 (Semaphore resource lock).
The test itself was successfull but the final printf failed.
With the reduced stacksize now every test is OK.
2014-12-29 01:34:57 +01:00
ohagendorf 5df957e0d8 [NUCLEO_F302R8]
There exists an inconsistency between official STM schematic of Nucleo
boards and the existing hardware. Each board should have an 8MHz
external clock source. That is not the case. At some boards the solder
jumper is existing and with that the external clock source. At some
other boards the solder jumper is not available. The Nucleo_F302 should
run with 72MHz but that is only possible with an external clock source.
Because of a missing solder jumper it runs only with the internal clock
source, and that's why only with 64MHz.
2014-12-28 22:54:46 +01:00
Masao Hamanaka 6126cb7b41 Modify frequency setting processing of SPI
In case of off-line compiler, there is no problem about the frequency setting processing.
But in case of online compiler, the frequency setting processing will be error.
So, modify frequency setting processing of SPI to pass in online compiler.
2014-12-26 17:40:42 +09:00
Martin Kojtal 2f63fa7d78 Merge pull request #815 from toyowata/master
Targets: LPC4337 - Fix RTC clock setting issue
2014-12-25 19:35:15 +01:00
Toyomasa Watarai 7b62e7d5d6 [LPC4337] Remove init variable for RTC
- Remove static variable for initialization check
- Add enabled flag check for RTC control register
2014-12-25 09:41:33 +09:00
Toyomasa Watarai 44c66b1062 [LPC4337] Fix RTC clock setting issue
- Fixed missing RTC clock intialization code
- Confirm to pass RTC test case (MBED_16)
2014-12-24 18:09:47 +09:00
albert361 21b2445fad Fix typo.
1AB -> 1AF
2014-12-24 11:18:35 +08:00
albert361 3fdeca703c Fix NVIC memory region and rtos verified
1. Add NVIC region in icf file.
2. Increase STACK and HEAP size.
3. mBed rtos is verified.
2014-12-24 11:16:26 +08:00
Adam Green a1653f2708 Fix KL05Z GCC_ARM linker script
Issue originally reported on mbed site here:
https://developer.mbed.org/questions/5695/FRDM-KL05z-hardfault-when-compiled-with-/

The RAM base address was incorrectly set to the beginning of RAM
instead of at a 0xC0 byte offset to reserve room for the interrupt
vectors. Without this fix, the global variables and the interrupt
vectors were occupying the same space in RAM once the user enabled the
timer interrupt.

The user who originally reported the issue on the mbed site has tested
this fix and verified that it corrected the hard fault issue that they
were encountering.
2014-12-23 19:03:09 -08:00
albert361 282c31f57e Add IAR toolchain support for DISCO_F429ZI 2014-12-23 14:41:20 +08:00
ohagendorf e48aabed4c [DISCO/NUCLEO_F3xx] solving RTOS Problem
- add targets (except DISCO_F303VC) to tests.py - RTOS_x tests
- a minor bug fix for DISCO_F334: had wrong STDIO_UART_TX/RX pin
settings
2014-12-22 16:58:42 +01:00
bcostm ef626d7f68 [NUCLEO_F334R8] Fix issue with multiple ADC initialization 2014-12-22 11:04:02 +01:00
bcostm 4dd46fd82a Merge branch 'master' of https://github.com/mbedmicro/mbed 2014-12-22 08:40:08 +01:00
bcostm 03f49ea8ef [NUCLEO_F0] Align registers and system files with latest CMSIS files
Same as in new NUCLEO_F070RB target
2014-12-19 14:13:54 +01:00
Martin Kojtal bd803e5944 Merge pull request #805 from molejar/dev-freescale-kl43z
Targets: KL43Z - Fix some issues in serial, usb device and pins names
2014-12-19 11:10:08 +00:00
Martin Olejar 1eb8d7cab4 Added serial_get_src_clock() function into serial_api.c and fastirc_frequency() function into clk_freqs.h for better portability. 2014-12-19 10:55:37 +01:00
Martin Kojtal 79ec104b3c Merge pull request #801 from bcostm/master
Add new target - NUCLEO_F070RB
2014-12-19 09:48:14 +00:00
Martin Kojtal 078c36b1c5 Merge pull request #802 from masaohamanaka/master
Targets: RZ_A1H - Fix some drivers bugs and modify some settings of OS and
2014-12-19 08:53:10 +00:00
Martin Kojtal e8f8f5ef6b Merge pull request #803 from mazgch/master
fix HAL_NULL, add more GPIO_CLK macros
2014-12-19 08:32:48 +00:00
Martin Olejar bb969921ec Fixed baudrate calculation issue in serial_api.c, arduino compatible pins name and USB device for Freescale KL43Z Target 2014-12-18 22:37:11 +01:00
mazgch 992afded5c fix HAL_NULL, add more GPIO_CLK macros 2014-12-18 16:11:40 +01:00
Masao Hamanaka 0279c2a2ee Modify some settings of OS and Ether
- Change default setting of CMSIS-RTOS RTX for Cortex-A9 to align with Cortex-M.
 - Change the interrupt priority of Ether driver to align with other drivers.
2014-12-18 18:41:33 +09:00
Masao Hamanaka e91e953a60 Fix some drivers bugs.
Changes as below.

-I2C
 Change communication wait time and Frequency accuracy improvement of I2C.
  - Frequency accuracy improvement
  - Changed the wait time between one communication completed and the next communication start.
    The wait time will be Low clock width by this changing.

-PWM
 Modify processing of pulsewidth() of PWM
  - Modify processing of pulsewidth() to match the specifications of the RZ_A1H.

-SPI
 Fixed a bug that SPI driver is not able to communicate when transfer bit length is 16bit or 32bit.
  - Frequency accuracy improvement
  - Modify transfer processing when transfer bit length is 16bit or 32bit.

-Serial
 Change the reference register macro of Serial
  - Change the reference register macro to align with other driver codes.
2014-12-18 18:40:44 +09:00
bcostm 6234082237 [NUCLEO_F070RB] Add new target - part 2 hal 2014-12-18 09:29:13 +01:00
bcostm 796482d826 [NUCLEO_F070RB] Add new target - part 1 cmsis 2014-12-18 09:28:22 +01:00
bcostm 97089befb4 [STM32F0] Update STM32Cube driver to support new devices 2014-12-18 09:26:02 +01:00
Yihui Xiong 8d2fa50691 add new target BLE_SMURFS 2014-12-17 11:40:09 +08:00
ohagendorf 2ef2204380 solving RTOS problem
Changing original STM Cube Driver to call _start instead of main to
initialise the rtos when using it. Without using rtos the behavior is
the same as before.
2014-12-17 01:18:56 +01:00
Martin Kojtal 67fbbf0b63 Merge pull request #798 from rgrover/master
Targets: nrf51 - updating app_timer.c from Norid'c SDKv7.1.0
2014-12-16 08:14:11 +00:00
Martin Kojtal a67faf521f Merge pull request #797 from ohagendorf/DISCO_F429_clockcycle
Targets: DISCO_F429ZI - clock frequency additions
2014-12-16 08:01:54 +00:00
ohagendorf 7eb385ec41 [DISCO_F429ZI] changed clock settings
Correction of wrong comments.
2014-12-15 22:37:37 +01:00
Mike Fiore 429ff2731d [mbed][MTS_DRAGONFLY_F411RE] fix reversed uart pins after rebasing from master 2014-12-15 15:05:07 -06:00
Rohit Grover 29bd94927e updating app_timer.c from Norid'c SDKv7.1.0; hoping to fix the hangs reported around timers 2014-12-15 15:59:48 +00:00
Martin Kojtal 6172cbea1a Merge pull request #785 from rosterloh/disco_l053_hal_updates
Targets: DISCO_L053C8 - update from nucleo latest changes
2014-12-15 09:15:42 +00:00
Martin Kojtal 1fb5426bf6 Merge pull request #793 from ohagendorf/STMF4xxx_rtos
DISCO_F4xx, NUCLEO_F4xx, MDOT_F4 - fix RTOS problem (init seq)
2014-12-15 09:01:35 +00:00
Martin Kojtal fb526c9205 Merge pull request #784 from masaohamanaka/master
Targets: RZ_A1H - Add the timer value wraparound processing to us_ticker
2014-12-15 08:55:35 +00:00
Martin Kojtal 5aafaa0d63 Merge pull request #780 from GustavWi/iar_mbed
IAR: skip dynamic initialization, new common IAR startup file
2014-12-15 08:52:35 +00:00
ohagendorf 2002b797ad [DISCO_F429ZI] changed clock settings
Original STM32Cube F4 driver sets SYSCLK for STM32F429 to 16MHz. This
adds a 168MHz and 180MHz configuration to system_stm32f4xx.c generated
by STM32CubeMX code generator. The rtos clock configuration is changed
too. In singletest.py run everything is OK.
2014-12-15 07:32:53 +01:00
ohagendorf 6f8f626bd6 [DISCO_F4xx][NUCLEO_F4xx][MDOT_F4] solving RTOS problem
- Changing original STM Cube Driver to call _start instead of main to
initialise the rtos when using it. Without using rtos the behavior is
the same as before.
- Adding DISCO_F429 to rtos
- Adding targets to RTOS_xx tests.
- All tests are OK. Tested with Nucleo and Disco boards. Not tested with
MDOT_F4 but that uses the same hal like nucleo_f411.
2014-12-13 22:50:02 +01:00
Masao Hamanaka 3212848c31 Fix a bug that coding mistakes of L2 cache
Coding mistakes as below.

   while(PL310->INV_WAY && ((1 << assoc) - 1)); ->
   while(PL310->INV_WAY & ((1 << assoc) - 1));

   PL310->INTERRUPT_CLEAR = 0; ->
   PL310->INTERRUPT_CLEAR = 0x000001FFuL;
2014-12-12 14:27:01 +09:00
Masao Hamanaka 8e3b9aba75 Add terminal defines of PWM and fix a bug that period can not be changed.
Fix a bug as below.
- Period can not be changed.
   Restructions: 1. The upper limits is 491us
                             2. Change all period of the same channel when changing period.
2014-12-12 14:26:33 +09:00
Masao Hamanaka fc7e246596 Remove needless processing regarding Interrupt.
EOIR writing will be done in IRQ handler.
EOIR writing is needless in each interrupt processing.
2014-12-12 14:25:41 +09:00
Masao Hamanaka 7417e1061d Add some terminal setting of Serial and modify attach sequence.
Fix some bugs of Serial as below.
- TX/RX terminal of XBee(P7_4, P7_5) setting is reverse.
- P5_6 and P5_7 terminals can not be used.
- Tx interrupt will not occur at the right timing.
- There are no settings of WIFI Module terminals(P11_10,P11_11).
- There are no settings of Xbee Module terminals(P6_6,P6_7).
2014-12-12 14:25:08 +09:00
Mike Fiore 22a3c528c8 [mbed][MTS_DRAGONFLY_F411RE] remove old Dragonfly Directory 2014-12-11 14:02:13 -06:00
Mike Fiore 883215c80e Merge branch 'dev_new' into dev
Conflicts:
	workspace_tools/export/iar.py
	workspace_tools/targets.py
2014-12-11 13:54:19 -06:00
Mike Fiore 743bf2b255 [mbed][MTS_DRAGONFLY_F411RE MTS_MDOT_F411RE NUCLEO_F411RE] remove unnecessary Dragonfly hal files & move PeripheralNames.h to mDot and Nucleo dirs to perserve differences from Dragonfly 2014-12-11 13:48:06 -06:00
Mike Fiore 83d03f35e5 [mbed][MTS_DRAGONFLY_F411RE] move Dragonfly support into TARGET_STMF411RE with rest of 411 products 2014-12-11 13:38:29 -06:00
Mike Fiore 4ade9b7ac3 [mbed][MTS_DRAGONFLY_F411RE] fix D2 pin mapping, remove PWM_OUT from PinNames.h 2014-12-11 13:20:45 -06:00
Mike Fiore ff0b8fce30 [cmsis][MTS_DRAGONFLY_F411RE] set USE_PLL_HSE_EXTC to 0, causing problems with IAR export and we have no external clock option 2014-12-11 13:20:45 -06:00
Mike Fiore 2a5c204fa2 [mbed][MTS_DRAGONFLY_F411RE] fix pin names for spi to external flash 2014-12-11 13:20:45 -06:00
Mike Fiore 4b1ac52d91 [mbed][MTS_DRAGONFLY_F411RE] change wrong PLL members to correct values from ST Cube code 2014-12-11 13:20:45 -06:00
Mike Fiore 7a217c3fb5 [mbed][MTS_DRAGONFLY_F411RE] remove unnecessary VIMPINNAMES file 2014-12-11 13:20:45 -06:00
Mike Fiore 340b40ff1a [mbed][MTS_DRAGONFLY_F411RE] add RADIO_TX/RX pins, correct reversed TX/RX pins for uart6 2014-12-11 13:20:45 -06:00
Mike Fiore f41a29e14c [mbed][MTS_DRAGONFLY_F411RE] clean up PinNames.h 2014-12-11 13:20:45 -06:00
Mike Fiore 6d9d5961c5 [mbed][MTS_DRAGONFLY_F411RE] fix stdio uart decl, fix D3 pin decl, change blinky test main.cpp back to original 2014-12-11 13:20:45 -06:00
vincent rabbit 546005a72c [mbed][MTS_DRAGONFLY_F411RE] added platform support files and dirs built gcc executable NOT working 2014-12-11 13:20:45 -06:00
Richard Osterloh 77c3fe2358 updated latest changes from nucleo 2014-12-11 14:55:45 +00:00
Masao Hamanaka c08208fe4f Update upstream pushed files 2014-12-11 19:26:03 +09:00
bcostm 54999646a1 [NUCLEO_L053R8] Removed call to Systick (mbed RTOS compliancy) 2014-12-11 11:16:02 +01:00
Masao Hamanaka 1970328da3 Add the timer value wraparound processing to us_ticker
Timer value wraparound operation had not been considered in us_ticker.
So, User could not set upper than 128s to argument of wait().
2014-12-11 19:07:50 +09:00
Masao Hamanaka f71b0a06c7 Revert "Add the timer value wraparound processing to common wait processing"
This reverts commit cd8f65c94b.
2014-12-11 18:21:43 +09:00
Martin Kojtal b75dadac6c Merge pull request #779 from ndelisi/master
Y5Design LPC11U35 and NRF51822 - Add New targets
2014-12-11 08:28:29 +00:00
Masao Hamanaka cd8f65c94b Add the timer value wraparound processing to common wait processing
Timer value wraparound operation had not been considered in common wait process.
By defining the EXPIRE_US non-zero value, wraparound operation is enabled.
The EXPIRE_US will be define the value of each vender-specific.
If EXPIRE_US is 0, the common wait process is same as before.
2014-12-11 14:32:09 +09:00
GustavWi c3393b80b1 Merge remote-tracking branch 'upstream/master' into iar_mbed 2014-12-10 13:41:46 +01:00
GustavWi 3062999e97 Separated the c data initialization and c++ to call mbed_sdk_init before c++ data. So that the c variables are updated before the c++ objects are initialized. Had to rename the cmain override in RTX_CM_lib.h to __iar_program_start because there can not be two __cmain overrides in the project. The ewps had to be updated to add the linker command --skip_dynamic_initialization which stalls the c++ data init until __iar_dynamic_initialization which is called right after mbed_sdk_init. 2014-12-10 13:40:17 +01:00
Martin Kojtal 2e1ba4df65 Merge pull request #777 from GustavWi/iar_mbed
Targets: CMSIS - Fixed linker files for IAR (Ram size on one) and for the rest increased the heap...
2014-12-10 08:49:10 +00:00
sg- 91a77d74cf With the old logic if Serial::writeable() was called before and/or used to block calls to Serial::putc() it would never write due to EVENT_TXDRDY trailing a write to TXD. Add a dummy write to TXD before pins are connected to the peripheral. This primes the EVENT_TXDRDY to lead future writes rather than trail. Since STOPTX isn't used this seems safe. 2014-12-09 17:48:10 -06:00
Nick DeLisi a03d3bcd8d Porting of new target: Added new target to target.py, added header files for PinNames.h and device.h
nRF51822 from Nordic Semiconductor

Bluetooth Low-Energy v4.1 compliant - interface to smartphones, tablets

System-on-Chip (SoC) solution - easily transformable into a deployable solution

Drop-in solution for production - no need to design your own antenna

FCC and CE Certified

3x LEDs, 3x Buttons

Powered by interface board or external 3.3V
2014-12-09 14:08:22 -06:00
Nick DeLisi f382af4aed Porting of new target: Added new target to target.py, added header files for PinNames.h and device.h. Added linker library.
Y5 Design LLC Interface Board
LPC11u35 from NXP

Low Power, ARM(r) Cortex-M0 suitable for a wide range of applications

On-Chip Bootloader - In-System programming (ISP) and in-application programming (IAP)

ROM-based USB drivers - Flash updates via USB supported

SPI, GPIO, i2C, UART, ADC

3x LEDs, Reset Button

3.3V powered via USB or external

USB interface - shipped with USB-A, male connector, pads for Micro female
2014-12-09 13:01:20 -06:00
GustavWi 490dd0ddfe Fixed linker files (Ram size on one) and for the rest increased the heap and stack size 2014-12-09 18:37:01 +01:00
0xc0170 a36eb12b2f Targets: Freescale KSDK - extern } syntax error fix 2014-12-09 14:52:17 +00:00
Martin Kojtal ea49132428 Merge pull request #770 from GustavWi/iar_mbed
Fix IAR serial fgets fgetc

Taken from PR #770:
setbuf(_file, NULL), and std::setvbuf(_file,NULL,_IONBF,NULL) should both give an unbuffered stream (the data is directly written to the input buffer). IAR sets a buffer anyway of size 512 bytes for these calls. Calling setvbuff(_file,buf,_IONBF,NULL) with a buffer that is not a NULL pointer sets the buffer to size one. Which means that as soon as a char is read it is written to the real buffer. If people are interested in looking at this further they can look at the files under ARM/src/dlib: fgets.c, fflush.c, xfrpep.c and xfwprep.c
2014-12-09 14:39:13 +00:00
Martin Kojtal a96ad0576f Merge pull request #760 from bcostm/master
Targets: NUCLEO_F072RB/F091RC - Remove the call to Systick
2014-12-09 14:31:45 +00:00
Martin Kojtal 0f2b2cdf09 Merge pull request #762 from masaohamanaka/master
Targets: RZ_A1H - Fix some bugs about I2C, SPI, Interruptin and add terminal definition of user button.
2014-12-09 14:27:50 +00:00
Martin Kojtal 75673df767 Merge pull request #772 from mbrudevoldlpd/master
Add support for mDot with STM32F411RE processor
2014-12-09 14:13:28 +00:00
Martin Kojtal 35ba8d709f Merge pull request #774 from Sissors/ksdk
Targets: K20D50M - Serial baudrate improvements / clk_freqs.h fix
2014-12-09 14:01:54 +00:00
GustavWi bd6836396b Moved IAR serial differences to retarget.cpp 2014-12-09 14:30:34 +01:00
Sissors a6c9b1c40b [HAL][K20D50M] Serial baudrate improvements / clk_freqs.h fix
Three changes, first it fixes:
https://github.com/mbedmicro/mbed/issues/761 (which was reported
slightly wrong because K20 has again different clocking from KLXX for
uarts).

Second it adds mcgpllfll to clk_freqs, which again is different for K20
compared to KLXX .

Finally it adds the fractional baudrate divider for more accurate serial
baudrates.
2014-12-08 21:15:24 +01:00