Commit Graph

783 Commits (15b7fe404e46a11123504a44dc6fd1f72fcdd37f)

Author SHA1 Message Date
Rajkumar Kanagaraj 957dca2082 Enabling small C library option and deprecating uARM toolchain
- By default, Mbed OS build tools use standard C library for all supported toolchains.
   It is possible to use smaller C libraries by overriding the "target.default_lib" option
   with "small". This option is only currently supported for the GCC_ARM toolchain.
   This override config option is now extended in the build tool for ARM toolchain.
 - Add configuration option to specify libraries supported for each toolchain per targets.
 - Move __aeabi_assert function from rtos to retarget code so it’s available for bare metal.
 - Use 2 memory region model for ARM toolchain scatter file for the following targets:
   NUCLEO_F207ZG, STM32F411xE, STM32F429xI, NUCLEO_L073RZ, STM32F303xE
 - Add a warning message in the build tools to deprecate uARM toolchain.
 - NewLib-Nano C library is not supporting floating-point and printf with %hhd,%hhu,%hhX,%lld,%llu,%llX
   format specifier so skipping those green tea test cases.
2019-12-19 10:05:11 -08:00
jaco.olivier ef5da02a68 Implemented recommended fix from https://github.com/STMicroelectronics/STM32CubeF4/issues/5 2019-12-13 10:48:38 +02:00
jeromecoutant bea83d02c2 STM32 TARGET_STM astyle corrections 2019-12-10 14:39:47 +01:00
Martin Kojtal bbf68d7272
Merge pull request #11983 from u-blox/ublox_odin_driver_os_5_v3.7.1_rc3
Ublox Odin Driver OS 5 v3.7.1 rc3: Network-WiFi Test Crash Fixes
2019-12-04 10:12:11 +01:00
hamza-ubx 506e2ef8c7 Fixed Alignment 2019-12-02 19:44:16 +05:00
Hamza Rizwan c15320d48e Fixes for Network WiFi Test Crashes 2019-11-29 14:52:25 +05:00
Martin Kojtal 7177d8fefe
Merge pull request #11950 from ABOSTM/DISCO_H747I_TICKLESS
DISCO_H747I: add support of MBED_TICKLESS
2019-11-29 09:48:09 +01:00
Przemyslaw Stekiel b2dad08387 Change explicit pinmap to static pinmap 2019-11-28 08:32:12 +01:00
Przemyslaw Stekiel e3a34a57e1 Move GPIO_AF_NONE from PeripheralPins.h to PinNamesTypes.h 2019-11-28 08:32:10 +01:00
Przemyslaw Stekiel b35579ba39 NUCLEO_F429ZI add CAN pinmaps 2019-11-28 08:32:07 +01:00
Przemyslaw Stekiel 6489bb7c99 STM: Add support for internal ADC pins 2019-11-28 08:32:06 +01:00
Przemyslaw Stekiel 2855e801cb NUCLEO_F411RE: Add explicit pinmap support 2019-11-28 08:32:05 +01:00
Przemyslaw Stekiel d75cc97d80 Explicit pinmap - fix style 2019-11-28 08:32:02 +01:00
Przemyslaw Stekiel 17c1b9a860 Fix spelling error 2019-11-28 08:32:02 +01:00
Przemyslaw Stekiel 7b0ceb0140 NUCLEO_F429ZI: Add constexpr pinmap tables 2019-11-28 08:32:01 +01:00
Przemyslaw Stekiel 3d719f7e35 K64F, NUCLEO_F429ZI: Use explicit pinmap for console 2019-11-28 08:32:00 +01:00
Przemyslaw Stekiel 3d2bebde0c STM32 serial driver: Add explicit pinmap support 2019-11-28 08:32:00 +01:00
Przemyslaw Stekiel 2185e80e08 STM32F4 I2C driver: Add explicit pinmap support 2019-11-28 08:31:59 +01:00
Przemyslaw Stekiel eab08d7047 STM32F4 Analogout driver: Add explicit pinmap support 2019-11-28 08:31:58 +01:00
Przemyslaw Stekiel b22cc4a032 STM32F4 Analogin driver: Add explicit pinmap support 2019-11-28 08:31:57 +01:00
Alexandre Bourdiol 41b038a028 TARGET_STM: rework hal_sleep management to be compatible with all STM32 families 2019-11-27 14:25:30 +01:00
Laurent Meunier f20529f9e6 STM32: Update and align serial_clear implementations
Clear RXNE flag by reading the RX register and align this implementation
on all families.
2019-11-25 14:55:32 +01:00
Hugues Kamba 157d126769 UBLOX_EVK_ODIN_W2: Fix baremetal build and greentea tests
Remove lwIP reliant networking and BLE tests for baremetal

Mbed OS 5 ported lwIP in its OS mode and uses threads. Networking
that rely on lwIP needs to be removed so it can be compiled with the
baremetal profile.

The BLE cordio Greentea tests are also disabled given that the feature
is not supported without an RTOS.
2019-11-22 10:55:39 +00:00
Przemyslaw Stekiel ee519e6a5c NUCLEO_F411RE, NUCLEO_L073RZ, NUCLEO_F303RE: Disable Analogin D13(PA_5) pin.
Analogin test fails on D13(PA_5) pin. When logic one (3.3V) is provided on this pin ADC reads 0.86 value. On other pins we got 0.98.
This is caused because this pin is connected to led2.
2019-10-30 14:34:57 +01:00
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 4af05bb370
Merge pull request #11648 from rohfle/target-olimex-stm32e407
OLIMEX_STM32E407_F407ZG: Added new target platform
2019-10-18 16:05:05 +02:00
Martin Kojtal 8ff5cf9216
Merge pull request #11700 from toyowata/arch_max_bootloader
Add bootloader support for Seeed Arch-MAX
2019-10-18 10:32:00 +02:00
Rohan Fletcher 4b971fbb8f OLIMEX_STM32E407_F407ZG: Added definitions for missing LEDs 2019-10-18 06:37:09 +13:00
toyowata 5389536953 Add bootloader support for Seeed Arch-MAX 2019-10-17 10:05:03 +09:00
Laurent Meunier e862438fad Clearing UART TC Flag prevents deep sleep, so do not clear it
The TC flag is used in function serial_is_tx_ongoing to check if there is
an ongoing serial transmission. So this Flag must not be cleared at the
end of the transmission, otherwise, serial_is_tx_ongoing will notify that
TX is ongoing.

The impact is that it may prevent deep sleep to be entered.

