-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Update CMSIS/RTX with Cortex-A support #5312
Conversation
This includes Cortex A support and directory reshuffle.
/morph test |
rtos/TARGET_CORTEX/rtx4/cmsis_os.h
Outdated
@@ -438,23 +438,23 @@ uint32_t osKernelSysTick (void); | |||
/// \param instances number of possible thread instances. | |||
/// \param stacksz stack size (in bytes) requirements for the thread function. | |||
#if defined (osObjectsExternal) // object is external | |||
#define osThreadDef(name, priority, instances, stacksz) \ | |||
#define osThreadDef(name, priority, stacksz) \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you remove the instances parameter from the function documentation ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
Why is there two versions of the heap and stack test, one in the root TEST directory and another in the rtos directory ? |
Cause I've copied it instead of moving :) Good catch! |
mbed OS used older RTX4 version and with osThreadDef accepting only 3 parameters, to preserve compatibility we hardcode the 'instances' parameter to 1.
This implementation of timer conflicts with the default ptim, we will keep the default and let the timer override the implmenetation if needed.
These tests are not compatible with Cortex A due to __get_MSP usage.
This fixes #4602 issue, mbed_main should be invoked right before the real main
Only set the SVCall priority if uVisor is not present. If uVisor is present, keep using whatever priorities it has already set up.
Add the OsEventObserver mechanism. A client interested in receiving notifications on certain OS events can register to receive notifications with osRegisterForOsEvents. This is useful for clients like the secure memory allocator, which observes thread switching events in order to swap in and out different memory allocator objects.
OsEventObserver objects expect a context to be maintained per thread on their behalf. Add this context to the thread control block and extend the thread creation functions with the ability to supply a context.
8c11dfa
to
d605b44
Compare
@bulislaw what is the status of this now ? |
ARM-software/CMSIS_5#260 pull request should be included for v8, in case it is not merged in CMSIS by 5.7 |
That shouldn't be merged, this PR exists as a reference, there's more work that needs to be done by Renesas to reintroduce their platforms. |
CMSIS repo does not support pre-processor defines, hence multiple assembly files are added for secure/non-secure and floating point tools. Mbed-os tools do pre-processing of assembly files and defines are handled in tool sections. Hence removing additional assembly files as we can have just one per target.
@bulislaw By the way,
For this reason, I ask you to reflect my commits with this PR so that the build can be successfully, and I can test using this PR source code. @toyowata Please help me to go ahead with the above. |
This PR is newest version of CMSIS/RTX on top of master of mbed OS. I didn't touch or test GR-Peach code. |
/morph build |
Build : ABORTEDBuild number : 211 |
Build : FAILUREBuild number : 212 |
/morph build |
Build : FAILUREBuild number : 230 |
Doesn't look like an CI issue
|
Description
This PR introduces updates to RTX/CMSIS and brings Cortex-A support back into mbed OS
Status
IN DEVELOPMENT
ToDo
CC
@Patater could you have a look at my merges of your old uVisor commits
@deepikabhavnani could you see how much this breaks v8 support? and possibly try to fix it?