Skip to content

Renesas: fix cmsis lib build #5770

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

Merged
merged 5 commits into from
Jan 2, 2018
Merged

Renesas: fix cmsis lib build #5770

merged 5 commits into from
Jan 2, 2018

Conversation

0xc0170
Copy link
Contributor

@0xc0170 0xc0170 commented Dec 31, 2017

device header file not needed in cmsis implementation, thus removed - causing problems to build cmsis lib in mbed 2

another fix is for renesas target code that implements os tick, should only be available if rtos is present

Tested locally with GCC ARM

@ARMmbed/team-renesas please verify this patch

@0xc0170
Copy link
Contributor Author

0xc0170 commented Dec 31, 2017

/morph build

@mbed-ci
Copy link

mbed-ci commented Dec 31, 2017

Build : FAILURE

Build number : 772
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/5770/

@0xc0170 0xc0170 requested a review from bulislaw December 31, 2017 09:41
@@ -24,8 +24,6 @@

#include <stddef.h>

#include <cmsis.h>
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Need to fix this, it has real dependency on the target header file (to get gic present macro in), thus I'll look at cmsis build api, and propose a solution)

As this is os tick implementation for rtos, it should not be compilied if rtos
not present (mbed 2)
@0xc0170
Copy link
Contributor Author

0xc0170 commented Jan 1, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Jan 1, 2018

Build : SUCCESS

Build number : 773
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/5770/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build

@mbed-ci
Copy link

mbed-ci commented Jan 1, 2018

@mbed-ci
Copy link

mbed-ci commented Jan 1, 2018

@0xc0170 0xc0170 changed the title Renesas: fix cmsis device header and os tick target implementation Renesas: fix cmsis lib build Jan 2, 2018
@0xc0170
Copy link
Contributor Author

0xc0170 commented Jan 2, 2018

I fixed also VK RZ A1H (added to travis to find all those errors there, so both renesas targets are in travis now, should help us).

Waiting for travis, this PR should fix Cortex A mbed 2 errors we have seen. The main change here is cmsis build for mbed 2 (in build_api). cmsis now contains target dependencies in some cases (they include it via RTE components). For instance in our case it was for Cortex A to get GIC presence (see https://github.com/ARMmbed/mbed-os/blob/master/cmsis/TARGET_CORTEX_A/irq_ctrl_gic.c#L31), that one is defined in targets cmsis header file.
To fix this, I moved cmsis lib to be along with hal (previously cmsis, then common headers and hal), how it is common headers, hal + cmsis, etc) in the mbed libs API (the change is minimal, and only affects mbed lib build). The diff is not that obvious here but if you compare those lines you will see that only compile line changed (https://github.com/ARMmbed/mbed-os/pull/5770/files#diff-8ae3dde46b55f3a922724cd3585922b2R1031), the rest there is few lines moved (lines 1002-1014)

Copy link
Contributor

@adbridge adbridge left a comment

Choose a reason for hiding this comment

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

Minor formatting

{"target": "RZ_A1H",
"toolchains": "GCC_ARM",
"tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"],
}
Copy link
Contributor

Choose a reason for hiding this comment

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

NIT: extra space

"toolchains": "GCC_ARM",
"tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"],
}
},
Copy link
Contributor

Choose a reason for hiding this comment

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

NIT: extra space

{"target": "VK_RZ_A1H",
"toolchains": "GCC_ARM",
"tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"],
}
Copy link
Contributor

Choose a reason for hiding this comment

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

NIT: extra space

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Once travis finishes I can fix these, I used formatting that was in the file (many of the lines have this).

"toolchains": "GCC_ARM",
"tests": {"" : ["MBED_2", "MBED_10", "MBED_11", "MBED_16"],
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

NIT: extra space

Travis: dsp only for cortex-m
Build api used to build cmsis separately (how mbed 2 is being build). This is
currently not how cmsis is being defined. As there target dependencies in some
cases, we should include paths from targets when building cmsis
@adbridge
Copy link
Contributor

adbridge commented Jan 2, 2018

Additional updates look good to me.

As it does not share the codebase with RZ A1H, it needs to be disabled until
bring it up to date with the latest changes to cmsis. There are changes
regarding caches, mmu and others
@0xc0170
Copy link
Contributor Author

0xc0170 commented Jan 2, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

Build : SUCCESS

Build number : 774
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/5770/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

@mbed-ci
Copy link

mbed-ci commented Jan 2, 2018

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.

4 participants