Commit Graph

120 Commits (381b352df554367ec6ef4013a910969491252ced)

Author SHA1 Message Date
Christopher Haster 1bf641d6b3 Removed heap region from ARM sct file on K devices
- __heap_size__ was used to allocate a fixed size region for the heap in
  RW_IRAM1
- __user_setup_stackheap in sys.cpp uses Image$$RW_IRAM1$$ZI$$Limit as the
  start of the heap, which leaves the fixed size region unused
2016-06-28 20:16:19 -05:00
tomoyuki yamanaka d6624c078a RTX - init sequence (C++ array init) for Cortex-A version
This is an update to RTX kernel for Cortex-A version to allow c++ libc array init to be called after kernel start.
Ref: https://github.com/mbedmicro/mbed/pull/1730
2016-06-27 19:40:22 +09:00
Michel Jaouen 0c7b6dced5 [TARGET_STM32F3]: Update Hal 1.5.0 2016-06-21 11:46:34 +02:00
Martin Kojtal 39acdd66a0 Merge pull request #1945 from jeromecoutant/PR_UpdateF0_driver_v1_6_0
STM32Cube_FW_F0_V1.6.0
2016-06-16 17:06:10 +02:00
Martin Kojtal 9b5adb8cd1 Merge pull request #1752 from svastm/add_nucleo_l011k4
Add NUCLEO_L011K4
2016-06-14 22:00:28 +02:00
Martin Kojtal 4dcefa604a Merge pull request #1913 from BartSX/816f0xx
[STM32F0xx] Fix for #816 issue
2016-06-14 21:53:26 +02:00
Niklas Hauser 516c7cdb80 Rename NVIC_Set/GetVector for K64F
This allows FEATURE_UVISOR to virtualize the NVIC calls.
2016-06-14 14:06:45 +00:00
Niklas Hauser e4c217e21d Backport virtual NVIC mechanism from CMSIS 5 2016-06-14 14:06:45 +00:00
Niklas Hauser 37238fb9be Add secure access header to CMSIS 2016-06-14 14:06:44 +00:00
Alessandro Angelino 8db93cf0d9 K64F: Explicitly set the start of .uvisor.bss 2016-06-14 14:06:44 +00:00
Alessandro Angelino abd24ae4f1 K64F: Explicitly set the start of .text
If you don't specify the start address of a section explicitly, that
section can end up at different addresses depending on its alignment. If
the alignment of a section is not explicitly set, it inherits it from
the element with the highest alignment inside that section.

Since the uVisor code is in the .text section, and it *must* end up at a
known location, we set the start address of .text to 0x410, which is the
value that the uVisor binary expects.
2016-06-14 14:06:44 +00:00
Martin Kojtal e9b56018d2 Merge pull request #1848 from TomoYamanaka/master
Implement SystemcoreClock
2016-06-14 01:53:10 +02:00
Martin Kojtal f03943ccf6 Merge pull request #1889 from svastm/fix_rtos_uarm_l4
[STM32L4XX] Fix heap size for RTOS on uARM
2016-06-13 23:40:37 +02:00
Vincenzo Frascino f8d7a76128 [BEETLE] Enable RTOS on Beetle
This patch enables RTOS support on Beetle.
It contains:
* Updated Beetle Startup code for ARMCC
* Modified SysTick Driver
* RTOS specific configuration parameters
* RTOS specific test suite enablement

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-06-13 16:21:19 +01:00
Vincenzo Frascino 44be0626a6 [BEETLE] Add initial Beetle CMSIS files
This patch adds support for BEETLE SoC Target into the CMSIS layer.
It contains:
* Beetle System Core
* APB DualTimer Driver
* APB Timer Driver
* eFlash Driver
* Flash Cache Driver
* ARM Toolchain Support
* GCC ARM Toolchain Support

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
2016-06-13 11:56:14 +01:00
Maciej Bojczuk bb65961089 [NUCLEO_F030R8] Set NVIC Timer priorities
This fix is a solution for issue #816 when having two separate IRQ handlers
in Timers (UPDATE Irq and OutputCompare Irq). The update priority needs to
be higher to avoid undefined behaviours.

Change-Id: Ic143ed0f3e4e42ad5f7b95337d8c005b7ec61274
2016-06-13 11:27:37 +02:00
Maciej Bojczuk 899cd44619 [NUCLEO_F070RB] Set NVIC Timer priorities
This fix is a solution for issue #816 when having two separate IRQ handlers
in Timers (UPDATE Irq and OutputCompare Irq). The update priority needs to
be higher to avoid undefined behaviours.

Change-Id: I5ef2c27926167ed22108901cd63586692a5f8f90
2016-06-13 11:27:37 +02:00
Bartosz Szczepanski 91422cb7e1 Revert "[NUCLEO_F030R8] 16-bit timer register update"
This reverts commit 01ff0b9ab7.
2016-06-13 11:27:37 +02:00
Bartosz Szczepanski ff1c172696 Revert "[NUCLEO_F070RB] 16-bit timer register update"
This reverts commit 82d82d0b2a.
2016-06-13 11:27:37 +02:00
svastm c951f59993 [NUCLEO_L011K4] Add CMSIS target 2016-06-13 10:24:19 +02:00
Sam Grove df0c855df9 Merge pull request #1904 from sg-/iar-lpc-eth-patch
rename section used for eth and usb
2016-06-11 18:25:01 +01:00
Sam Grove 50c106f718 rename section used for eth and usb 2016-06-11 07:11:09 -07:00
Alessandro Angelino a076f9a415 K64F: Add call to uvisor_init() in the startup code
This is backwards-compatible with unsupported targets.

If an application is compiled using the K64F target without uVisor
(UVISOR_PRESENT not set or set to 0) then uvisor_init() will just be an
empty function that immediately returns.
2016-06-10 16:56:17 +01:00
Alessandro Angelino 6aeafab6b3 K64F: Add page allocator sections to linker script
These changes are backwards compatible.

Targets that do not use the page allocator heap will have the same stack
and heap sizes available.
2016-06-10 16:56:17 +01:00
Alessandro Angelino eb9d124230 K64F: Add uVisor sections to the linker script
This commit includes all sections that are just added to the linker
script. These changes are backwards-compatible, meaning that they will
not affect the existing code.

Targets that do not support uVisor will leave those sections empty.
2016-06-10 16:56:17 +01:00
svastm fe2871b8bd [STM32L4XX] rename startup file to .S 2016-06-10 09:48:55 +02:00
svastm a1b9e560e2 [STM32L4XX] Fix heap size for uARM 2016-06-10 09:48:55 +02:00
tomoyuki yamanaka 8f3e72f01c Implement SystemCoreClockUpdate () function 2016-06-10 16:16:06 +09:00
tomoyuki yamanaka 0a9e5fa3d6 Implement SystemCoreClockUpdate () function
We changed to calculare the CPU Clock by the division ratio setting of from FRQCR register.
2016-06-10 16:13:35 +09:00
jeromecoutant 6c31f3c110 STM32Cube_FW_F0_V1.6.0
CMSIS v2.2.3 => v2.3.0
STM32F0 HAL v1.3.1 => v1.4.0
2016-06-09 17:14:02 +02:00
svastm a29e15e07c [STM32L4XX] Update HAL_Cube_L4 to 1.5.1 2016-06-09 11:25:51 +02:00
Martin Kojtal d7a196e89e Merge pull request #1826 from jeromecoutant/PR_UpdateF0_driver_v1_5_0
[STM32F0] update Cube driver to v1.5.0
2016-06-08 14:11:59 +01:00
Martin Kojtal c9a15d0530 Merge pull request #1854 from pan-/nrf51_port
RTOS port for NRF51 targets
2016-06-08 13:52:32 +01:00
Russ Butler ec81bccb01 Fix support for InterruptManager on KSDK 2
Add the define NVIC_NUM_VECTORS for KSDK 2 targets so InterruptManager
is supported.
2016-06-07 09:56:15 +01:00
Martin Kojtal 02ce61d802 Merge pull request #1774 from BartSX/can-devel-l4
[STM32L4xx] CAN development for STM32L4xx family
2016-06-07 07:45:42 +01:00
Bartosz Szczepanski f2c824cd54 [NUCLEO_F103RB] Revert and update path for 16-bit timer
Due to directory structure change, modification in e93878078 was made wrong
after rebasing the code.

This reverts commit e938780788 and updates path
to the correct file.

Note:
Current value of TIM_MST->CNT is read in interrupt context only.
This avoids master timer overflow without SlaveCounter update.

Continuation of patch: 07b841b08f

Change-Id: Iab0341847130f86e16500fd85024b6a87525fe14
2016-06-06 16:39:03 +02:00
Bartosz Szczepanski 10cce638a2 [NUCLEO_L476RG] Added CAN support
Added CAN API support for NUCLEO_L476RG target.

"stm32l476xx.h" file was changed to avoid compilation errors.

Change-Id: Ifadf7048f6c72c0311ec915e47ce2190460ede68
2016-06-06 16:20:46 +02:00
Bartosz Szczepanski 155d38ef9e [DISCO_L476VG] Added CAN support
Added CAN API support for DISCO_L476VG target.

*stm32l476xx.h* file was changed to avoid compilation errors.

