Commit Graph

2296 Commits (46e1601852f03eaeb61256d84a24a9ab879cc53d)

Author SHA1 Message Date
Martin Kojtal 0c8d8000ac Merge pull request #870 from Willem23/master
Fix and enable the PLL for the LPC812
2015-01-30 08:13:45 +01:00
Marcomissyou 64465b68ad extend year and add toolchain system_nrf51822.c, PinNames.h,device.h,mbed_overrides.c,targets.py 2015-01-30 15:05:03 +08:00
Masao Hamanaka 9cbe36213c Modify A/D convert time. 2015-01-30 11:17:22 +09:00
ohagendorf 2825871e18 [DISCO_F051R8] reorg hal folder 2015-01-29 23:53:29 +01:00
ohagendorf d4b4dce1fd [NUCLEO_F030R8] reorg hal folder II 2015-01-29 23:52:45 +01:00
ohagendorf aadd0bcb13 [NUCLEO_F030R8] reorg hal folder 2015-01-29 23:51:48 +01:00
ohagendorf 2942309fd4 [NUCLEO_F091RC] reorg hal folder 2015-01-29 23:51:46 +01:00
ohagendorf babf0ff9cf [NUCLEO_F072RB] reorg hal folder 2015-01-29 23:48:09 +01:00
ohagendorf ef6437350d [NUCLEO_F070RB] reorg hal folder 2015-01-29 23:36:08 +01:00
Wim d03329fb3f Update serial_api.c
Fix and enable the PLL for the LPC812. Removed unnecessary comments
2015-01-29 20:33:22 +01:00
Wim 898b4ab772 Update system_LPC8xx.h
Fix and enable the PLL for the LPC812. Removed unnecessary comments
2015-01-29 20:32:08 +01:00
Wim b2cc8227f1 Update system_LPC8xx.c
Fix and enable the PLL for the LPC812. Removed unnecessary comments
2015-01-29 20:30:43 +01:00
nitin.bhaskar.27.09@gmail.com 0cc5d40a62 Initial ethernet support for LPC433x 2015-01-29 22:20:44 +05:30
Marcomissyou 232821bb99 add SWIO setting in mbed_overrides.c to substitute SWIO setting in system_nrf51822.c 2015-01-29 16:00:36 +08:00
Masao Hamanaka 60f875ac8b Modify gpio api to make consistent with Merge branch 'PrzemekWirkus-pinology'. 2015-01-29 16:41:56 +09:00
Masao Hamanaka 8013d15876 Modify ticker driver to make consistent with Pull Reqest#839 and #864.
timestamp_t type had been changed from uint64_t to uint32_t by Reqest#839 and #864.
2015-01-29 16:41:35 +09:00
Masao Hamanaka 4d371d2c9e Add include mbed_assert.h. 2015-01-29 16:41:08 +09:00
Masao Hamanaka 88604ff8fe Add some processing of I2C driver
Changes are as below
- Add STOP condition omission processing of I2C Master
- Add I2C Slave processing
2015-01-29 16:40:16 +09:00
Masao Hamanaka 44b4fb4b41 Modify some processing of AnalgIn.
Modifies are as below.
- Change the A/D conversion time to run fast.
- Change the macro value of ANALOGIN_MEDIAN_FILTER
  1 -> 0
2015-01-29 16:38:48 +09:00
Masao Hamanaka 83712b1f83 Add Serial flow control and fix a bug that parity setting is wrong.
Modifies are as below.
- Add flow control
- Change the range of baud rate that can be set in the baud function.
 8138 bps more -> 128 bps more
