Skip to content

Analog_Devices: Add armc6 features #5540

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 439 commits into from
Closed

Analog_Devices: Add armc6 features #5540

wants to merge 439 commits into from

Conversation

li-ho
Copy link

@li-ho li-ho commented Nov 21, 2017

Notes:

  • Pull requests will not be accepted until the submitter has agreed to the contributer agreement.
  • This is just a template, so feel free to use/remove the unnecessary things

Description

A few sentences describing the overall goals of the pull request's commits.

Status

READY

Migrations

If this PR changes any APIs or behaviors, give a short description of what API users should do when this PR is merged.

NO

Related PRs

List related PRs against other branches:

PR #5144
PR #5137

Todos

  • [ X] Tests
  • Documentation

Deploy notes

Notes regarding the deployment of this PR. These should note any required changes in the build environment, tools, compilers and so on.

Steps to test or reproduce

mbed test -t armc6 -m EV_COG_AD3029LZ --compile
mbed test -t armc6 -m EV_COG_AD4050LZ --compile
mbed test -t arm -m EV_COG_AD3029LZ --compile
mbed test -t arm -m EV_COG_AD4050LZ --compile
mbed test -t iar -m EV_COG_AD3029LZ --compile
mbed test -t iar -m EV_COG_AD4050LZ --compile
mbed test -t gcc_arm -m EV_COG_AD3029LZ --compile
mbed test -t gcc_arm -m EV_COG_AD4050LZ --compile

mgiaco and others added 30 commits October 20, 2017 16:18
In test_case_2x_callbacks two tickers are setup to repeatedly
reschedule each other. When these tickers are deleted this
rescheduling is still occurring and can lead to a deleted ticker
being scheduled.

When this happens the following error message is displayed:
Thread 0x0 error -6: Not allowed in ISR context

Note - this problem was not detected by CI since the test reported
the correct results back to the host test and only experienced this
error on tear down.

This problem can be reproduced on an nrf51 by first building the ticker
test with:
"mbed test -t GCC_ARM -m NRF51_DK -n tests-mbed_drivers-ticker
--compile -DMBED_TRAP_ERRORS_ENABLED=1
-DMBED_HEAP_STATS_ENABLED=1 -DMBED_STACK_STATS_ENABLED=1"

And then running testing with:
"mbed test -t GCC_ARM -m NRF51_DK -n tests-mbed_drivers-ticker --run"
The use of mktime was causing a fault when called in interrupt handler because on GCC it lock the mutex protecting the environment, To overcome this issue, this patch add dedicated routine to convert a time_t into a tm and vice versa.
In the process mktime has been optimized and is now an order of magnitude faster than the routines present in the C library.
1. Remove stale code with mbed OS 3.
2. Remove check for busy peripherals unorganizedly. This would be supported by e.g. official sleep manager.
1. Remove stale code with mbed OS 3.
2. Remove check for busy peripherals unorganizedly. This would be supported by e.g. official sleep manager.
These power-down code are stale and would be superseded by sleep manager.
Implement 100% function coverage for WifiInterface as specified
in "Wifi test plan"
Wifi connections and scanning takes long time. 2 minutes might not be enough.
Cannot include header file witin a function (without severe side effects)
The following configs were no longer necessary for RTX5.
    OS_TASKCNT
    OS_MAINSTKSIZE
    OS_CLOCK

Signed-off-by: Tony Wu <[email protected]>
Fix ARMC6 guard typo introduced in commit 4f3f0cc (Make Realtek link)

While at it, remove redundant ISR_STACK_SIZE assignment for ARMCC.

Signed-off-by: Tony Wu <[email protected]>
The constructor doc incorrectly suggested that only short (16-bit)
UUIDs were accepted. The same doc also referred to properties
instead of characteristics. (And to "value length", which seemed to
be completely out of place in the context of the current code.)
bcostm and others added 27 commits November 17, 2017 14:55
For api usage like DigitalOut led(LED1, 1) the hal function gpio_write()
sets the output before f. gpio_mode() is called. gpio_mode() clears the
output as it take never writen parameters (gpio_cfg_t.init_hight).

This patch use internal hardware register of GPIO output instedad of above paramiter latch
for retaining proper writen state.
Make minor copy edits, mostly for active voice and U.S. spelling.
LowPoterTimer test gives sometimes failed result while testing measured time accumulation. The check which verifies if total number of elapsed milliseconds is valid fails. Test assumes that delta value equal to 1 ms is sufficient for all test cases, which is not true since in case where time measurement is performed few times in sequence the measurement error also accumulates and 1 ms might be not enough. To solve this problem delta value for milliseconds tests must be updated.
Move Timer test to TESTS/mbed_drivers/ directory which is more suitable.
Fix few comments which are incorrect.
Use more relevant ASERT macros.
Issue: #5468
Increased DELTA value for Timer and Low Power Timer tests.
Initial commit of mbed TLS hardware acceleration drivers for Silicon Labs parts
* Use _C flags at compile time in SHA to avoid compiling in unconfigured features
* Don't define ECP_SHORTWEIERSTRASS since it is part of the application's configuration
Fixed issues raised from ARM PR review and removed the unsupported platform.

- Fixed an issue where the TRNG is read even though it may not be ready;
- Added configuration to ensure the buffering mode is disabled so only 8-bit bytes are generated;
- Moved the TRNG device handle into the trng_t structure.

Removed undefined spi slave related functions.

- Added error checking for trng_get_bytes function;
- Added curly brackets to single line conditions for some files;
- Changed rx and tx buffers in serial module as local variables;
- Removed some unused code and some minor formatting corrections;
- Minor i2c & spi updates for github pull request;
- Added function definition for spi_master_block_write.

Added default delay and sample times for the ADC during initialization.

- Added code to clear stack variable in trng_get_bytes upon exiting the
function;
- Remove lp ticker functionality as the timer hardware does not satisfy
lp timer requirements.

Added a check for the STUCK bit before reading the RNG data register to ensure there are no hardware faults.

- Removed .mbedignore to work around some exporter issues;
- Added #includes to some of the driver data C files for them to build on their own.
Release candidate for mbed-os-5.6.5
@li-ho
Copy link
Author

li-ho commented Nov 21, 2017

Test results are available in ev-cog-armc6.zip.

@li-ho
Copy link
Author

li-ho commented Nov 21, 2017

Sorry, this branch is based on tag. I''ll create another branch which is based on master.

@li-ho li-ho closed this Nov 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.