Commit Graph

81 Commits (feature-sdio)

Author SHA1 Message Date
Martin Kojtal df79609cc5
Merge pull request #11675 from jeromecoutant/PR_USB_STEP1
STM32 USB update step 1
2019-10-28 14:06:15 +01:00
Kevin Bracey fb6aa3ef4f Clean up ARM toolchain heap+stack setup in targets
ARM Compiler 6.13 testing revealed linker errors pointing out
conflicting use of `__user_setup_stackheap` and
`__user_initial_stackheap` in some targets. Remove the unwanted
`__user_initial_stackheap` from the targets - the setup is
centralised in the common platform code.

Looking into this, a number of other issues were highlighted

* Almost all targets had `__initial_sp` hardcoded in assembler,
  rather than getting it from the scatter file. This was behind
  issue #11313. Fix this generally.
* A few targets' `__initial_sp` values did not match the scatter
  file layout, in some cases meaning they were overlapping heap
  space. They now all use the area reserved in the scatter file.
  If any problems are seen, then there is an error in the
  scatter file.
* A number of targets were reserving unneeded space for heap and
  stack in their startup assembler, on top of the space reserved in
  the scatter file, so wasting a few K. A couple were using that
  space for the stack, rather than the space in the scatter file.

To clarify expected behaviour:

* Each scatter file contains empty regions `ARM_LIB_HEAP` and
  `ARM_LIB_STACK` to reserve space. `ARM_LIB_STACK` is sized
  by the macro `MBED_BOOT_STACK_SIZE`, which is set by the tools.
  `ARM_LIB_HEAP` is generally the space left over after static
  RAM and stack.
* The address of the end of `ARM_LIB_STACK` is written into the
  vector table and on reset the CPU sets MSP to that address.
* The common platform code in Mbed OS provides `__user_setup_stackheap`
  for the ARM library. The ARM library calls this during startup, and
  it calls `__mbed_user_setup_stackheap`.
* The default weak definition of `__mbed_user_setup_stackheap` does not
  modify SP, so we remain on the boot stack, and the heap is set to
  the region described by `ARM_LIB_HEAP`. If `ARM_LIB_HEAP` doesn't
  exist, then the heap is the space from the end of the used data in
  `RW_IRAM1` to the start of `ARM_LIB_STACK`.
* Targets can override `__mbed_user_setup_stackheap` if they want.
  Currently only Renesas (ARMv7-A class) devices do.
* If microlib is in use, then it doesn't call `__user_setup_stackheap`.
  Instead it just finds and uses `ARM_LIB_STACK` and `ARM_LIB_HEAP`
  itself.
2019-10-23 14:53:49 +03:00
jeromecoutant 01e798fd6a STM32 clock configuration depending on USB 2019-10-21 17:11:59 +02:00
jeromecoutant 6f0932033b STM32F4 USB pins addition 2019-10-21 17:11:27 +02:00
Martin Kojtal 96d9a8fea9 Merge branch 'MX25LM51245G_QSPI_test_config' of git://github.com/LMESTM/mbed into dev_rollup 2019-08-28 18:37:17 +01:00
Malavika Sajikumar db0d3d21e6 Updating SDP-K1 PinNames.h file.
- Removing LED pin definitions based on color.
- Removing and updating incorrect USB pin definitions.
- Adding comments for Arduino SPI and I2C pins.
2019-08-27 15:24:08 -07:00
jeromecoutant 8cd00b3468 STM32L4: Add OSPI IP support in fallback QSPI mode
For STM32 platforms that embed an OSPI IP, we're offering
a QSPI fallback support with this commit.

