Skip to content
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

[RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API #3470

Merged
merged 3 commits into from
Jan 9, 2017
Merged

[RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API #3470

merged 3 commits into from
Jan 9, 2017

Conversation

TomoYamanaka
Copy link
Contributor

PR to update RTX to v4.80 for Cortex-A.
In the latest CI test, three tests result in an error. The cause is mainly three points

Reference for issue of test error is here.
#3273

Reference for PR to update RTX for Cortex-M.
#1702

PR to update RTX to v4.80 for Cortex-A.
In the latest CI test, three tests result in an error. The cause is mainly three points
- Unsupport RTX v4.80 for Cortex-A
- Insufficient stack size of thread defined in test
- A few Lack of Malloc API in GCC
Therefore, I supported to these. For the stack size for test, @russ already supported in PR #3362.

Reference for issue of test error is here.
#3273

Reference for PR to update RTX for Cortex-M.
#1702
@0xc0170
Copy link
Contributor

0xc0170 commented Dec 20, 2016

@TomoYamanaka Can you update the commit to correct the nickname? :-) Shouldn't version align (cortex a and m) ? The other one is still v4.79 , this one updates to v4.80?

btw, there's a feature developmet to update to RTX2 - https://github.com/ARMmbed/mbed-os/tree/feature_cmsis5. We should probably focus on this update.

cc @bulislaw @sg-

@c1728p9
Copy link
Contributor

c1728p9 commented Dec 21, 2016

Hi @TomoYamanaka, the changes look good to me. I saw the malloc is now protected for GCC. I also saw you added the new functions for stack information - svcThreadGetInfo, osThreadGetState, _osThreadGetInfo, _osThreadsEnumStart, _osThreadEnumNext, _osThreadEnumFree.

@bridadan mentions there is a crash when heap stats are turned on. If you rebuild with the options he mentions, then you should be able to reproduce this problem.

@TomoYamanaka
Copy link
Contributor Author

@0xc0170

Thank you for your comments.

Can you update the commit to correct the nickname? :-)

Where does this nickname mean?
Is it "Russ" of the commit message of the following URL?
e71f79a

Shouldn't version align (cortex a and m) ? The other one is still v4.79 , this one updates to v4.80?

I don't have RTX v4.80 code for Cortex-M, so unfortunately I can not update it.
I received comments that RTX ver.4.8 function is necessary. Since DS-5 includes RTX was ver.4.8, I implemented base on it.

btw, there's a feature developmet to update to RTX2 - https://github.com/ARMmbed/mbed-os/tree/feature_cmsis5. We should probably focus on this update.

Are the materials of CMSIS ver.5 below?
https://github.com/ARM-software/CMSIS_5

Does Cortex-M of mbed support CMSIS ver.5?
Case of not support,
I would like let me know the support schedule if you know it.

@TomoYamanaka
Copy link
Contributor Author

@c1728p9

Thank you for your comments.
Is this comment a mistake #3273, not this PR?
cc @bridadan

PR to update RTX to v4.80 for Cortex-A.
In the latest CI test, three tests result in an error. The cause is mainly three points
- Unsupport RTX v4.80 for Cortex-A
- Insufficient stack size of thread defined in test
- A few Lack of Malloc API in GCC
Therefore, I supported to these. For the stack size for test, @c1728p9 already supported in PR #3362.

Reference for issue of test error is here.
#3273

Reference for PR to update RTX for Cortex-M.
#1702
@TomoYamanaka
Copy link
Contributor Author

Can you update the commit to correct the nickname? :-)

Where does this nickname mean?
Is it "Russ" of the commit message of the following URL?
e71f79a

I updated the above commit message.
a386be4

@bulislaw
Copy link
Member

bulislaw commented Dec 21, 2016

@TomoYamanaka

Are the materials of CMSIS ver.5 below?
https://github.com/ARM-software/CMSIS_5

That's the official code base yes. Work in progress mbed port can be found here https://github.com/ARMmbed/mbed-os/tree/feature_cmsis5

@sg-
Copy link
Contributor

sg- commented Dec 21, 2016

I would like let me know the support schedule if you know it.

The earliest CMSISv5 would be integrated is February 2017 to release in March. If we miss in February then it should land in March or April. Todo:

  • ARMC6 support in mbed OS
  • IAR support in CMSISv5 and RTXv5
  • Cortex-A support in CMSISv5 and RTXv5
  • sure there is something else...

@TomoYamanaka
Copy link
Contributor Author

@bulislaw @sg-

Thank you for your commnets.

The earliest CMSISv5 would be integrated is February 2017 to release in March. If we miss in February then it should land in March or April. Todo:
•Cortex-A support in CMSISv5 and RTXv5

Can I think that Renesas doesn't need to support CMSIS 5 (Cortex-A part) and ARM mbed team supports it ?

@0xc0170
Copy link
Contributor

0xc0170 commented Dec 22, 2016

