Commit Graph

36 Commits (80847e958d2423ea677b1c89e34245765a23e6a0)

Author SHA1 Message Date
Harrison Mutai 4fad1112e5 Add SPDX license identifier to Arm files
Add license identifier to files which Arm owns the copyright to,
and contain either BSD-3 or Apache-2.0 licenses. This is to address
license errors raised by scancode analysis.
2020-10-15 10:47:27 +01:00
Harrison Mutai d1d6bf51b3 Add license notice to Arm copyrighted source files
Scancode found missing license notices in our source files. This commit
addresses those issues by adding an Apache-2.0 notice to source files
highlighted.
2020-10-15 10:46:35 +01:00
Martin Kojtal 468372e759
Merge pull request #13492 from talorion/fix-PwmOut-resets-after-suspend
Fix pwm out resets after suspend
2020-09-10 12:40:18 +01:00
Jaeden Amero 612b148fd4 stack: armc: Workaround config passing bug
Workaround a bug where the boot stack size configuration option is not
passed on to armlink, the Arm Compiler's linker. Prefer
MBED_CONF_TARGET_BOOT_STACK_SIZE if present, as this is what the
configuration system should provide. Fall back to MBED_BOOT_STACK_SIZE
if MBED_CONF_TARGET_BOOT_STACK_SIZE is not defined, as in the case of
buggy tools. If both MBED_CONF_TARGET_BOOT_STACK_SIZE and
MBED_BOOT_STACK_SIZE are not defined, then we fall back to a hard-coded
value provided by the linkerscript. See
https://github.com/ARMmbed/mbed-os/issues/13474 for more information.
2020-09-10 10:08:38 +01:00
Jaeden Amero 39e69d328d Use boot stack size from config system
To allow overriding of the boot stack size from the Mbed configuration
system, consistently use MBED_CONF_TARGET_BOOT_STACK_SIZE rather than
MBED_BOOT_STACK_SIZE.

Fixes #10319
2020-09-10 10:08:38 +01:00
talorion 7388ff8b43 pwmout - TMPM46B - add read methods for period and pulsewidth 2020-09-02 13:39:16 +02:00
Filip Jagodzinski a958199594 TOSHIBA: Add hal_reset_reason_get_capabilities()
Override the default, weak implementation of
hal_reset_reason_get_capabilities() for TMPM066, TMPM3H6, TMPM3HQ,
TMPM46B & TMPM4G9.
2020-01-03 16:54:19 +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
Ganesh Ramachandran edf36fb2ae Added new features to TMPM46B 2019-08-16 10:43:52 +05:30
Martin Kojtal ccb63d771e
Merge pull request #10857 from ARMmbed/feature-watchdog
Add Watchdog and ResetReason
2019-07-03 11:43:52 +01:00
Maciej Bocianski fcde82ba4f HAL I2C: adds missing DEVICE_I2C guards 2019-06-19 23:08:55 +02:00
Steve Cartmell ad295e64ba fix(hal-watchdog): Guard TMPM 'ResetReason' code behind feature flag 2019-05-24 12:23:43 +02:00
Ganesh Ramachandran f6fcabb9b8 Added reset_reason feature for TMPM066 & TMPM46B 2019-05-24 12:23:29 +02:00
Ganesh Ramachandran 0b84c30d7c Fixed support for DigitalOut(NC) instantiation 2019-04-04 15:16:29 +05:30
Ganesh Ramachandran c5ad72b781 Error check for reallocation memory fail 2019-03-12 15:04:57 +05:30
Deepika 72ae546228 TARGET_TOSHIBA :Setup heap limit and size 2019-02-19 15:49:49 -06:00
Russ Butler 8669417e7b Add HAL API for spi pinmap
Add the functions to get spi pinmaps to all targets.
2019-02-08 09:10:37 -06:00
Russ Butler 34c176654d Add HAL API for serial pinmap
Add the functions serial_tx_pinmap, serial_rx_pinmap, serial_cts_pinmap
and serial_rts_pinmap to all targets.
2019-02-08 09:10:28 -06:00
Russ Butler be492fe07a Add HAL API for pwmout pinmap
Add the function pwm_pinmap to all targets.
2019-02-08 09:10:19 -06:00
Russ Butler 22a89773fa Add HAL API for i2c pinmap
Add the functions i2c_master_sda_pinmap, i2c_master_scl_pinmap,
i2c_slave_sda_pinmap and i2c_slave_scl_pinmap to all targets.
2019-02-08 09:10:12 -06:00
Russ Butler 4818f88d73 Add HAL API for analog in pinmap
Add the function analogin_pinmap to all targets.
2019-02-08 09:09:51 -06:00
Ganesh Ramachandran a9a79dfecf Added MBED_APP_START to linker script 2019-02-06 17:38:19 +05:30
Przemyslaw Stekiel 9fe7e360b3 [TOSHIBA] Support boot stack size configuration option 2019-01-08 15:32:07 +01:00
David Saada 542744d03c Support erase value in Flash HAL drivers, FlashIAP and block devices 2018-11-07 14:23:07 +02:00
Cruz Monrreal II ae1dd2ae4c Merge branch 'm46b_usticker-new_feature' of ssh://github.com/ganesh-ramachandran/mbed-os into ganesh-ramachandran-m46b_usticker-new_feature 2018-10-12 21:46:30 -05:00
Deepika 8c17ff6168 Toshiba: Fix alignment of execute region to 8-byte boundary
--legacyalign, --no_legacyalign are deprecated from ARMC6 compiler, in order to
remove deprecated flags all linker files (GCC and IAR as well to have uniformity)
should strictly align to 8-byte boundary
2018-10-09 10:15:07 -05:00
Ganesh Ramachandran 9215b9d264 Fixed pwmout & serial fuart
pwmout:
Used SystemCoreClock

Serial fuart:
SERIAL_5 & SERIAL_3 have same CTS pin (PA7), only function register is different (4 & 2).
pinmap_peripheral() will always return first match from the map.
Hence changed as, if SERIAL_5 is used, then pinmap_peripheral() should return SERIAL_5 (function register 2 to be set).
2018-09-25 13:29:12 +05:30
Ganesh Ramachandran 9474603791 Added usticker feature 2018-09-25 12:51:08 +05:30
David Saada 62a70f461b Fix TMPM64B IAR linker file
Remove unnecessary manual inclusion of tmpm64b_fc object file in linker script
2018-08-16 21:59:44 +03:00
Przemyslaw Stekiel c0ee843d63 Add lp/us ticker_free() functions stub.
This patch adds only empty stubs of `us_ticker_free()` and `lp_ticker_free()` for all boards where these functions are not implemented.
2018-07-25 08:58:38 +02:00
Ganesh Ramachandran 38c5997e4c IAR export and page size fix for nvstore 2018-04-19 17:24:58 +05:30
Ganesh Ramachandran a7d8eaed9e Low power consumption mode for deepsleep 2018-03-26 15:43:21 +05:30
Ganesh Ramachandran 609441a361 Dynamic vector relocation and formatting changes 2018-03-26 15:39:05 +05:30
Ganesh Ramachandran ee1bf13f54 CI build - case sensitive include header resolved 2018-03-26 15:39:05 +05:30
Ganesh Ramachandran d7905ab81f Modified ESG reset process 2018-03-26 15:39:05 +05:30
Ganesh Ramachandran 4e7e9e95a1 Added Support for Toshiba TMPM46B 2018-03-26 15:39:05 +05:30