Commit Graph

480 Commits (cae7427717c5b51a9b73b636fcbcbf96645ce959)

Author SHA1 Message Date
Chun-Chieh Li 3d905b0607 [NUC472] Override wait_ns(...) to provide more accurate implementation
NUC472 series doesn't support cache but supports branch buffer. But it still
cannot provide zero-wait state flash performance.
2019-07-08 17:52:26 +08:00
Chun-Chieh Li 2b9ee2a93f [NANO130] Override wait_ns(...) to provide more accurate implementation
NANO100 series doesn't support cache and so cannot provide zero-wait state
flash performance.
2019-07-08 17:52:26 +08:00
Chun-Chieh Li a03985ea43 [M2351] Refine wait_ns(...) code
1.  Add missing header file for mbed_mpu_manager_lock_ram_execution()/
    mbed_mpu_manager_unlock_ram_execution() to avoid compile warning.
2.  Locate delay_loop_code() on 16-byte boundary (sync to common version).
3.  Optimize delay_loop macro (sync to common version).
2019-07-08 17:51:49 +08:00
Martin Kojtal ccb63d771e
Merge pull request #10857 from ARMmbed/feature-watchdog
Add Watchdog and ResetReason
2019-07-03 11:43:52 +01:00
Anna Bridge ac274833f0
Merge pull request #10741 from OpenNuvoton/nuvoton_m2351_wait-ns
M2351: Override wait_ns to provide more accurate implementation
2019-06-19 12:22:56 +01:00
Chun-Chieh Li 016ab2a417 [Nuvoton] Fix channel release in analogout_free() 2019-06-13 18:11:50 +08:00
Chun-Chieh Li 197b328944 [M2351] Override wait_ns to provide more accurate implementation
At high HCLK rate, M2351 cannot provide zero-wait-state flash performance. Besides,
cache is forcibly turned off for non-secure land for internal reason. We locate
'delay_loop_code' from flash to SRAM to achieve zero-wait-state performance.
2019-06-03 16:47:14 +08:00
Chun-Chieh Li 010f4225a0 [M487] Fix wait_ns test failed 2019-06-03 11:28:26 +08:00
Rajkumar Kanagaraj 50c6e9f481 Added the SPDX identifier 2019-05-24 12:32:53 +02:00
ccli8 84440531f1 [Nuvoton] Support watchdog timer 2019-05-24 12:20:01 +02:00
ccli8 6e514b6e08 [Nuvoton] Support reset reason 2019-05-24 11:35:44 +02:00
ccli8 717979075f [NUC472] Fix WDT driver in BSP 2019-05-24 11:35:43 +02:00
Martin Kojtal 3ea1c56124
Merge pull request #10147 from kjbracey-arm/atomic_bitwise
Assembler atomics
2019-05-13 14:18:05 +01:00
ccli8 fcab482357 [NANO130] Fix optimization error with NVIC_SetVector/NVIC_GetVector on ARMC6
On ARMC6 with optimization level "-Os", the two functions NVIC_SetVector/NVIC_GetVector
will be translated to illegal instruction for trapping due to NVIC_FLASH_VECTOR_ADDRESS
defined as direct 0. Fixed by defining NVIC_FLASH_VECTOR_ADDRESS as a symbol instead to
avoid such optimization error.
2019-05-08 10:25:36 +08:00
Martin Kojtal b895bf6349
Merge pull request #10401 from OpenNuvoton/nuvoton_nuc472_fix_crash_capture
NUC472: Support crash capture for no-XRAM configuration
2019-04-30 14:54:05 +01:00
Kevin Bracey 87396e0bf6 Assembler atomics
Reimplement atomic code in inline assembly. This can improve
optimisation, and avoids potential architectural problems with using
LDREX/STREX intrinsics.

API further extended:
* Bitwise operations (fetch_and/fetch_or/fetch_xor)
* fetch_add and fetch_sub (like incr/decr, but returning old value -
  aligning with C++11)
* compare_exchange_weak
* Explicit memory order specification
* Basic freestanding template overloads for C++

This gives our existing C implementation essentially all the functionality
needed by C++11.