Can I think that Renesas doesn't need to support CMSIS 5 (Cortex-A part) and ARM mbed team supports it ?

We shall discuss this with the RTX team as well. Let's talk in January about this.

Can you provide test results for this patch ?

@TomoYamanaka
Copy link
Contributor Author

@0xc0170

Sorry for this late reply.

We shall discuss this with the RTX team as well. Let's talk in January about this.

Thank you for your comments. It is okay.

Can you provide test results for this patch ?

I show test results to the following in GCC_ARM. I got similar the test result in ARMCC and IAR.

tests-mbed_drivers-race_test

mbedgt: test suite 'tests-mbed_drivers-race_test' .................................................... OK in 12.54 sec
	test case: 'class init race' ................................................................. OK in 0.66 sec
	test case: 'function init race' .............................................................. OK in 0.62 sec
mbedgt: test case summary: 2 passes, 0 failures
mbedgt: all tests finished!
mbedgt: shuffle seed: 0.1233596214
mbedgt: test suite report:
+----------------+---------------+------------------------------+--------+--------------------+-------------+
| target         | platform_name | test suite                   | result | elapsed_time (sec) | copy_method |
+----------------+---------------+------------------------------+--------+--------------------+-------------+
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbed_drivers-race_test | OK     | 12.54              | shell       |
+----------------+---------------+------------------------------+--------+--------------------+-------------+
mbedgt: test suite results: 1 OK
mbedgt: test case report:
+----------------+---------------+------------------------------+--------------------+--------+--------+--------+--------------------+
| target         | platform_name | test suite                   | test case          | passed | failed | result | elapsed_time (sec) |
+----------------+---------------+------------------------------+--------------------+--------+--------+--------+--------------------+
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbed_drivers-race_test | class init race    | 1      | 0      | OK     | 0.66               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbed_drivers-race_test | function init race | 1      | 0      | OK     | 0.62               |
+----------------+---------------+------------------------------+--------------------+--------+--------+--------+--------------------+
mbedgt: test case results: 2 OK

tests-mbedmicro-rtos-mbed-malloc

mbedgt: test suite 'tests-mbedmicro-rtos-mbed-malloc' ................................................ OK in 24.82 sec
	test case: 'tests-mbedmicro-rtos-mbed-malloc' ................................................ OK in 24.82 sec
mbedgt: test case summary: 1 pass, 0 failures
mbedgt: all tests finished!
mbedgt: shuffle seed: 0.4518385477
mbedgt: test suite report:
+----------------+---------------+----------------------------------+--------+--------------------+-------------+
| target         | platform_name | test suite                       | result | elapsed_time (sec) | copy_method |
+----------------+---------------+----------------------------------+--------+--------------------+-------------+
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-malloc | OK     | 24.82              | shell       |
+----------------+---------------+----------------------------------+--------+--------------------+-------------+
mbedgt: test suite results: 1 OK
mbedgt: test case report:
+----------------+---------------+----------------------------------+----------------------------------+--------+--------+--------+--------------------+
| target         | platform_name | test suite                       | test case                        | passed | failed | result | elapsed_time (sec) |
+----------------+---------------+----------------------------------+----------------------------------+--------+--------+--------+--------------------+
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-malloc | tests-mbedmicro-rtos-mbed-malloc | 1      | 0      | OK     | 24.82              |
+----------------+---------------+----------------------------------+----------------------------------+--------+--------+--------+--------------------+
mbedgt: test case results: 1 OK

tests-mbedmicro-rtos-mbed-threads

mbedgt: test suite 'tests-mbedmicro-rtos-mbed-threads' ............................................... OK in 17.06 sec
	test case: 'Testing parallel threads' ........................................................ OK in 0.06 sec
	test case: 'Testing parallel threads with child' ............................................. OK in 0.07 sec
	test case: 'Testing parallel threads with murder' ............................................ OK in 0.06 sec
	test case: 'Testing parallel threads with wait' .............................................. OK in 0.15 sec
	test case: 'Testing parallel threads with yield' ............................................. OK in 0.06 sec
	test case: 'Testing serial threads' .......................................................... OK in 0.05 sec
	test case: 'Testing serial threads with child' ............................................... OK in 0.06 sec
	test case: 'Testing serial threads with murder' .............................................. OK in 0.07 sec
	test case: 'Testing serial threads with wait' ................................................ OK in 1.05 sec
	test case: 'Testing serial threads with yield' ............................................... OK in 0.07 sec
	test case: 'Testing single thread' ........................................................... OK in 0.05 sec
	test case: 'Testing single thread with child' ................................................ OK in 0.07 sec
	test case: 'Testing single thread with murder' ............................................... OK in 0.06 sec
	test case: 'Testing single thread with wait' ................................................. OK in 0.17 sec
	test case: 'Testing single thread with yield' ................................................ OK in 0.06 sec
	test case: 'Testing thread self terminate' ................................................... OK in 0.06 sec
