Marcus Chang
71a2a39445
Fix ITM on NRF52 series
...
The ITM must be initialized before the SoftDevice, but due to the
lazy initialization in C++ on (at least) GCC the ITM init call
might happen too late.
This commit moves the initialization code into the NRF52 system
startup file.
2018-07-27 13:38:58 -05:00
Marcus Chang
87aa896e8a
Fix linker script for NRF52832/IAR
...
IAR linker script was using memory settings from the NRF52840 and
not the NRF52832.
2018-07-27 13:38:55 -05:00
Christopher Haster
094268eddc
Remove LoRaWAN license from top-level directory
2018-07-27 13:38:55 -05:00
Jimmy Brisson
0cf7b7e267
Disable make_armc6 on v8m
2018-07-27 13:30:08 -05:00
Jimmy Brisson
decdc9344f
Correct uvision exporter support check
2018-07-27 13:30:08 -05:00
Jimmy Brisson
3924c7721c
Allow ARMC6 only mbed 5 releases
2018-07-27 13:30:08 -05:00
Deepika
69a67297d3
Support only ARMC6 toolchain
...
Support for GCC_ARM/IAR toolchains are TODO.
2018-07-27 13:30:08 -05:00
Deepika
0c304f0677
Adding missing ENDP for ARM
2018-07-27 13:30:08 -05:00
ccli8
ee0806d0de
Remove M2351KIAAEES from iar_definitions.json
...
M2351 doesn't support IAR yet.
2018-07-27 13:30:08 -05:00
ccli8
480a2fe9c5
Fix binary-compatible across compilers in secure functions
...
1. Rename m2351_stddriver_sup.h/c to stddriver_secure.h/.c for naming consistency
2. Add hal_secure.h to include hal-exported secure functions
3. Change return/argument type in secure functions:
(1) Change int to int32_t
(2) Change PinName to int32_t
(3) Change time_t to int64_t
4. Update secure lib/bin accordingly
2018-07-27 13:30:08 -05:00
Jimmy Brisson
256d94bef4
Update compiler check to allow only v6 for OS 5
2018-07-27 13:30:07 -05:00
ccli8
b1955948b7
Support configurable for partitioning flash/SRAM
2018-07-27 13:30:07 -05:00
ccli8
b3c47a1a5d
Place default secure binary/library
2018-07-27 13:30:07 -05:00
Jimmy Brisson
f22d164ad1
Add `Mxx_NS` core-based labels
2018-07-27 13:30:07 -05:00
ccli8
0f28bcac50
Fix include file name error on case-sensitive system
2018-07-27 13:30:07 -05:00
ccli8
e1a6d9f47f
Synchronize lp_ticker code to us_ticker
...
This is to make us_ticker/lp_ticker code consistent.
2018-07-27 13:30:07 -05:00
ccli8
23ba1da5c3
Remove special handling for dummy interrupt in lp_ticker
...
It is because dummy interrupt is very rare or pending time caused by it
is very short.
2018-07-27 13:30:07 -05:00
ccli8
aea8f6161f
Remove NUMAKER_PFM_M2351_S/_NS targets
2018-07-27 13:30:07 -05:00
ccli8
5eb07dc84d
Allow non-secure main thread to call secure functions
2018-07-27 13:30:07 -05:00
ccli8
974c52b416
Fix Greentea test code with Cortex-M23/M33
...
Enlarge stack size of forked thread for Cortex-M23/M33 targets
2018-07-27 13:30:07 -05:00
ccli8
4bb1f28fed
Upgrade chip version to B from A
...
There is a reset halt issue with PLL in A version.
To switch back to A version for some reason, define NU_CHIP_MAJOR to 1.
2018-07-27 13:30:07 -05:00
ccli8
e9a7d88456
Change pinout to meet NuMaker-PFM-M2351 V1.1
2018-07-27 13:30:07 -05:00
ccli8
ae64129c47
Change secure flash/SRAM to 256KB/32KB as default
...
This is to compilant with CMSIS pack.
2018-07-27 13:30:07 -05:00
ccli8
f268b12ba2
Change secure/non-secure stack/heap size
...
1. Change RTOS-less main stack/RTOS ISR stack size to 2KiB
2. Change secure/non-secure heap size to 16KiB/32KiB for IAR
2018-07-27 13:30:07 -05:00
ccli8
9fac970523
Meet new RTC HAL spec (Mbed OS 5.9)
...
1. Power down RTC access from CPU domain in rtc_free. After rtc_free, RTC gets
inaccessible from CPU domain but keeps counting.
2. Fix RTC cannot cross reset cycle.
2018-07-27 13:30:07 -05:00
ccli8
d5d8c233d0
Meet new lp_ticker HAL spec (Mbed OS 5.9)
...
1. Add LPTICKER in device_has option of targets.json file.
2. Disable interrupt in lp_ticker_init
3. Add lp_ticker_free
4. Enable interrupt in lp_ticker_set_interrupt/lp_ticker_fire_interrupt
5. Disable interupt in ISR
2018-07-27 13:30:07 -05:00
ccli8
543f72d7bd
Meet new us_ticker HAL spec (Mbed OS 5.9)
...
1. Add USTICKER in device_has option of targets.json file.
2. Disable interrupt in us_ticker_init
3. Add us_ticker_free
4. Enable interrupt in us_ticker_set_interrupt/us_ticker_fire_interrupt
5. Disable interrupt in ISR
2018-07-27 13:30:07 -05:00
ccli8
18ce2e1b6b
Add secure gateway functions SYS_LockReg_S/SYS_UnlockReg_S
2018-07-27 13:30:07 -05:00
ccli8
c91f71b0dc
Add SD pinmap
2018-07-27 13:30:07 -05:00
ccli8
754589b6a6
Default MBED_TZ_DEFAULT_ACCESS to 1 to control secure SYS/CLK regions from non-secure threads
...
To initialize/uninitialize H/W module, we need to control secure SYS/CLK regions through secure functions.
For a new thread to call these secure functions, we need to allocate secure context for it.
2018-07-27 13:30:07 -05:00
ccli8
0e6a76f113
Replace __attribute__((cmse_nonsecure_entry)) with compiler agnostic __NONSECURE_ENTRY
2018-07-27 13:30:07 -05:00
ccli8
07b21b42e5
Support TrustZone and bootloader for IAR
2018-07-27 13:30:07 -05:00
ccli8
ad5772a425
Fix part number in IAR export
2018-07-27 13:30:07 -05:00
ccli8
f6642cbfd3
Add consistency check for CRYPTO/CRPT's secure attribute and TRNG/Mbed TLS H/W
2018-07-27 13:30:06 -05:00
ccli8
5839431812
Remove dead code with '#if 0' in SPI
2018-07-27 13:30:06 -05:00
ccli8
d611a3c9b0
Add GPIO debounce configuration in targets.json
2018-07-27 13:30:06 -05:00
ccli8
b1b57d24af
Support PWM out
2018-07-27 13:30:06 -05:00
ccli8
6b811afb73
Support analog-in
2018-07-27 13:30:06 -05:00
ccli8
bce2b6460d
Support TRNG
...
To change TRNG security state, we need to:
1. Change CRPT/CRYPTO bit in NVIC/SCU in partition_M2351.h
2. Add/remove TRNG in device_has list in targets.json to match partition_M2351.h
2018-07-27 13:30:06 -05:00
ccli8
b86c957c0d
Centralize size configuration for secure flash, secure SRAM, NSC, and bootloader
2018-07-27 13:30:06 -05:00
ccli8
3950b12a82
Change NSC location
...
NSC location has the following requirements:
1. By IDAU, 0~0x4000 is secure. NSC can only locate in 0x4000~0x10000000.
2. Greentea flash IAP uses last 4 sectors for its test. Avoid this range.
3. Greentea NVSTORE uses last 2 sectors or 4KB x 2 for its test. Avoid this range.
2018-07-27 13:30:06 -05:00
ccli8
1e7b6eec89
Upgrade partition format
...
Following BSP, this upgrade makes partitioning flash/SRAM clear.
flash_api.c relies on flash partition, so it is updated accordingly.
2018-07-27 13:30:06 -05:00
ccli8
d2f5548269
Fix page size in flash IAP
...
In Mbed OS, page size is program unit, which is different than FMC definition.
After fixing page size, we can pass NVSTORE test (mbed-os-features-nvstore-tests-nvstore-functionality).
2018-07-27 13:30:06 -05:00
ccli8
3ac5e48d40
Support flash IAP
2018-07-27 13:30:06 -05:00
ccli8
68b8db1a1e
Add missing delay in lp_ticker
2018-07-27 13:30:06 -05:00
ccli8
c34d8aeab2
Trim HIRC48 to 48M against LXT
2018-07-27 13:30:06 -05:00
ccli8
c7ed684285
Support I2C
2018-07-27 13:30:06 -05:00
ccli8
ffe1e23ba0
Support SPI
2018-07-27 13:30:06 -05:00
ccli8
a8ed3ff5cd
Refine UART code
...
1. Replace SYS_ResetModule/CLK_SetModuleClock/CLK_EnableModuleClock/CLK_DisableModuleClock with TrustZone-aware versions.
2. Configure all UART to secure
3. Support asynchronous transfer
4. Remove sleep management code, which has been replaced with Sleep Manager.
2018-07-27 13:30:06 -05:00
ccli8
61a021ca9a
Support PDMA
2018-07-27 13:30:06 -05:00