-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Improve support for Arm baremetal compilation and runtime #7286
Improve support for Arm baremetal compilation and runtime #7286
Conversation
- Add Target feature "semihosting" mode for baremetal runtime - Fix error of aligned_alloc() when compiled by Arm GNU toolchain
This comment was marked as outdated.
This comment was marked as outdated.
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.
We really need to provide a better definition of "Semihosting" somewhere in the code; if you didn't have access to this PR, it's not at all obvious (IMHO) what it means or where it's supported. (Otherwise LGTM).
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.
There are a bunch of places here that reinvent the functionality in add_halide_generator
which does the cross-compiling "export()
and find_package()
" already.
apps/HelloBaremetal/cmake-external_project/generator/CMakeLists.txt
Outdated
Show resolved
Hide resolved
apps/HelloBaremetal/.gitignore
Outdated
@@ -0,0 +1 @@ | |||
!enable_neon.s |
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.
@steven-johnson - we should add some sort of linter / autoformatter to prevent line-ending churn
# Find Halide. Instead of the package Halide, HalideHelpers is enough as we don't use JIT mode. | ||
find_package(HalideHelpers REQUIRED) |
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.
Future design note: As you've observed here and as I've described elsewhere, I think the final design I want to implement (not a blocker here) is to make find_package(Halide REQUIRED)
do what find_package(HalideHelpers REQUIRED)
does today and if users know they want JIT mode they can add that as a component as in find_package(Halide REQUIRED JIT)
.
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.
Another round of feedback 🙂
Where does this PR stand? |
For this and the others, I need to re-review. |
Checking in again, is this just in need of a re-review? |
* Improve support for Arm baremetal compilation and runtime - Add Target feature "semihosting" mode for baremetal runtime - Fix error of aligned_alloc() when compiled by Arm GNU toolchain * Modify comments for Target feature semihosting * Add an example app to guide cross-compilation for baremetal target * Update build steps in HelloBaremetal * Fix line-ending * Set CMake variable BAREMETAL in toolchain file
HelloBaremetal
to guide how to cross-compile for baremetal target with CMake