- Fixed a bug that designation of parity had been reversed in format().
2015-01-29 16:38:21 +09:00
Masao Hamanaka 25131013bd Add RTC function.
User can use set_time() and time() by this addition.
2015-01-29 16:37:41 +09:00
Martin Kojtal 07ed4ec541 Merge pull request #874 from NitinBhaskar/master
Extended RTOS support for LPC4330 Target
2015-01-29 08:22:32 +01:00
Martin Kojtal 3612f38897 Merge pull request #873 from jrjang/master
Include missing header file in BusXXX classes
2015-01-29 08:21:47 +01:00
Marcomissyou 04937dc38b remove json, delete toolchain list in target.py because NNN40 is inherit from NRF51822, add SWIO default setting in system_nrf51822.c and SWIO,VERF pin in PinName.h 2015-01-29 13:46:58 +08:00
Przemek Wirkus f81509c933 Refactored UDP echo server 2015-01-28 16:43:40 +00:00
Przemek Wirkus 111b55784e Refactored TCP echo server 2015-01-28 16:29:36 +00:00
Przemek Wirkus 9fc02738ac Refactored TCP and UPD client tests (with default host test instrumentation) 2015-01-28 16:08:54 +00:00
Przemek Wirkus ab472195ce Refactored EEPROM and InterruptIn test cases to do auto-detection act
Refactoring Tested with few Nucleo boards and Nordic board
2015-01-28 15:34:28 +00:00
nitin.bhaskar.27.09@gmail.com 81a364c6e9 Extended RTOS support for LPC4330 Target 2015-01-28 20:57:37 +05:30
Przemek Wirkus 0bafe71fed Refactored RTOS_1 test and did some small indent in tests.py 2015-01-28 11:38:44 +00:00
Martin Kojtal 9cdef7e725 Merge pull request #872 from bcostm/master
NUCLEO_F303RE -  Corrections in ADC
2015-01-28 12:13:10 +01: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
Przemek Wirkus 812a1c3000 Refactored few peripheral tests like DigitalInOut, InteruptIn
Checked refactoring progress on LPC11U24
2015-01-28 10:08:03 +00:00
bcostm 46317484f7 [NUCLEO_F303RE] Corrections in ADC
- remove unavailable ADCs and channels
- correct initialization routine
2015-01-28 11:06:44 +01:00
Przemek Wirkus b45d190b5d Refactored Semihost test (valid for few LPC platforms) 2015-01-28 09:11:54 +00:00
Przemek Wirkus c6134eb6a2 Refactored C++ test and added '+' sign as recognized character in auto-test description 2015-01-28 09:08:58 +00:00
Przemek Wirkus 4d435b94be Refactored DIV and VTAB relocation tests
Ran checks for current implementation on LPC1768
2015-01-28 08:54:40 +00:00
Wim fd82a674ab Update serial_api.c
Fixed the incorrect clocksource for the baud generator. Should be MainClock instead of SystemCoreClock. This also allows the correct use of the PLL for MainClock and SystemCoreClock without breaking the serial baudrate.
2015-01-27 21:04:17 +01:00
Wim 6fefefa3bb Update system_LPC8xx.c
LPC812 was running at 12MHz on IRC. Added and fixed PLL activation to change the clockspeed into the expected 30MHz. Clock source is still the IRC. Selecting the 12 MHz XTAL clocksource should also work with the PLL.
Added MainClock to fix wrong setting of SystemCoreClock and allow the serial_api to use the correct clock.
2015-01-27 21:00:01 +01:00
Wim 74cd948470 Update system_LPC8xx.h
Added extern MainClock to allow the use of the PLL and correct the wrong clock source for serial_api.c
2015-01-27 20:48:51 +01:00
Przemek Wirkus a4bf0cf135 Refactored tests for SD card peripheral 2015-01-27 13:44:30 +00:00
Przemek Wirkus dcce4d7cde Refactored detection test to use new autodetection of host test 2015-01-27 13:24:11 +00:00
Przemek Wirkus d610f0b08a Refactored echo at 115200 test for new model of test autodetection 2015-01-27 13:17:36 +00: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
Przemek Wirkus a8506caa1d Refactored few more tests to support autodetection: basic, call_before_main, dev_null, rtc, stdio 2015-01-27 12:51:53 +00:00
Przemek Wirkus 6903b54b9e Refactored generic tests with timer host test supervision
Reactored RTOS tests
2015-01-27 12:10:16 +00:00
Marcomissyou e7c32aff0f modify main.cpp of analog and analog_in 2015-01-27 15:41:52 +08:00
Marcomissyou 48aed8e75f remove DFCM_NNN40 PinMap_ADC 2015-01-27 15:34:33 +08:00
Martin Kojtal 8c14c0600d Merge pull request #853 from mstevanovic/nucleo103_gpio_irq
Targets - Gpio irq hal with max num of irq for Nucleo 103RB
2015-01-27 08:14:29 +01:00
Marcomissyou f578ea38f7 delet rtc_api.c 2015-01-27 15:07:57 +08:00
Martin Kojtal c1bba47649 Merge pull request #862 from Willem23/master
I2C blockread and blockwrite fixed for LPC812
2015-01-27 08:07:28 +01:00
Marcomissyou 7b4f177cdb remove older target 2015-01-27 14:56:59 +08:00
Marcomissyou 4a52c80ef5 solve conflict targets.py and i2c_api.c
Merge remote-tracking branch 'upstream/master'

