-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
support asm on armcc5 #2533
support asm on armcc5 #2533
Conversation
Hi @liudongmiao If this is a personal contribution, the easiest way to do this is if you create an mbed account and accept this click through agreement. Alternatively, you can find a slightly different agreement to sign here, which can be signed and returned to us, and is applicable if you don't want to create an mbed account or alternatively if this is a corporate contribution. Thanks for your understanding and again, thanks for the contribution! |
it seems some checks were not successful. and I cannot visit the details. @RonEld could you help to check this? If you want to accept this pull request, then I will register for CLA. |
@liudongmiao The failure is in the following test:
As mentioned, In order for us to review and accept this PR, we would need to ask you to accept the CLA. |
@RonEld Thanks, just sent scanned cla in pdf via email. |
@liudongmiao Thank you for submitting the CLA! |
Finally, I move Currently, the asm for arm in
I have check the macro, then see the difference. For armcc6, use command: armclang --target=arm-arm-none-eabi -mcpu=cortex-m1 -E -dM - </dev/null
# for umlal
armclang --target=arm-arm-none-eabi -mcpu=cortex-m3 -E -dM - </dev/null
# for umaal
armclang --target=arm-arm-none-eabi -mcpu=cortex-m4 -E -dM - </dev/null For armcc5, use command: armcc --cpu=Cortex-M1 --list-macros - </dev/null
# for umlal
armcc --cpu=Cortex-M3 --list-macros - </dev/null
# for umaal
armcc --cpu=Cortex-M4 --list-macros - </dev/null In the output, there is no
And the public documents show
I have explained the |
armcc5 asm use c variables directly, which is different from gnuc. For syntax and rules, refer Chapter 7 of ARM Compiler armcc User Guide [Inline assembler rules for compiler keywords __asm and asm]: - ARM Compiler armcc User Guide: https://developer.arm.com/docs/dui0472/latest - keil: http://www.keil.com/support/man/docs/armcc/armcc_chr1359124247402.htm
Closing; armcc 5 is now out of support. |
Description
armcc5 use a different asm syntax, it uses c/c++ variable directly.
Status
READY
Requires Backporting
NO
Migrations
NO
Additional comments
I have used this on Brevent Booster (USB Dongle to simulate ADB) since 2018.
However, I don't know whether armcc5 should be supported.
Steps to test or reproduce
This is a rewrite for current gnu version of
umlal
.However, some codes are rearranged.
MULADDC_INIT of gnu version
No need for armcc5.
MULADDC_CORE of gnu version
So, armcc5 is the same with gnu's syntax.
However, we defined a tmp r.
MULADDC_STOP of gnu version
No need for armcc5.