2023-05-15 |
Remove all source files exclusive to Arm Compiler and IAR (#159)
...
* Remove all source files exclusive to Arm Compiler and IAR
* Also remove 'TOOLCHAIN_ARM'
* Remove targets.json entries for ARM and IAR
Jamie Smith
authored
on 15 May 2023
GitHub
committed
on 15 May 2023
|
2022-12-31 |
Merge upstream changes into mbed-ce (#117)
...
* Fix for calculating CAN timing settings.
NominalPrescaler value needs to be as high as possible to ensure a good approximation of the target CAN speed.
Previous usage of macro IS_FDCAN_DATA_TSEG1 refers to (unsupported by Mbed ) FDCAN CAN controller settings and leads to too low prescaler values.
Usage Macro IS_FDCAN_NOMINAL_TSEG1 yields optimum results.
See also correct macro usage in line #158.
* Add complete support of DHCP relay interface ID option
RFC3315 specifies the following: "The relay agent MAY send the Interface-id
option to identify the interface on which the client message was received.
If a relay agent receives a Relay-reply message with an Interface-id
option, the relay agent relays the message to the client through the
interface identified by the option."
The current implementation of the DHCP relay reply handling, the interface
ID field from the server response is ignored. Managing the interface ID
is very important especially as DHCP requests/replies use link-local
addresses. The consequence of this is that the interface must always be
specified because the routing layer cannot guess the correct interface.
Moreover, Mbed provides a mechanism to enable/disable the interface ID
option on a DHCP relay instance, so it is important to fully support it.
The reason why this issue has not been discoverd until now is that the DHCP
relay is mainly used on systems that use only one interface (such as Wi-SUN
routers). By default, when no interface ID is specified for the socket, the
latter will choose 6loWPAN interface by default. This means that if two
interfaces are used on the same device, the 6loWPAN interface is always
selected.
The commit adds code to retrieve the interface-id value contained within
the DHCP relay reply message and write it to a control message header
that is added to the socket message. This tells the socket which
interface to choose. If the interface-id option is not enabled on the
relay, this procedure is simply ignored.
* Support Nuvoton target NUMAKER_IOT_M467
1. Based on alpha version BSP (85564a2 )
2. Continuing above, tweak BSP:
(1) Add EPWM_ConfigOutputChannel2() to enable below 1Hz and below 1% duty cycle for PWM output (m460_epwm.h/c).
(2) Add dummy RTC_WaitAccessEnable() for consistency with previous ports (m460_rtc.h).
3. Target NuMaker-M467HJ V0.1 board temporarily
4. Support Arduino UNO form factor for NUMAKER_IOT_M467 target
5. Enable export to Keil/IAR project
- tools/arm_pack_manager/index.json
- tools/export/iar/iar_definitions.json
* M467: Fix Greentea reset_reason test failure
HRESETRF is combined reset flag. Filter it out to avoid interference with reset reason check.
* M467: Support HyperRAM
1. For GCC, support multi-block .data/.bss initialization
2. HyperRAM is mapped to two regions: 0x0A000000 and 0x80000000
According to default system address map, 0x0A000000 is located at 'Code' region and 0x80000000 at 'RAM' region.
With MPU enabled on Mbed OS, 'Code' region is write-never and 'RAM' region execute-never.
0x80000000 is chosen because 'RAM' regioin is naturally for HyperRAM.
3. Configurable multi-function pins for HBI
4. To locate code/data at external HyperRAM:
- Specify __attribute__((section(".text.nu.exthyperram"))) for RO/.text/readonly section type
Invoke mbed_mpu_manager_lock_ram_execution()/mbed_mpu_manager_unlock_ram_execution() to run HyperRAM code
- Specify __attribute__((section(".data.nu.exthyperram"))) for RW/.data/readwrite section type
- Specify __attribute__((section(".bss.nu.exthyperram"))) for ZI/.bss/zeroinit section type
5. Add readme
* Config for M460 EMAC
* Add M460 EMAC driver
* Adjust M460 EMAC RX/TX buffer
* M467: Fix EMAC compile error with IAR
* M467: Support Crypto SHA/ECC H/W
1. Prepare crypto common code
2. Support list
- SHA
- ECC
NOTE: AES/RSA are to support in other works
NOTE: Compared to M487, M467's SHA supports context save & restore (DMA Cascade mode) and so no software fallback is needed.
NOTE: M467's ECC, following M487, goes partial-module replacement and it can just improve primitives e.g. point addition/doubling by 2X,
and cannot improve high level point multiplication because MbedTLS doesn’t open it.
To improve performance best, full-module replacement is needed.
NOTE: Continuing above, add support for Montgomery curve
* M467 H/W AES self-test pass
* M467 Support crypto GCM H/W
* M467: GCM support one simple mode instead of using composite GHASH & CTR MODE
* Update M467 AES-GCM to pass AWS-IoT test
* Update M467 AES-GCM for H/W gcm in-buffer creteria
* M467: Improve Crypto H/W wait helper routine
Add crypto_xxx_wait2 helper routine to replace crypto_xxx_wait for Crypto H/W control
* M467: Seed PRNG with TRNG for SCAP
According to TRM, it is suggested PRNG be seeded by TRNG on every Crypto H/W reset.
* M467: Support Crypto RSA H/W
1. Crypto RSA H/W supports 1024/2048/3072/4096 key bits. Fall back to software implementation for other key bits.
2. For decrypt, if MBEDTLS_RSA_NO_CRT isn't defined, go CRT, or normal.
3. For decrypt, when blinding (f_rng != NULL), enable SCAP mode.
4. Recover from Crypto RSA H/W failure:
(1) Enable timed-out wait to escape from RSA H/W trap
(2) On RSA H/W timeout, stop this RSA H/W operation
(3) Fall back to S/W implementation on failure
NOTE: RSA 4096 key bits can fail with default mbedtls configuration MBEDTLS_MPI_MAX_SIZE.
Enlarge MBEDTLS_MPI_MAX_SIZE to 1024 or larger if this feature is required.
NOTE: Fixed in BSP RSA driver, for non-CRT+SCAP mode, temporary buffer for MADDR6 requires to be key length plus 128 bits.
NOTE: Fixed in BSP RSA driver, DMA buffer must be 4-word aligned, or RSA H/W will trap.
* M467 Support crypto AES-CCM H/W with one-shot & cascade mode
* M467: Support Crypto ECC H/W in full-module replacement
1. Replace ecp.c full-module, and other ec modules dependent on ecp.c (ecdh.c/ecdsa.c/ecjpake.c) will improve followingly.
2. Recover from Crypto ECC H/W failure:
(1) Enable timed-out wait to escape from ECC H/W trap
(2) On ECC H/W timeout, stop this ECC H/W operation
(3) Fall back to S/W implementation on failure
3. Support Short Weierstrass curve
4. Support Montgomery curve
Montgomery curve has the form: B y^2 = x^3 + A x^2 + x
(1) In S/W impl, A is used as (A + 2) / 4. Figure out its original value for engine.
https://github.com/ARMmbed/mbed-os/blob/2eb06e76208588afc6cb7580a8dd64c5429a10ce/connectivity/mbedtls/include/mbedtls/ecp.h#L219-L220
(2) In S/W impl, B is unused. Actually, B is 1 for Curve25519/Curve448 and needs to configure to engine.
https://github.com/ARMmbed/mbed-os/blob/2eb06e76208588afc6cb7580a8dd64c5429a10ce/connectivity/mbedtls/include/mbedtls/ecp.h#L221-L222
(3) In S/W impl, y-coord is absent, but engine needs it. Deduce it from x-coord following:
https://tools.ietf.org/id/draft-jivsov-ecc-compact-05.html
https://www.rieselprime.de/ziki/Modular_square_root
NOTE: Fix Curve448 has wrong order value
https://github.com/Mbed-TLS/mbedtls/pull/5811
* M467: Disable SCAP in RSA H/W
This is to follow designer's resolution.
* M467: support fullspeed usb device
* M467: Fix mbedtls_ecp_point_cmp() call with null argument
Guard from null argument passed to mbedtls_ecp_point_cmp() in ECC H/W port
* M467: Make mbedtls H/W port removable
Some M460 chips don't support AES/SHA/ECC/RSA H/W.
Make them removable from mbedtls H/W port through '"target.macros_remove": ["MBEDTLS_CONFIG_HW_SUPPORT"]'.
* Added TMPM4NR Platform
New Platform for Toshiba Added
* Removed UTF8 Chars
* M467: I2C: Fix potential role switch failure
Fix in i2c_do_trsn(), interrupt doesn't change back to enabled due to premature return.
* M467: Exclude UNO SPI pins from FPGA CI Test Shield test
UNO D8/D9/D10/D11/D12/D13 can wire to on-board SPI flash.
Exclude these pins from FPGA CI Test Shield test.
* M467: Adjust UART pinmap to pass FPGA CI Test Shield test
* M467: Support NuMaker-IoT-M467 board
Pinout comparison between NuMaker-M467HJ and NuMaker-IoT-M467 boards:
1. UNO are unchanged
2. LEDs are unchanged
3. Buttons are unchanged, except button names
4. NuMaker-M467HJ has HBI but NuMaker-IoT-M467 does
5. NuMaker-M467HJ doesn't have ESP8266 but NuMaker-IoT-M467 does
6. SDHC are unchanged
* Nuvoton: I2C: Fix potential role switch failure
Fix in i2c_do_trsn(), interrupt doesn't change back to enabled due to premature return.
Fix targets:
- NUMAKER_PFM_NANO130
- NUMAKER_PFM_NUC472
- NUMAKER_PFM_M453
- NUMAKER_PFM_M487/NUMAKER_IOT_M487
- NUMAKER_IOT_M252
- NUMAKER_IOT_M263A
- NU_M2354
* Update can_api.c
Modified comment as discussed.
* M467: Remove invalid UTF-8 byte sequence
* Replace MAX32660, MAX32670 I2C driver with final one in MSDK
- apply clang-format
- Fix i2c repeated start issue
Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>
* Add proper support for NUCLEO-H723ZG.
- add board specific EMAC setup to connectivity/drivers/emac/TARGET_STM/TARGET_STM32H7
- stm32h7_eth_init.c was derived from the NUCLEO-H743ZI2 code whilst comparing to the output of STM32CubeIDE
- complete board specific code in targets/TARGET_STM/TARGET_STM32H7/TARGET_STM32H723xG
- PeripheralPins.c and PinNames.h were created by targets/TARGET_STM/tools/STM32_gen_PeripheralPins.py
- ST ZIO connector pins in PinNames.h have been adapted from NUCLEO-H743ZI2
- CONSOLE_TX and CONSOLE_RX have been interchanged in PinNames.h to match the actual board layout
- startup_stm32h723xx.S was derived from startup_stm32h743xx.S
- stm32h723xg.ld was completely rewritten to match the actual MCU including:
- split heap support
- SRAM2 and SRAM4 support
- crash dump support
- proper use of DTCM as stack
- system_clock.c has been changed to support the maximal main clock speed of 550 MHz
- fix handling of HS in FS mode for the target board in targets/TARGET_STM/USBPhy_STM32.cpp
- add board definition to targets/targets.json and correct linker setup for the chip
Signed-off-by: Daniel Starke <daniel-email@gmx.net>
* Fix I2C for MCU_STM32H723xG
Add I2C configuration to MCU_STM32H723xG in target.json as suggested by @jeromecoutant.
Signed-off-by: Daniel Starke <daniel-email@gmx.net>
* Correct MAX32620 boards macro for USB library.
* Limit NUCLEO_H723ZG toolchain to GCC_ARM
Limit NUCLEO_H723ZG toolchain to GCC_ARM only.
This is the only toolchain this target has been tested with yet.
Signed-off-by: Daniel Starke <daniel-email@gmx.net>
* M2354 support FS-USBD and update TF-M for USB PHY select
* Rethink STM32 I2C v2 HAL
* Add documentation for I2C_EVENT macros
* Add some additional I2C error codes
* Added TMPM4GR Platform
New Platform for Toshiba Added
* Resolve delimeter issues for target.json
* Fix compile error on static pinmap targets
* github: Fix click version
Signed-off-by: Martin Kojtal <martin.kojtal@arm.com>
Signed-off-by: Sadik.Ozer <sadik.ozer@analog.com>
Signed-off-by: Daniel Starke <daniel-email@gmx.net>
Signed-off-by: Martin Kojtal <martin.kojtal@arm.com>
Co-authored-by: chdelfs <109847651+chdelfs@users.noreply.github.com>
Co-authored-by: YannCharbon <yann.charbon@ik.me>
Co-authored-by: Chun-Chieh Li <ccli8@nuvoton.com>
Co-authored-by: cyliangtw <cyliang@nuvoton.com>
Co-authored-by: Deepak V. Shreshti <DeepakVS@TOSHIBA-TSIP.COM>
Co-authored-by: Martin Kojtal <martin.kojtal@arm.com>
Co-authored-by: Sadik.Ozer <sadik.ozer@analog.com>
Co-authored-by: Daniel Starke <daniel-email@gmx.net>
Co-authored-by: Ahmet Alincak <Ahmet.Alincak@maximintegrated.com>
Co-authored-by: Jamie Smith <smit109@usc.edu>
Co-authored-by: Jamie Smith <jsmith@crackofdawn.onmicrosoft.com>
Jay Sridharan
authored
on 31 Dec 2022
GitHub
committed
on 31 Dec 2022
|
2022-08-24 |
Removed UTF-8 Chars
Deepak V. Shreshti
committed
on 24 Aug 2022
|
2022-08-23 |
Updated System file and Scatter file
Deepak V. Shreshti
committed
on 23 Aug 2022
|
2022-02-28 |
Updated I2C pin names in PinNames.h header
Deepak V. Shreshti
committed
on 28 Feb 2022
|
2022-01-26 |
GPIO: Use uintptr_t for gpio_irq_api context
...
The HAL gpio_irq_api stores object IDs, which serve as a form of context
for the dispatch of the interrupt handler in the drivers level
InterruptIn Class. The way this is achieved is that the InterruptIn
Class casts its address to uint32_t, which is stored as the ID.
This results in compilation failure when the size of an object pointer
is greater than uint32_t, for example when building on a PC for unit
testing.
In order to allow Unit Testing of the InterruptIn Class, we replace the
use of uint32_t with uintptr_t (type capable of holding a pointer),
which allows portability and expresses intentions more clearly.
In aid of this latter goal, we also replace the use of the name "id"
with "context", to improve clarity - these are addresses of the context
related to that callback.
Hari Limaye
committed
on 26 Jan 2022
|
2021-12-23 |
Updated code to remove float symbols
Deepak V. Shreshti
committed
on 23 Dec 2021
|
Added SPDX Header
...
Updated PIN Names
Added M4KN MCU Deatils in index.json
Removed Special Chars
Deepak V. Shreshti
committed
on 23 Dec 2021
|
Added M4KN Platform
...
New Platform M4KN for Toshiba has been added
Deepak V. Shreshti
committed
on 23 Dec 2021
|
2021-03-23 |
Update UART pin names & add MBED_CONF_TARGET_STDIO_UART overrides
George Psimenos
committed
on 23 Mar 2021
|
2021-03-18 |
Add standard pin-names validation script & tests
George Psimenos
committed
on 18 Mar 2021
|
2021-03-02 |
Merge pull request #14345 from harmut01/baremetal_toshiba
...
Add bare metal support to Toshiba targets
Martin Kojtal
authored
on 2 Mar 2021
GitHub
committed
on 2 Mar 2021
|
2021-03-01 |
Remove erroneous object file reference in IRAM1 definition
Harrison Mutai
committed
on 1 Mar 2021
|
Correct vector table and ram size definitions
Harrison Mutai
committed
on 1 Mar 2021
|
2021-02-25 |
Add bare metal support to Toshiba targets
...
Modify scatter files to specify heap load region and add small libraries
to list of supported libraries in target.json.# Please enter the commit message for your changes. Lines starting
Harrison Mutai
committed
on 25 Feb 2021
|
2021-02-19 |
CMake: Create CMSIS library targets to remove dependency on MBED_TARGET_LABELS
...
This goes towards eventually removing reliance on targets.json to specify
the requirements of Mbed targets.
Hugues Kamba
committed
on 19 Feb 2021
|
2021-02-11 |
CMake: Refactor Toshiba targets
...
Refactor all Toshiba targets to be CMake buildsystem targets. This removes
the need for checking MBED_TARGET_LABELS repeatedly and allows us to be
more flexible in the way we include MBED_TARGET source in the build.
A side effect of this is it will allow us to support custom targets
without breaking the build for 'standard' targets, as we use CMake's
standard mechanism for adding build rules to the build system, rather
than implementing our own layer of logic to exclude files not needed for
the target being built. Using this approach, if an MBED_TARGET is not
linked to using `target_link_libraries` its source files will not be
added to the build. This means custom target source can be added to the
user's application CMakeLists.txt without polluting the build system
when trying to compile for a standard MBED_TARGET.
Harrison Mutai
committed
on 11 Feb 2021
|
2021-01-05 |
CMake: add cmake support for Toshiba targets
Harrison Mutai
committed
on 5 Jan 2021
|
2020-10-15 |
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.
Harrison Mutai
committed
on 15 Oct 2020
|
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.
Harrison Mutai
committed
on 15 Oct 2020
|
2020-09-10 |
Merge pull request #13492 from talorion/fix-PwmOut-resets-after-suspend
...
Fix pwm out resets after suspend
Martin Kojtal
authored
on 10 Sep 2020
GitHub
committed
on 10 Sep 2020
|
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.
Jaeden Amero
committed
on 10 Sep 2020
|
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
Jaeden Amero
committed
on 10 Sep 2020
|
2020-09-02 |
pwmout - TMPM4G9 - add read methods for period and pulsewidth
talorion
authored
on 25 Aug 2020
Gregor Mayramhof
committed
on 2 Sep 2020
|
pwmout - TMPM46B - add read methods for period and pulsewidth
talorion
authored
on 25 Aug 2020
Gregor Mayramhof
committed
on 2 Sep 2020
|
2020-05-15 |
Define MBED_CONF_RTOS_MAIN_THREAD_STACK_SIZE properly in rtos mbed_lib.json
Lingkai Dong
committed
on 15 May 2020
|
2020-04-17 |
Removed Toshiba target AdBun-M066, M3H6 and M3HQ.
...
---
AdBun-M066
Removed from targets.json
https://github.com/ARMmbed/mbed-os/blob/5d64e558801940b3be547c3d059f28eaabc23f95/targets/targets.json#L12900-L12941
Deleted directory
https://github.com/ARMmbed/mbed-os/tree/master/targets/TARGET_TOSHIBA/TARGET_TMPM066
Removed from mbed_rtx.h
https://github.com/ARMmbed/mbed-os/blob/5d64e558801940b3be547c3d059f28eaabc23f95/targets/TARGET_TOSHIBA/mbed_rtx.h#L23-L33
---
AdBun-M3H6
Removed from targets.json
https://github.com/ARMmbed/mbed-os/blob/5d64e558801940b3be547c3d059f28eaabc23f95/targets/targets.json#L13465-L13507
Deleted directory
https://github.com/ARMmbed/mbed-os/tree/master/targets/TARGET_TOSHIBA/TARGET_TMPM3H6
Removed from mbed_rtx.h
https://github.com/ARMmbed/mbed-os/blob/5d64e558801940b3be547c3d059f28eaabc23f95/targets/TARGET_TOSHIBA/mbed_rtx.h#L47-L53
---
AdBun-M3HQ
Removed from targets.json
https://github.com/ARMmbed/mbed-os/blob/5d64e558801940b3be547c3d059f28eaabc23f95/targets/targets.json#L14159-L14208
Deleted directory
https://github.com/ARMmbed/mbed-os/tree/master/targets/TARGET_TOSHIBA/TARGET_TMPM3HQ
Removed from mbed_rtx.h
https://github.com/ARMmbed/mbed-os/blob/5d64e558801940b3be547c3d059f28eaabc23f95/targets/TARGET_TOSHIBA/mbed_rtx.h#L63-L69
---
Deepak Shreshti
committed
on 17 Apr 2020
|
2020-01-03 |
TOSHIBA: Add hal_reset_reason_get_capabilities()
...
Override the default, weak implementation of
hal_reset_reason_get_capabilities() for TMPM066, TMPM3H6, TMPM3HQ,
TMPM46B & TMPM4G9.
Filip Jagodzinski
committed
on 3 Jan 2020
|
2019-12-06 |
Resolved linker issue
Deepak V. Shreshti
committed
on 6 Dec 2019
|
Added SPDX identifier License
Deepak V. Shreshti
committed
on 6 Dec 2019
|