Conflicts:
	libraries/mbed/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/i2c_api.c
	workspace_tools/targets.py
2015-01-27 14:16:17 +08:00
milangit ea2a3c27a0 Assigned a value to pin variable 2015-01-26 21:47:28 +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
Martin Kojtal e979bd60eb Merge pull request #839 from rgrover/master
switching timestamp_t back to 32-bits.
2015-01-26 15:13:08 +01:00
Przemek Wirkus 06848611d3 Added initial 'host test auto-detection API' 2015-01-26 12:29:48 +00: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
Martin Kojtal 2c2ab2cb06 Merge pull request #861 from NitinBhaskar/master
On-Board SD Card support for LPC11U37H_401 board
2015-01-26 06:46:38 +00:00
Willem23 3b7d9635b7 I2C blockread and blockwrite fixed for LPC812
Quick fix of block read and write. The i2c_start is still wrong: it
should setup the address before initiating a Start condition. Status
read is also wrong in i2c_do_read.
2015-01-24 20:59:01 +01:00
nitin.bhaskar.27.09@gmail.com 19fd60321b On-Board SD Card support added, SD Card related test cases updated too 2015-01-24 22:57:01 +05:30
Anders Lindvall 627714908d Removed the mbed_mac_address override as it is not needed on the LPC4088_DM 2015-01-24 12:33:02 +01:00
ZKvAH 466223a617 fix read_result always false
read_result always  false when read file success
2015-01-24 13:38:20 +08:00
Marcomissyou 66a5f716e3 modify i2c_api, analog_api, system_brf51822.c, targets/py and add device.h, PinNames 2015-01-23 16:40:26 +08:00
Martin Kojtal ebc51cd52c Merge pull request #858 from bcostm/master
NUCLEO_F303RE - Update SetSysClock function
2015-01-22 12:55:46 +00:00
bcostm cb36f2c472 [NUCLEO_F303RE] Update SetSysClock function 2015-01-22 11:10:09 +01:00
Adam Green 35d1ffd787 Correct warning when assigning HEAP_START to stack_pointer
This fixes issue #856 reported by @neilt6.

I tested on mbedLPC1768 and mbedLPC11U24 using the GCC_ARM toolchain.
2015-01-21 18:52:24 -08:00
Anders Lindvall 4a2f3e00fe Fixed review comments 2015-01-21 10:22:02 +01:00
Anders Lindvall cbebd63a2c Added LPC4088_DM HAL 2015-01-21 10:19:35 +01:00
milangit b223f83441 Updated gpio irq hal with max num of irq
- EXTI lines 5 to 9
- EXTI lines 10 to 15
2015-01-20 21:40:05 +01:00
bcostm 8fe645ecd1 Merge branch 'master' of https://github.com/mbedmicro/mbed 2015-01-20 13:14:59 +01:00
bcostm 5e57cd3d29 [NUCLEO_F303RE] Add GCC_ARM toolchain 2015-01-20 13:10:22 +01:00
Martin Kojtal 0ab8d2e6b3 Merge pull request #844 from masaohamanaka/master
RZ_A1H - Implement some USB functions and fix some bugs about USBHost common codes.
2015-01-19 14:25:26 +00:00
Martin Kojtal befdc7ae6b Merge pull request #847 from ytsuboi/master
LPC1114 -  remove reset pin name to protect people. [LPC824] I2C pin names were crossed
2015-01-19 12:54:52 +00:00
Martin Kojtal 5c5232c36a Merge pull request #850 from NitinBhaskar/master
Initial support for LPC11U37H_401
2015-01-19 12:52:04 +00:00
nitin.bhaskar.27.09@gmail.com f38d985cc8 Initial support for LPC11U37H_401 2015-01-17 13:29:17 +05:30
Adam Green c1307163b3 Fixes to get LPC4330 GCC based builds to run
I was getting Hard Faults in even the simplest of samples before I made
these fixes.

* WaitUs() did nothing on optimized builds.  I added the volatile
  qualifier to the cyc variable to make sure that the delay loop
  doesn't get optimized out.
* I removed the #ifdef which skipped the fpuInit() call when building
  with GCC.
2015-01-16 15:58:55 -08:00
ytsuboi 5b8a42ffe9 [LPC824] I2C pin names were crossed 2015-01-17 01:33:22 +09:00
ytsuboi 7c55ec9590 [LPC1114] remove reset pin name to protect people.
If user set P0_0 as DigitalOut and set it to low, LPC1114 will be in
reset condion. To avoid this situation, p4, xp4 and dp23 was removed
from PinNames.h.
2015-01-17 00:41:17 +09:00
Paul Staron e21c65041d New platform - Teensy 3.1 2015-01-15 19:18:01 +00:00
Masao Hamanaka 63cfe8da23 Fix some bugs about USBHost common codes.
Find some bugs in USBHost common codes. Bugs as below.
- USBHostMouse.cpp
 - Memory destroy will occur when the size of interrupt transfer is larger than 4 bytes.

- USBHostMSD.cpp
 - Type declaration of vender dependent.
     U16 -> uint16_t

- USBHostSerial.cpp
  - connected() will not be "true".
  - Communication with USBSerial will not start.
2015-01-15 14:01:48 +09:00
Masao Hamanaka 7726496957 Implement some USB functions to RZ-A1H
Implemented functions as below.
- USB Host
- USB Device(Full speed)
2015-01-15 14:00:42 +09:00
bcostm fb2ed14768 [NUCLEO_F303RE] Correct ADC initialization
Same as #809
2015-01-12 16:30:05 +01:00
Przemek Wirkus 0c3caf8d75 Refactored SD card basic test
Included return value check from fopen() functions in read/write testcases
2015-01-12 08:39:34 +00:00
Martin Kojtal 7a3d2b4423 Merge pull request #837 from bcostm/master
NUCLEO_F070RB - Update tests
2015-01-12 08:14:44 +00:00
Martin Kojtal 47725f9123 Merge pull request #835 from masaohamanaka/master
RZ_A1H - Fix some bugs about InterruptIn, SPI, I2C and modify some settings.
2015-01-12 08:14:02 +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
Rohit Grover f7a78073e8 add 1 to the scheduler-op pool to allow deleting a timer whilst in its handler.
Please note that this commit goes with another recent commit to the nRF51822 repository which updated values under projectconfig.h. Please remember to update nRF51822 as well.

This has a bearing on issue #832.
2015-01-09 13:19:55 +00:00
Rohit Grover e7a9c01708 update us_ticker_appTimerRunning after a call to app_timer_stop() 2015-01-09 12:43:18 +00:00
Rohit Grover c18633dcf2 switching timestamp_t back to 32-bits.
The underlying us_tickers used for comparison are still 32-bits; keeping a 64-bit timestamp isn't going to be useful.

