Kevin Bracey
171e575b94
Assert MPU regions, rather than error
...
As we build for a specific CPU, a runtime check for number of MPU
regions in release builds is not worthwhile. Make it an assert only.
Saves a little space in develop images, a lot in release.
2018-12-12 15:12:49 +02:00
Kevin Bracey
9e300013e5
MPU - use higher-level calls, fix ARMv8-M error
...
Switch to higher-level calls and macros, and fix an error in the ARMv8-M
version - "inner" attributes were not being set correctly due to a
copy/paste error - "outer" was being set twice.
This means RAM would have been marked WTRA rather than WBWA for the
inner cache.
Slightly reduces ARMv7-M init code size by feeding region number
into RBAR instead of using RNR.
2018-12-12 15:12:49 +02:00
Kevin Bracey
2b5518a3d8
Reduce dynamic MPU code size with a loop
2018-12-11 18:59:59 +02:00
Kevin Bracey
e585eac31b
Fix MPU synchronisation
...
Synchronisation instructions were not quite right - too strict on entry,
and not quite correctly synchronising the instruction stream on exit.
References:
* https://static.docs.arm.com/dai0321/a/DAI0321A_programming_guide_memory_barriers_for_m_profile.pdf
* https://static.docs.arm.com/100699/0100/armv8m_architecture_memory_protection_unit_100699_0100_00_en.pdf
2018-12-11 18:59:59 +02:00
Kevin Bracey
842587ddb5
Save ROM by specifying initial MPU state
...
We can omit the need for the "change MPU state" calls from simple images
by specifying the initial state at init.
2018-12-10 15:53:34 +02:00
Martin Kojtal
4491d1922b
Merge pull request #8956 from c1728p9/don't_ignore_early_interrupts
...
Update Ticker wrapper to handle early interrupts
2018-12-05 10:40:08 +01:00
Martin Kojtal
6edc81ddae
Merge pull request #8873 from kfnta/psa_spm_docs
...
PSA-SPM documentation follow-up
2018-12-04 15:38:45 +01:00
Russ Butler
3f06911782
Update Ticker wrapper to handle early interrupts
...
Update the LowPowerTickerWrapper class to handle rather than ignore
early low power ticker interrupts. This ensures that devices don't get
stuck in sleep due to a ignored early low power ticker interrupt.
2018-12-03 17:55:22 -06:00
Martin Kojtal
406f9508d3
hal: add spdx license
2018-11-28 10:39:51 +00:00
Oren Cohen
11567cdf30
set proper groups for spm and HAL
2018-11-28 12:17:37 +02:00
Oren Cohen
3629e002ee
Fix PSA-SPM Documentation
2018-11-28 12:17:36 +02:00
Martin Kojtal
52822cb8af
Merge pull request #8871 from c1728p9/mpu
...
MPU API (Reopened)
2018-11-28 10:28:32 +01:00
Russ Butler
7cdfbee28b
Fix asyle problems
...
Run astyle to fix CI failures.
2018-11-27 09:29:33 +00:00
Russ Butler
1821d37621
Overhaul MPU for new requirements
...
Make the following changes:
-Allow a vector specific ARM MPU driver by defining MBED_MPU_CUSTOM
-Allow ROM address to be configured for ARMv7-M devices by
setting the define MBED_MPU_ROM_END
-Add ROM write protection
-Add new functions and lock
-enable at boot
-disable during flash programming
2018-11-27 09:29:32 +00:00
Russ Butler
7283f9b0ee
Add a formal HAL specification for the MPU API
...
Add a formal HAL specification consisting of:
-defined and undefined behavior
-test descriptions
-enable doxygen for MPU
2018-11-27 09:29:32 +00:00
Russ Butler
a4aa5eaf93
Add v8m MPU
...
Add a driver for the v8m MPU.
2018-11-27 09:29:32 +00:00
Russ Butler
d00f59fdc8
Rework MPU layout for future changes
...
Create a dedicated MPU directory for standard Arm MPU implementations
in preparation for the Arm v8m MPU. Replace MBED_MPU_ENABLED with
DEVICE_MPU to align with the porting layer of other HAL APIs.
2018-11-27 09:29:31 +00:00
Russ Butler
0f5b9eaf94
Add an initial MPU API
...
Add a minimalistic HAL MPU API with the ability to prevent execution
in ram.
2018-11-27 09:29:31 +00:00
Amanda Butler
34bcf6b1f0
Edit spm_api.h
...
Edit file, mostly for minor grammar and style changes.
2018-11-27 09:16:48 +02:00
Oren Cohen
773ac8dd95
CR fixes
2018-11-27 09:16:45 +02:00
Oren Cohen
dd73fa689c
PSA SPM
...
* Intorduce PSA-SPM to mbed-os
* Add SPM tests (for PSA targets)
* Add PSA PRoT internal storage Secure implementation
* Integrate SPM into the boot proccess
* PSA manifest data generator
* Introduce PSA targets skeleton to mbed-os
* Add artifact delivery to the tools
2018-11-27 09:16:35 +02: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
5ed07c2dd4
Merge pull request #8328 from kjbracey-arm/noreturn
...
Error path tightening: use MBED_NORETURN; add+use core_util_atomic_flag
2018-10-29 20:49:54 -05:00
Kevin Bracey
0b27736536
Remove sleep manager tests that trigger mbed_error
...
Intercepting mbed_error will be too hard after mbed_error becomes
[[noreturn]], so remove tests that do this.
2018-10-29 13:58:05 +02:00
Cruz Monrreal
3f5eeac29d
Merge pull request #8279 from fkjagodzinski/fix-lp_ticker_wrapper-suspend
...
Fix LowPowerTickerWrapper operation when suspended
2018-10-26 11:39:12 -05:00
Martin Kojtal
4b3a031087
low power ticker: fix astyle
2018-10-25 09:58:17 +01:00
Filip Jagodzinski
effabc5271
lp ticker wrapper: Add undefined behavior warning
2018-10-19 17:32:31 +02:00
Filip Jagodzinski
023603faa7
Fix LowPowerTickerWrapper operation when suspended
...
Update the LowPowerTickerWrapper class logic to stop using its internal
Timeout object for scheduling LP ticker interrupts after the wrapper has
been suspended.
Fixes #8278
2018-10-19 17:30:47 +02:00
Filip Jagodzinski
f2c222be15
Tests: SleepManager: extend test suite
...
New test cases:
* "deep sleep lock/unlock"
* "deep sleep unbalanced unlock"
* "deep sleep locked USHRT_MAX times"
* "deep sleep locked more than USHRT_MAX times"
* "sleep_auto calls sleep/deep sleep based on lock"
2018-10-09 17:52:42 +02:00
Martin Kojtal
962273c4a1
Merge pull request #8029 from OpenNuvoton/nuvoton_fix_lpticker_wrapper
...
Fix issues with LowPowerTickerWrapper
2018-09-19 13:44:40 +02:00
Martin Kojtal
3d94fb889b
Merge pull request #7903 from tkem/fix/cleanup-include-paths
...
Clean up include paths.
2018-09-19 12:16:09 +02:00
Martin Kojtal
9abcbf6acf
Merge pull request #7901 from deepikabhavnani/warning_fix
...
Compiler Warning fixes
2018-09-17 14:29:15 +02:00
ccli8
5b90b4ca97
Fix issues with LowPowerTickerWrapper
...
1. Complement _ticker_match_interval_passed with '_last_set_interrupt == _cur_match_time' for pass check
2. Fix 'too close' check with _min_count_until_match
2018-09-07 15:04:54 +08:00
Deepika
4d7fdfc2a9
Use MbedCRC for LittleFS (0xEDB88320)
...
CRC used in LittleFS is Reversed ANSI, hence new polynomial added.
Reversed polynomials perform shift in reverse direction of standard
polynomial, and we do not have option to notify reverse shift to hardware.
Hence this option is available in software only.
2018-09-02 15:25:40 -05:00
Thomas Kemmer
a16c374725
Clean up include paths.
2018-08-27 20:47:19 +02:00
Deepika
64d3bd8199
Fixed: comparison between signed and unsigned integer expressions
2018-08-27 10:34:58 -05:00
Cruz Monrreal
2f8e679183
Merge pull request #7592 from orenc17/remove_uvisor
...
Remove uVisor from mbed-os
2018-08-25 19:52:24 -05:00
Oren Cohen
787317b7eb
Remove uVisor from mbed-os
2018-08-22 16:36:59 +03:00
Maciej Bocianski
883ea2f1d1
astyle fixes on QSPI API/driver/tests
2018-08-22 15:02:15 +02:00
Martin Kojtal
d444abcc96
QSPI: fix doxy hal documentation
2018-08-22 15:02:02 +02:00
Martin Kojtal
99f2107881
QSPI: hal doxygen fixes
...
Small corrections, fixing typos in the documentation
2018-08-22 15:00:15 +02:00
Martin Kojtal
784c473f63
QSPI HAL: add disabled flag to format phase
...
If phase is being skipped, set disabled to true, otherwise false.
2018-08-22 15:00:08 +02:00
Martin Kojtal
1d234aade4
QSPI HAL: fix alternative comment
2018-08-22 15:00:06 +02:00
Senthil Ramakrishnan
2df58e2d25
Modify QSPI HAL API to include an API for command-transfer operations
2018-08-22 14:59:59 +02:00
Martin Kojtal
a3c8117b0e
QSPI: fix command declaration names
2018-08-22 14:59:58 +02:00
Martin Kojtal
10e7b5f6d0
QSPI: improve mode documentation
...
SPI mode means Clock polarity and phase mode (0 - 3)
2018-08-22 14:59:57 +02:00
Martin Kojtal
4564383ba8
QSPI: change length to be in/out parameter
...
This provides a way to return how many bytes have been written/read (as status codes
are returned via func ret value)
2018-08-22 14:59:57 +02:00
Martin Kojtal
510d743051
QSPI: fix address/alt variable sizes (can be skipped)
...
Fixing by adding NONE values for both
2018-08-22 14:59:56 +02:00
Martin Kojtal
b3037afae4
QSPI HAL addition
...
Adding new QSPI HAL header file. This should help to use memory-maped devices
as memories, graphical displays.
The API consist of few functions, most important are read/write/write_command functions.
The command format is:
```
----------------------------------------------
| Instruction | Address | Alt | Dummy | Data |
----------------------------------------------
```
We define only synch API at the moment.
2018-08-22 14:59:56 +02:00
Cruz Monrreal
e02466a77a
Merge pull request #7524 from c1728p9/tickless_fix
...
Fixes for tickless and LPTICKER_DELAY_TICKS
2018-08-21 10:03:41 -05:00