Also there is no need to clear this flag at the end of the transaction
because it will be cleared automatically by HW when a new transmission
starts.
2019-10-15 15:59:51 +02:00
Janne Kiiskila 02c139f27a stm32f4xx_hal_pcd.c@346,22: unused variable 'ep'
Compiler warning fix, trivial. One function has an unused
variable, delete that line.
2019-10-15 09:49:09 +03:00
Rohan Fletcher 02df759c37 OLIMEX_STM32E407_F407ZG: Added new target platform
Added Olimex STM32-E407 (STM32F407ZG) evaluation board.
USB, UART, External HS XTAL and Ethernet are all working correctly.
2019-10-10 09:20:28 +13:00
Ben Cooke dd778c4126 Add MTS_DRAGONFLY_F413RH platform to mbed-os 2019-09-30 13:50:40 -05:00
mahanthgouda 1780a08d54 Add OKDO platform (#11407)
Add OKDO platform
2019-09-16 16:58:54 +02:00
jeromecoutant db7efabfd5 STM license file update
Some code have been copied from ST Cube deliveries.
ST copyright is then needed.
2019-09-10 14:24:48 +02:00
Martin Kojtal 8ef742a49c
Merge pull request #11370 from u-blox/ublox_odin_driver_os_5_v3.7.1_rc1
Driver Updates + ARMC6 driver support + WIFI fixes
2019-08-29 13:35:06 +02:00
aqib-ublox 7f36fbc86e Driver Updates + ARMC6 driver support + wifi fixes 2019-08-29 11:33:29 +05: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
aqib-ublox 1ab75d3759 adding internal ADC pin definition for MBED_CONNECT_ODIN and MBED_ODIN_W2 2019-08-23 15:46:15 +05:00
aqib-ublox 80e30f4258 ADc internal temperature suuport and EMAC header fix 2019-08-20 18:44:22 +05:00
Martin Kojtal f8dc035ae4
Merge pull request #11139 from sethitow/stm32f413-crash-capture
STM32F413 Crash Capture
2019-08-09 12:49:21 +01:00
Seth Itow 9a65310a85 stm32f413xh: add crash capture support for ARM_STD 2019-08-01 11:28:36 -07:00
Szymon Szantula dd2876c8ac
__cplusplus guard fixed
This error prevented using this header in cpp code directly.
2019-08-01 14:41:11 +02:00
Seth Itow 1c4ad895dd stm32f413xh: add crash capture support for IAR 2019-07-31 15:54:47 -07:00
Seth Itow 6278dacc1f stm32f413xh: add crash capture support for ARM_MICRO 2019-07-31 15:54:20 -07:00
Seth Itow 489bd3dec8 stm32f413xh: add crash capture support for GCC_ARM 2019-07-31 15:53:34 -07:00
Seppo Takalo 987533859a
Merge pull request #10104 from kjbracey-arm/sleep_api
Sleep rework, RTOS API for bare metal, wait deprecations
2019-07-17 14:37:53 +03:00
Kevin Bracey a522dcfa0a Replace deprecated wait calls 2019-07-15 10:13:50 +03:00
Yuan Cao 6ed21ee1c0 Fixed serial_device IRQ infinite loop bug due to uint8_t overflowing 2019-07-13 00:05:25 -04:00
Tymoteusz Bloch 878c93673b Reverted "K64F, STM32F429: IAR linker scripts dynamic heap fix"
due to side effect with K64F bootloader application jump after three consecutive HW resets.
2019-07-10 13:30:40 +02:00
Martin Kojtal 608e4c245f
Merge pull request #10938 from tymoteuszblochmobica/iar
K64F, STM32F429: IAR linker scripts dynamic  heap fix
2019-07-03 12:00:35 +01:00
Martin Kojtal ccb63d771e
Merge pull request #10857 from ARMmbed/feature-watchdog
Add Watchdog and ResetReason
2019-07-03 11:43:52 +01:00
Tymoteusz Bloch 83057c95d0 IAR icf linker scripts modified to use dynamic heap allocation of all available memory. 2019-07-01 17:57:40 +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
Martin Kojtal 61c4d05ce9
Merge pull request #10824 from ABOSTM/PRSTM32_PWMWRTIE_GLITCH_10734
STM32: pwmout_write: configure channel only when not already enabled
2019-06-28 14:24:14 +01:00
Alexandre Bourdiol a339084684 STM32: pwmout_write: configure channel only when not already enabled
Fix PWM glitch on write(), TARGET_STM/pwmout_api.c, #10734
2019-06-20 17:49:16 +02: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
Martin Kojtal 94d2a42fd5
Merge pull request #10793 from jeromecoutant/PR_STM32WARNING
STM32: remove compilation warnings
2019-06-11 07:36:47 +01:00
jeromecoutant 09a58b5203 STM32F4 warning compilation
[-Wparentheses-equality]
2019-06-07 18:08:51 +02:00
toyowata f1628f0b8d Correct SPDX identifiers 2019-06-05 19:04:55 +09:00
toyowata 9acf2c325c Fix device_name and add SPDX identifiers 2019-06-05 16:48:08 +09:00
toyowata f0a06b24ba Remove ARCH_MAX files from STM32F407xG 2019-06-05 14:51:06 +09:00
toyowata db2cac45f1 Move Seeed ARCH_MAX to TARGET_STM32F407xE MCU 2019-06-05 14:35:25 +09:00
jeromecoutant d919498745 STM32: common cmsis.h and device.h 2019-05-27 16:27:41 +02:00
jeromecoutant 570e9b0bf4 STM32 WATCHDOG : increase timeout value 2019-05-24 11:35:42 +02:00
jeromecoutant 1b8513a5a8 STM32 Watchdog : move API file to STM family level 2019-05-24 11:35:39 +02:00
Filip Jagodzinski d26dba40b2 STM32F4: watchdog HAL: Fix issues found with tests
Fix WATCHDOG_STATUS_INVALID_ARGUMENT for timeout values from 1 ms to
407 ms (fix inability to set prescaler bits to zero).
Fix timeout <-> IWDG registers conversions.
Fix read & write access to IWDG_PR and IWDG_RLR registers.
Fix LSI RC frequency setting.
Limit MAX_TIMEOUT_MS to UINT32_MAX.
2019-05-24 11:35:29 +02:00
Steven Cartmell 2fb9fc2a8e Rename watchdog.c -> watchdog_api.c to prevent name collision with Platform API 2019-05-24 11:35:25 +02:00
Steven Cartmell e7761a1d39 Move watchdog parameter validation into the driver layer 2019-05-24 11:35:22 +02:00
Steven Cartmell 31924b2481 Add missing license headers 2019-05-24 11:35:21 +02:00
Steven Cartmell 7c392a16d4 Remove window and sleep mode options for watchdog API 2019-05-24 11:35:13 +02:00
Steven Cartmell 8fa38bb25b Add Watchdog driver API 2019-05-24 11:20:26 +02:00
Steven Cartmell 366893ae71 Add independent watchdog reference implementation for STM32 2019-05-24 11:20:25 +02:00
Martin Kojtal 4567626ade
Merge pull request #10636 from u-blox/activation_status
+UPSND sent to poll activation status
2019-05-23 21:39:48 +01:00
Martin Kojtal 02b91bdfca
Merge pull request #10582 from malavikasajikumar/master
Adding LED4 definition in PinNames.h of SDP-K1 board.
2019-05-23 21:35:42 +01:00
Bilal Qamar defc244db2 +UPSND sent to poll activation status 2019-05-22 16:52:03 +05:00
Martin Kojtal d5b84a5d57 SDP_K1: Fix year change in the system clock 2019-05-21 07:44:49 -07:00
Martin Kojtal d4122b0b3a
Merge pull request #10454 from u-blox/ublox_odin_driver_os_5_v3.7.0_rc1
Enterprise_mode_+_wifi_configuraiton_api: update ODIN drivers to v3.7.0 RC1
2019-05-20 10:54:45 +01: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
Martin Kojtal 2956a35b17
Merge pull request #10538 from masoudr/master
Enabled crash reporting for DISCO_F407VG target
2019-05-13 13:29:17 +01:00
Anna Bridge 97e1c9cbaf
Merge pull request #10287 from linlingao/pr10177
Enable MTS_DRAGONFLY_F411RE to register with Pelion
2019-05-10 16:21:46 +01:00
aqin 43759c0c4b Enterprise mode + wifi configuraiton api 2019-05-08 17:52:04 +05:00
M. Rahimi 06ed3c44c2 Enabled crash reporting for DISCO_F407VG on all other toolchains 2019-05-07 21:43:37 +04:30
M. Rahimi d30bdbe08b Enabled crash reporting for DISCO_F407VG target 2019-05-07 19:25:46 +04:30
mudassar-ublox 5f55eedfae cellular target name change for ublox cellular instance 2019-05-03 11:21:38 +05:00
Martin Kojtal 87711a9111
Merge pull request #10471 from malavikasajikumar/master
SDP-K1: Updates to target code
2019-05-02 19:03:22 +01:00
Lin Gao 2c22f549e9 Add option to keep post_binary_hook and make it default. It can be disabled by setting it to null 2019-05-02 11:25:20 -05:00
Lin Gao 438a52f15a Fix handoff issue from the bootloader to the application on MTS_DRAGONFLY_F411RE 2019-05-02 11:25:19 -05:00
Martin Kojtal d41962a8c8
SDP_K1: Fix year change in the system clock 2019-05-02 11:35:40 +01: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
Deepika 36c7b2de86 uARM - Move heap region after IRAM1
ARM_LIB_HEAP start is aligned to IRAM1 end, hence should be placed next to
RW_IRAM1 i.e. no other region in between.
2019-04-09 12:01:01 -05:00