fixes #838
2015-01-09 12:42:55 +00:00
bcostm 321f012f06 [NUCLEO_F070RB] Add missing line (same as F072RB) 2015-01-09 11:32:49 +01:00
bcostm e0e18f54d6 [NUCLEO_F070RB] Update tests with this target 2015-01-09 11:21:15 +01:00
Masao Hamanaka 596d0e9b78 Commit upstream changes.
Commit upstream changes that is "Merge pull request #833"
2015-01-09 13:54:55 +09:00
Masao Hamanaka 4004624a1f Add comments.
Add comments to provide details about this code.
2015-01-09 13:50:41 +09:00
Przemek Wirkus 3ec2247713 K22F: added peripheral pin definitions to SD card tests and I2C EEPROM tests 2015-01-08 14:06:39 +00:00
Martin Kojtal 2acefb66eb Merge pull request #809 from bcostm/master
NUCLEO_F334R8 - Fix issue with multiple ADC initialization
2015-01-08 11:57:52 +00:00
Martin Kojtal bef46907fc Merge pull request #831 from ohagendorf/stm32f4xx_reorg_hal
STM32F4xx reorganisation of hal folder
2015-01-08 11:53:03 +00:00
Masao Hamanaka 90cf47ffdf Fix some bugs about IntreruptIn.
Bugs are as below.
- Add terminal setting of IRQ4 and IRQ6 that leaked.
- When set the interrupt function by rise()/fall(), the interrupt disable state will be released by disable_irq().
- Interrupt will be continued to occur when execute disable_irq() after rise(NULL)/fall(NULL) set.
- Fix the setting timing of PMC register.
2015-01-07 19:11:14 +09:00
Masao Hamanaka f119a368e5 Fix the bug that a noise will occur in SPI.
A noise will occur when execute frequency() after set the "mode" to 3 by format().
2015-01-07 19:10:49 +09:00
Masao Hamanaka b13b047a76 Implement a stop condition transmission setting function of I2C.
User can specify the sending of STOP condition by this implement.
2015-01-07 19:10:26 +09:00
Masao Hamanaka d469fdf79e Increase STACK size of thread. 2015-01-07 19:09:50 +09:00
Masao Hamanaka 808c3b4d7c Take measures about optimization problems of web compiler. 2015-01-07 19:09:22 +09:00
Masao Hamanaka 0ed93c1953 Update scatter file to increase usable RAM area.
Remove a usable RAM area limit of RW and ZI area.
2015-01-07 13:04:49 +09:00
ohagendorf 24d7e37e21 all RTOS_x tests are OK 2015-01-06 20:48:37 +01: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
ohagendorf 716c51d232 Deleting doubled files 2015-01-06 00:35:57 +01:00
ohagendorf 11c2a5b888 error correction rebas and build_travis extension
travis_build ok
all tests for nucleo_f0xx and nucleo_f3xx ok
2015-01-05 23:59:58 +01:00
ohagendorf f5c3b18d75 [NUCLEO_F091RC] adding exporter (gcc_arm, coide), enable rtos
- Adding exporter for CoIDE and GCC_ARM
- Adding target to RTOS lib
2015-01-05 22:55:18 +01:00
ohagendorf 5ebdb92e78 [NUCLEO_F072RB] adding target to rtos lib
Every test (DTCT_1, EXAMPLE_1, MBED_xx, RTOS_x) is OK.
2015-01-05 22:43:52 +01:00
bcostm f2a6eeca8d [NUCLEO_F334R8] Correct the code used during initialization 2015-01-05 14:47:38 +01:00
bcostm ad9b6a7119 Merge branch 'master' of https://github.com/mbedmicro/mbed 2015-01-05 14:14:41 +01:00
Martin Kojtal 914dd37b11 Merge pull request #818 from ohagendorf/stm32l053_rtos
DISCO/NUCLEO_L053xx - adding to RTOS, corrections for all tests, [DISCO_L053] exporter to µVision
2015-01-05 08:08:00 +01:00
Martin Kojtal 47ac39b3fd Merge pull request #812 from perkristian/master
RTOS: Fix stack alignment
2015-01-05 08:01:09 +01:00
Martin Kojtal e1309e658a Merge pull request #811 from albert361/master
Add IAR toolchain support for DISCO_F429ZI
2015-01-05 07:57:36 +01:00
Martin Kojtal 3aef1389d5 Merge pull request #829 from Kazu-zamasu/LPC824-GCC_CR
Tools: LPC824 -  GCC_CR support
2015-01-05 07:55:21 +01:00
Martin Kojtal fdc60ac217 Merge pull request #827 from adamgreen/rtxNoStackCheckForMainThread
RTOS: Main thread should not write MAGIC_WORD to stack
2015-01-05 07:50:23 +01:00
Martin Kojtal 5748a9da69 Merge pull request #826 from adamgreen/rtxSupportStacksLargerThan64k
RTX: Support stacks larger than 64k
2015-01-05 07:48:32 +01:00
ohagendorf f98dd149b9 [MTS_MDOT_F405RG] reorg hal folder
- reorganisation of this target needed some extension of serial_api.c
used by all F4xx tagets.
- add arch_max to travis_build
2015-01-04 14:15:16 +01:00
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