When OSPI is supported in mbed, we can consider adding full
OSPI support
2019-08-23 15:18:48 +02:00
Martin Kojtal 9e0dc3e198
Merge pull request #10859 from malavikasajikumar/master
Removing I2C and SPI pin names in SDP-K1 PinNames.h file.
2019-07-01 09:23:06 +01:00
Malavika Sajikumar 6632282b4a Removing I2C and SPI pin names in SDP-K1 PinNames.h file.
This is to ensure the use of Arduino pin names Dxx for I2C and SPI pins in programs written for SDP-K1 board.
2019-06-18 08:15:01 -07:00
Vincent Veron 31eb49b918 TARGET_STM: Add DEVICE_SPI_COUNT to use SPIs without interference
Extend to all STM targets the work done on PR10752.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-06-14 14:15:56 +02:00
jeromecoutant d919498745 STM32: common cmsis.h and device.h 2019-05-27 16:27:41 +02:00
Martin Kojtal d5b84a5d57 SDP_K1: Fix year change in the system clock 2019-05-21 07:44:49 -07:00
Malavika Sajikumar cf8f3725f9 Removing stale definition. 2019-05-14 12:33:57 -07:00
Malavika Sajikumar 82a6f157b3 Adding omitted definition for LED4. This is used as a STATUS LED. 2019-05-14 12:32:44 -07:00
Malavika Sajikumar e0faeb2b65 Fixing alignment. 2019-04-29 09:52:01 -07:00
Malavika Sajikumar f11f63ddcf AWAKE signal turned on at system init for SDP-K1 board.
- Setting AWAKE signal high in the SystemInit() to ensure VIO supply to daughter boards through SDP and Arduino connectors.
2019-04-25 23:49:19 -07:00
Malavika Sajikumar 869e48dad0 Improvements made to PinNames.h of SDP-K1 board.
PinNames.h:
- Removing definition of Status LED.
- Redefining SPI and I2C pin names using Arduino pins names.
2019-04-25 23:49:19 -07:00
Malavika Sajikumar 00863c2664 Renaming SDP-K1 to SDP_K1. 2019-03-18 15:50:14 -07:00
Malavika Sajikumar 27abeb993a Updating SPDX-License-Identifier. 2019-03-08 14:30:59 -08:00
Malavika Sajikumar 481c19e30d Adding support for SDP connector pins. 2019-03-08 10:28:04 -08:00
Malavika Sajikumar d4cc30c8f9 Fixing for Travis CI test fail. 5e9e140. 2019-03-08 10:11:26 -08:00
Malavika Sajikumar b8d4ad29da Adding SPDX identifier (year 2019) to the license. 2019-03-08 09:35:26 -08:00
Malavika Sajikumar 5e9e1404c8 Removing commented out lines. Added SDP connector pins. 2019-03-08 09:22:47 -08:00
Malavika Sajikumar 2ffa39ffc0 Adding support for SDP-K1. 2019-03-07 13:43:54 -08:00
deepikabhavnani 0dc5561991 Guard RAM start and size defines 2019-02-28 19:54:38 -06:00
deepikabhavnani b598dc1f46 Target_STM: Add ARM_LIB_STACK and ARM_LIB_HEAP section
Instead of user defined symbols in assembly files or C files,
use linker scripts to add heap and stack - this is inconsistent
with ARM std linker scripts
2019-02-28 19:54:28 -06:00
Deepika e522c4691e Target_STM:_sbrk updated to use limits from linker files no need to set defines
_sbrk uses the exports from linker file __end and __HeapLimit to allocate memory
in heap. Linker scripts were updated accordingly to set the limits.
2019-02-19 15:49:49 -06:00
Russ Butler 82b131aa59 Use dedicated PinMap for each QSPI data line
Split PinMap_QSPI_DATA into PinMap_QSPI_DATA0 - PinMap_QSPI_DATA3.
This allows pins to be selected more accurately.
2019-01-22 12:11:15 -06:00
Przemyslaw Stekiel 58f6bf7292 [STM] Support boot stack size configuration option 2019-01-08 15:32:06 +01:00
Wilfried Chauveau bbb9de7c87
add bootloader support to the DISCO_F469NI 2019-01-04 11:32:23 +00:00
jeromecoutant 40f6d58b89 STM32 QSPI: remove QUADSPI_BK2 as dual bank feature is not supported 2018-12-13 10:56:37 +01:00
Deepika bf1a2c8485 [ST]: Fix alignment of execute region to 8-byte boundary in ARM linker files
--legacyalign, --no_legacyalign are deprecated from ARMC6 compiler, in order to
remove deprecated flags all linker files should strictly align to 8-byte boundary
2018-10-09 14:47:14 -05:00
Maciej Bocianski 5195c820e6 standardise QSPI pin names 2018-08-24 12:09:51 +02:00
adustm 7dda4e4fc6 Implement qspi_free function 2018-08-22 15:02:10 +02:00
jeromecoutant 43258a8ff4 STM32 : add all QSPI pins in available targets 2018-08-22 15:02:08 +02:00
adustm 293d1bda42 Add MBED_WEAK for pins 2018-08-22 15:00:22 +02:00
Martin Kojtal 0f7fd757a4 QSPI: add flash pins for F469 disco board 2018-08-22 15:00:16 +02:00
Martin Kojtal 2766672f64 QSPI STM32: add QSPI_x support to pinnames 2018-08-22 15:00:12 +02:00
Martin Kojtal 5e75b39b78 QSPI STM32: fix ssel af selection 2018-08-22 15:00:09 +02:00
Martin Kojtal 7da0ac2516 QSPI: add STM32 implementation 2018-08-22 15:00:08 +02:00
jeromecoutant b47c1ef6c4 STM32F4 assert in SetSysClock replaced 2018-08-13 15:54:51 +02:00
bcostm 7097e07b62 stm32 ticker: typo corrections 2018-07-11 14:43:36 +02:00
bcostm d8e839a789 stm32 ticker: change license 2018-07-11 14:43:16 +02:00
bcostm 32031cbab3 stm32 ticker: rename hal_tick.h in us_ticker_data.h 2018-07-11 14:42:44 +02:00
bcostm fbd7a97e19 stm32 ticker: rename macro and update ST HAL Tick functions
- rename TIM_MST_16BIT in TIM_MST_BIT_WIDTH in order to use it directly in ticker info structure
- change HAL_InitTick() and HAL_GetTick()
2018-07-11 14:39:42 +02:00
jeromecoutant f50720e2a4 TARGET_STM32F4 astyle 2018-06-27 14:42:28 +02:00
bcostm b087390a1a Remove HAL_TICK_DELAY (no more used) 2018-06-05 16:53:40 +02:00
jeromecoutant b30f3abf11 STM32 PeripheralPins.c second update after review
genpinmap script version 1.1
2018-05-17 17:58:09 +02:00
jeromecoutant 2b9b817aed STM32F4 DISCO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:05:03 +02:00
jeromecoutant ea9c1f29a1 STM32F4 Cube v1.19.0 update : ST CMSIS files
Previous version was v1.16.0
2018-02-15 16:33:32 +01:00