NOTE: MBED_29 or MBED_30 cannot be tested on this platform because CAN pins are
soldered to USB, GYRO and others.

Change-Id: I2e85bd36dc45872b1ab617f072de98164f2c96f8
2016-06-06 16:19:11 +02:00
Martin Kojtal 0d3c83589b Merge pull request #1846 from jamike/fix-issue-1845
[NUCLEO_L476RG, DISCO_L476VG]: GCC_ARM, ARM_STD fix RTOS failed
2016-06-06 14:52:44 +01:00
Vincent Coubard e46b659799 Merge branch 'master' of https://github.com/mbedmicro/mbed into nrf51_port 2016-06-05 20:46:42 +01:00
Vincent Coubard c0a6c7c6d4 Better generation of heap section.
With this change, the heap section occupy the whole space from the end of
the bss section to the start of the stack section instead of taking a
fixed size in RAM.

This change allows applications to make a more efficient use of the RAM
available and allows application to be compiled if the space between end
of bss and start of stack is less than 2048 bytes.
2016-06-05 17:56:01 +01:00
Michel Jaouen 4e5fe30bc1 [NUCLEO_L476RG, DISCO_L476VG]: GCC_ARM, ARM_STD fix RTOS failed,
INIT_STACK used to compute RTOS main stack inconsistant with sp set at reset
align heap, stack config with IAR
issue: #1845
2016-06-03 18:49:54 +02:00
Erwan GOURIOU a9b27da409 [STM32F4] Update Cube FW to V1.12.0
CMSIS to V2.5.0
HAL to V1.5.0
2016-06-03 15:48:25 +02:00
Laurent Meunier 8955b6690d [STM32F4] Update to cube V1.11.0
This cube version includes
 HAL to V1.4.4
 CMSIS to V2.4.3
2016-06-03 15:48:25 +02:00
Laurent Meunier 08733d131d [STM32F4] Update to cube V1.10.0
CMSIS to V2.4.2
HAL to V1.4.3
2016-06-03 15:48:25 +02:00
tomoyuki yamanaka 1e2e14e11d Implement SystemcoreClock
We implemented SystemcoreClock which is defined in CMSIS.
2016-06-03 18:36:28 +09:00
Martin Kojtal bddce7ce7e Merge pull request #1847 from svastm/pr_1743_continuation
[STM32L0XX] SlaveCounter type correction
2016-06-03 10:09:43 +01:00
svastm d3c14f6bde [STM32L0XX] SlaveCounter type correction 2016-06-03 11:03:53 +02:00
Martin Kojtal 57645936ba Merge pull request #1811 from lindvalla/lpc4088_misc_fixes
Misc fixes for LPC4088/LPC4088DM:
2016-06-03 09:22:38 +01:00
0xc0170 2a19ddc9d1 Add lpc821 cocorico target
Added by @ElektorLabs PR #1840, squashed manually.
2016-06-03 09:20:30 +01:00
Martin Kojtal 5ac648f866 Merge pull request #1762 from BartSX/can-devel-f3
[STM32F3xx] CAN development for STM32F3xx family
2016-06-03 07:59:19 +01:00
Russ Butler c730c63f1d Update K64F memory map for for larger static data
The KSDK2 update restricts static data to the first 64K of RAM.
This breaks some applications which require more than 64K of
static data.  This patch moves the static data sections
(bss and data) into the second ram region which is 192K.

Changes taken from similar patches here:
https://github.com/ARMmbed/target-kinetis-k64-gcc/pull/5
https://github.com/ARMmbed/target-kinetis-k64-gcc/pull/6

Previous layout
---------------
0x1FFF0000 m_data   .interrupts_ram
0x1FFF0400          data, bss
0x1FFFFFFF          end of bss
0x20000000 m_data_2 start of heap, end of stack
0x2002ffff          end of heap, start of stack

New layout
----------
0x1FFF0000 m_data   .interrupts_ram
0x1FFF0400          start of unused ram
0x1FFFFFFF          end of unused ram
0x20000000 m_data_2 data, bss
0x200XXXXX          end of bss
0x200XXXXX+1        start of heap, end of stack
0x2002ffff          end of heap, start of stack
2016-05-31 10:45:46 -05:00
Martin Kojtal 486d7e88d5 Merge pull request #1812 from bcostm/fix_f091rc_hsi_clock
[NUCLEO_F091RC] Fix HSI clock configuration issue.
2016-05-31 15:22:16 +01:00
svastm b6fe6638f1 [STM32L1XX] Update HAL_Cube_L1 to 1.5 2016-05-31 14:46:06 +02:00
Jerome COUTANT f327de0682 STM32Cube_FW_F0_V1.5.0 2016-05-30 17:31:18 +02:00
bcostm aef000ddbf [NUCLEO_F091RC] Fix HSI clock configuration issue. The clock was 96MHz instead of 48MHz. 2016-05-30 11:29:53 +02:00
Anders Lindvall d8935bb837 Misc fixes for LPC4088/LPC4088DM:
- Resetting in LPCXpresso IDE did not reset the LCD controller which
  sometimes could cause strange behaviour
- The ROM_LAT bit in the MATRIXARB register must be set in order to
  prevent a HardFault when debugging
- The change of compiler in LPCXpresso IDE to ARM launchpad GCC5 was
  causing build errors due to multiply defined timeval symbol.
- The exporters for LPCXpresso IDE did not set the FPU_PRESENT define
  for assembler, only for c/c++. This caused very strange behaviour
  in the RTOS code (e.g. timeouts no longer working, context switches
  failing etc.)
2016-05-30 10:50:17 +02:00
0xc0170 b32f7a9aaf Merge branch 'TomoYamanaka-master_branch2' 2016-05-24 13:27:32 +01:00
0xc0170 935111ff6c Merge branch 'master_branch2' of https://github.com/TomoYamanaka/mbed into TomoYamanaka-master_branch2 2016-05-24 11:30:26 +01:00
Martin Kojtal 24136afd3f Merge pull request #1763 from BartSX/timer-fxxx-#816
Fix timer #816 issue for STM32F0 and STM32F1
2016-05-24 11:26:43 +01:00
Bartosz Szczepanski 01ff0b9ab7 [NUCLEO_F030R8] 16-bit timer register update
This path fixes issue #816.

Current value of TIM_MST->CNT is read in interrupt context only.
This avoids master timer overflow without SlaveCounter update.

Change-Id: I8e2ec02ce7539a4c044c7e3dfe6bedc9fcdf7736
2016-05-23 16:02:25 +02:00
Bartosz Szczepanski 82d82d0b2a [NUCLEO_F070RB] 16-bit timer register update
This path fixes issue #816.

Current value of TIM_MST->CNT is read in interrupt context only.
This avoids master timer overflow without SlaveCounter update.

Change-Id: Iaaf7b9eb33aa8d8992e9354ca5e21bf01ec2413d
2016-05-23 16:02:25 +02:00
Rafal Kula e938780788 [NUCLEO_F103RB] 16-bit timer register update
This path fixes issue #816.

Current value of TIM_MST->CNT is read in interrupt context only.
This avoids master timer overflow without SlaveCounter update.

Change-Id: Ie7a9bfce76990f85caa84264450d053604af33e5
2016-05-23 16:02:25 +02:00
Bartosz Szczepanski f1c42bfc69 [NUCLEO_F302R8] Added CAN support
Added CAN API support for NUCLEO_F302R8 target.

*stm32f302x8.h* file was changed to avoid compilation errors.

Change-Id: Ia4ee8a90fe3f0ad6955dde21e78ea4a6c05e4fcd
2016-05-23 15:55:00 +02:00
Bartosz Szczepanski 347a5e629d [NUCLEO_F303K8] Added CAN support
Added CAN API support for NUCLEO_F303K8 target.

*stm32f303x8.h* file was changed to avoid compilation errors.

Change-Id: If093c84f19c5a5ef68938af4653a25271c1108ba
2016-05-23 15:55:00 +02:00
Bartosz Szczepanski 9a78b010a0 [NUCLEO_F303RE] Added CAN support
Added CAN API support for NUCLEO_F303RE target.

*stm32f303xe.h* file was changed to avoid compilation errors.

Change-Id: Ia6519c982261d43165dbce73cab7cfc0617474e2
2016-05-23 15:55:00 +02:00
Bartosz Szczepanski 656d1953d9 [NUCLEO_F334R8] Added CAN support
Added CAN API support for NUCLEO_F334R8 target.

*stm32f334x8.h* file was changed to avoid compilation errors.

Change-Id: Ic7b3273ffe24940ecdc189d2566a6a7f66825ce6
2016-05-23 15:55:00 +02:00
0xc0170 2b44bfbcc6 Merge branch 'timer-l0-#816' of https://github.com/BartSX/mbed into BartSX-timer-l0-#816 2016-05-23 13:59:40 +01:00
0xc0170 c70aedc044 Merge branch 'can-devel-f0' of https://github.com/BartSX/mbed into BartSX-can-devel-f0 2016-05-23 10:37:22 +01:00
Mihail Stoyanov d9734e5a32 Simplify layout:
* /libraries/mbed -> /hal
* /libraries/rtos -> /rtos
2016-05-23 09:13:59 +01:00