An actual Atomic<T> template based upon these C functions could follow.
2019-04-26 13:12:35 +03:00
ccli8 61271d0df6 [NUC472] Get around unknown error with power-down
On NUC472, on wake-up from power-down mode, we may meet hard fault or some other
unknown error. Before its cause is found, we enter idle mode instead for a workaround.
To simulate power-down mode with idle mode, we also disable us_ticker during
power-down period.
2019-04-17 16:47:22 +08:00
ccli8 faa28b5280 [NUC472] Support crash capture for no-XRAM configuration 2019-04-15 13:32:53 +08:00
Martin Kojtal 4d56b94686
Merge pull request #10349 from studavekar/fix-nuvonton-crash-data
Fix crash capture feature for nuvoton
2019-04-12 14:13:58 +01:00
Shrikant Tudavekar 53ae5fea87 removed the redundant RW_IRAM1 region 2019-04-10 10:59:17 -05:00
Shrikant Tudavekar 3ee1498b57 crash data support for NUC472 with gcc_arm 2019-04-10 10:31:39 -05:00
Shrikant Tudavekar 9d5617c54a crash data support for NUC472 with armcc 2019-04-10 10:30:22 -05:00
Cruz Monrreal 73f1edd6db
Merge pull request #10004 from OpenNuvoton/nuvoton_m2351_fix-memory-partition
M2351: Support memory custom partition
2019-04-09 14:03:18 -05:00
Shrikant Tudavekar 3769ec4acc place crash data region at end of IRAM 2019-04-09 13:34:18 -05:00
Shrikant Tudavekar 4b182b92f1 enable crash capture for NUMAKER_PFM_NUC472 2019-04-08 15:36:28 -05:00
Shrikant Tudavekar 197b85e2fe create a region instead of a block for crash data 2019-04-08 15:22:59 -05:00
ccli8 be96ade527 [Nuvoton] Add button names BUTTON1/BUTTON2 2019-03-26 17:05:43 +08:00
ccli8 8ca16c4c85 [M2351] Add license header 2019-03-12 09:34:07 +08:00
ccli8 14775cb123 [M2351] Refactor for memory partittion support
Add partition_M2351_mem.h/partition_M2351_mem.icf to centralize memory partition
2019-03-08 09:48:49 +08:00
ccli8 894f71e855 [M2351] Fix preprocessor command line in ARMC6 .sct file 2019-03-07 16:28:38 +08:00
ccli8 c0bba7475f [M2351] Rename TOOLCHAIN_ARM_STD TOOLCHAIN_ARMC6
This is to express ARMC6 toolchain support more explicitly.
2019-03-07 16:28:36 +08:00
ccli8 26ff0677dc [M2351] Remove unnecessary toolchain directory TOOLCHAIN_ARM_MICRO 2019-03-07 16:28:33 +08:00
deepikabhavnani 75040535ed Addressed review comments to correct size values 2019-02-28 19:54:38 -06:00
deepikabhavnani 0dc5561991 Guard RAM start and size defines 2019-02-28 19:54:38 -06:00
deepikabhavnani 2a192509c3 Target_NUVOTON: 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:38 -06:00
Cruz Monrreal e6caa122cb
Merge pull request #9812 from kjbracey-arm/wait_ns
Add wait_ns API
2019-02-28 18:21:46 -06:00
Kevin Bracey 66dea08c0f M2351: include core_cm23.h
Nuvoton M2351 was including generic core_armv8mbl.h from CMSIS - we
need it to be more specific to identify the specific core for
wait_ns. Change to core_cm23.h.
2019-02-26 17:30:51 +02:00
Deepika b2e189f453 Target_Nuvoton: Remove target specific implementation of _sbrk 2019-02-19 15:49:49 -06:00
Przemyslaw Stekiel e60a0f46e4 Remove duplicated _mbed_user_setup_stackheap, __rt_lib_init definitions.
Few targets already used 2-region memory model.
2019-02-19 15:46:32 -06:00
Cruz Monrreal 1712a2b76c
Merge pull request #9656 from OpenNuvoton/nuvoton_m2351_fix-crypto-ac-mgmt
M2351: Fix crypto AC management
2019-02-11 18:46:48 -06:00
ccli8 99dd189177 [Nuvoton] Remove unnecessary header files in crypto-misc.cpp 2019-02-11 18:10:51 +08:00
ccli8 8988b6e9db [M2351] Hook crypto interrupt handler without NVIC_SetVector 2019-02-11 14:21:41 +08:00
ccli8 267f62e928 [M2351] Fix crypto AC mgmt
Port of NUC472/M487 crypto AC mgmt work to M2351:
1. Choose mutex to synchronize access to crypto non-SHA AC
2. Choose atomic flag to synchronize access to crypto SHA AC
2019-02-11 13:36:15 +08: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 7e8695a2c5 Add HAL API for can pinmap
Add the functions can_rd_pinmap and can_td_pinmap to all targets.
2019-02-08 09:10:10 -06:00
Russ Butler 3bd3aca6db Add HAL API for analog out pinmap
Add the function analogout_pinmap to all targets.
2019-02-08 09:10:05 -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