-
Notifications
You must be signed in to change notification settings - Fork 3k
Mbed os 5.2 #7754
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
Closed
Mbed os 5.2 #7754
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Update MBED_LIBRARY_VERSION to 128
Changes from 5.1 to 5.2
Update README.md
Signed-off-by: Mahadevan Mahesh <[email protected]>
… than setting the clock mode. Signed-off-by: Mahadevan Mahesh <[email protected]>
…HAL drivers after updates to the mbed startup code Signed-off-by: Mahadevan Mahesh <[email protected]>
# Conflicts: # hal/targets/hal/TARGET_NORDIC/TARGET_NRF5/serial_api.c # hal/targets/hal/TARGET_NORDIC/TARGET_NRF5/us_ticker.c
…uce size of no-init section to precisely fit to size of vector in RAM.
…" includes from "target cmsis" sources move form the path target/cmsis... and rename dispatch_IRQn_handler.c to the path target/.. and beter name.
…1822 targets. Applied proper changes to ARM5's scatter files of nRF5 regular targets. Improvement: Remove hardcoding of FLASH vector address, now FLASH vector address is imported form linker to C code. Signed-off-by: Andrzej Puzdrowski <[email protected]>
…ve to one IAR startup code for both varaint of RAM (16 KB & 32 KB).
…y rebase). ad applied them to to regular targets. Fix a typo and polish nordic's code.
…c and gpio_irq_api.c
Thanks to @EduardPon for hunting this down
An active IRQ from the FPU can prevent the micro to go to sleep, even if this IRQ is not enabled and not implemented. As a workaround, the FPU IRQ is cleared before enterring sleep.
Before, the get_config function was checking the equality of a set and a list. However the list's equality depends on order, so this change casts it to set to prevent an infinite loop.
Initially these assertions were added to protected simultaneous send/recv from the same socket when similarly purposed mutexes were removed. However, simultaneous send/recv can still be useful for UDP if the payload is guaranteed to be less than the MTU across the entire connection.
Instead of direct registers access, let's use HAL API. This makes the code more generic accross STM32 families.
so that it can be used as well in sync mode
No need to store the init status of each IP. Init can be called again in case we try to recover.
With this commit we define I2C irq handlers that can be used by the driver in sync mode. This also provides a mecanism for enabling and/or disabling these handlers Those handlers will be superseded by MBED ones in case of async mode usage.
With this new implementation, the slave use the Interrupt to be notified of a request from master, instead of accessing to registers continuously. This has 2 main advantages: - this shall improve performances overall and allows for sleep time in the future - this also removes some direct registers access from this layer of code and makes it more generic among families
The timeout values are based on for loops and therefore should depend on the core frequency and the I2C interface frequency. This patch introduces this computation and base the timeout on the time it should take to send a byte over the I2C interface. When sending a number of bytes, this value can also be used. In the loops, the timeout should also be decreased before the while condition so that its value is 0 in case the timeout elapsed and this can be treated as an error.
This is to avoid an IP / bus deadlock. This requires to store scl and sda in order to call the init function.
With this new implementation, as in slave implementaiton, we use the interrupts instead of accessing to registers continuously. This has 2 main advantages: - this shall improve performances overall and allows for sleep time in the future - this also removes some direct registers access from this layer of code and makes it more generic among families
in case of 2 consecutives calls to HAL_I2C_Master_Sequential_Receive_IT with the Xfer mode I2C_FIRST_AND_LAST_FRAME, the second trasnfer does not start at all. It seems this is because the previous state is maintained as I2C_STATE_MASTER_BUSY_RX and therefore the START condition will not be generated
The cbmaster_done function is a callback which will be called from the asynch I2C interrupt handler. Calling to printf from this context sometimes lead to missing interrupts on the slave side. This was at least encountered on STM32F3 MCUs.
As reported during review, this was not understandable as it is. the get_i2c_obj allows to get a pointer to i2c_s struct from the handle pointer. This therefore makes a hard-coded assumption about the struct itself
The type deduction for the callback constructors was to strict and prevented implicit casts for the context pointer stored internally. As noted by @pan-, relaxing the contraints on the templated parameters allows C++ to correctly infer implicit casts such as conversions between child and parent classes when inheritance is involved. As an additional benefit, this may help the user experience by defering invalid type errors to when the types are expanded, limiting the number of error messages presented to users.
Adopting relaxed type-deduction in bound functions better aligns with the same overloads for member functions, and provides an alternative solution for the void pointer cast issue, which removes a large amount of cruft.
Including HAL and CMSIS udpate
Enable the interrupt for the OS tick when the OS tick is enabled rather than all the time. Otherwise, the interrupt will be triggered bu never handled.
In "core_caFunc.c" Renesas added the following API of IAR compiler version. - __v7_clean_dcache_all() - __v7_clean_inv_dcache_all()
Release candidate for mbed-os-5.2.3
MBED_PATCH_VERSION should have been updated to 3 for this release.
|
I believe this was unintentional pull request . I'll close this one. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Pull request type