mbedgt: test case summary: 16 passes, 0 failures
mbedgt: all tests finished!
mbedgt: shuffle seed: 0.7384683933
mbedgt: test suite report:
+----------------+---------------+-----------------------------------+--------+--------------------+-------------+
| target         | platform_name | test suite                        | result | elapsed_time (sec) | copy_method |
+----------------+---------------+-----------------------------------+--------+--------------------+-------------+
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | OK     | 17.06              | shell       |
+----------------+---------------+-----------------------------------+--------+--------------------+-------------+
mbedgt: test suite results: 1 OK
mbedgt: test case report:
+----------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
| target         | platform_name | test suite                        | test case                            | passed | failed | result | elapsed_time (sec) |
+----------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads             | 1      | 0      | OK     | 0.06               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with child  | 1      | 0      | OK     | 0.07               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with murder | 1      | 0      | OK     | 0.06               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with wait   | 1      | 0      | OK     | 0.15               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing parallel threads with yield  | 1      | 0      | OK     | 0.06               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing serial threads               | 1      | 0      | OK     | 0.05               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with child    | 1      | 0      | OK     | 0.06               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with murder   | 1      | 0      | OK     | 0.07               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with wait     | 1      | 0      | OK     | 1.05               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing serial threads with yield    | 1      | 0      | OK     | 0.07               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing single thread                | 1      | 0      | OK     | 0.05               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing single thread with child     | 1      | 0      | OK     | 0.07               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing single thread with murder    | 1      | 0      | OK     | 0.06               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing single thread with wait      | 1      | 0      | OK     | 0.17               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing single thread with yield     | 1      | 0      | OK     | 0.06               |
| RZ_A1H-GCC_ARM | RZ_A1H        | tests-mbedmicro-rtos-mbed-threads | Testing thread self terminate        | 1      | 0      | OK     | 0.06               |
+----------------+---------------+-----------------------------------+--------------------------------------+--------+--------+--------+--------------------+
mbedgt: test case results: 16 OK

@0xc0170
Copy link
Contributor

0xc0170 commented Jan 4, 2017

LGTM

@c1728p9 @bulislaw Happy with this update to be integrated?

Copy link
Member

@bulislaw bulislaw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, looks good.

@0xc0170
Copy link
Contributor

0xc0170 commented Jan 4, 2017

/morph test-nightly

@mbed-bot
Copy link

mbed-bot commented Jan 4, 2017

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph test-nightly

Output

mbed Build Number: 1352

All builds and test passed!

@sg- sg- merged commit 9af3173 into ARMmbed:master Jan 9, 2017
simonqhughes pushed a commit to simonqhughes/mbed-os-1 that referenced this pull request Jan 31, 2017
…3470)

* [RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API

PR to update RTX to v4.80 for Cortex-A.
In the latest CI test, three tests result in an error. The cause is mainly three points
- Unsupport RTX v4.80 for Cortex-A
- Insufficient stack size of thread defined in test
- A few Lack of Malloc API in GCC
Therefore, I supported to these. For the stack size for test, @russ already supported in PR ARMmbed#3362.

Reference for issue of test error is here.
ARMmbed#3273

Reference for PR to update RTX for Cortex-M.
ARMmbed#1702

* Revert "[RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API"

This reverts commit e71f79a.

* [RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API

PR to update RTX to v4.80 for Cortex-A.
In the latest CI test, three tests result in an error. The cause is mainly three points
- Unsupport RTX v4.80 for Cortex-A
- Insufficient stack size of thread defined in test
- A few Lack of Malloc API in GCC
Therefore, I supported to these. For the stack size for test, @c1728p9 already supported in PR ARMmbed#3362.

Reference for issue of test error is here.
ARMmbed#3273

Reference for PR to update RTX for Cortex-M.
ARMmbed#1702
simonqhughes pushed a commit that referenced this pull request Jan 31, 2017
* [RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API

PR to update RTX to v4.80 for Cortex-A.
In the latest CI test, three tests result in an error. The cause is mainly three points
- Unsupport RTX v4.80 for Cortex-A
- Insufficient stack size of thread defined in test
- A few Lack of Malloc API in GCC
Therefore, I supported to these. For the stack size for test, @russ already supported in PR #3362.

Reference for issue of test error is here.
#3273

Reference for PR to update RTX for Cortex-M.
#1702

* Revert "[RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API"

This reverts commit e71f79a.

* [RZ/A1H]Support RTX v4.80 for Cortex-A and a few Malloc API

PR to update RTX to v4.80 for Cortex-A.
In the latest CI test, three tests result in an error. The cause is mainly three points
- Unsupport RTX v4.80 for Cortex-A
- Insufficient stack size of thread defined in test
- A few Lack of Malloc API in GCC
Therefore, I supported to these. For the stack size for test, @c1728p9 already supported in PR #3362.

Reference for issue of test error is here.
#3273

Reference for PR to update RTX for Cortex-M.
#1702
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants