-
Notifications
You must be signed in to change notification settings - Fork 33
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
added support for Cortex-M33 (nRF5340 app core) #44
Conversation
if(CONFIG_FPU) | ||
set(rust_target thumbv8m.main-zephyr-eabihf) | ||
set(clang_target thumbv8m.main-unknown-none-eabihf) | ||
set(clang_cflags "-mcpu=cortex-m33 -mthumb -mabi=aapcs -mfpu=fpv5-sp-d16 -mfloat-abi=hard") |
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.
Are these cpu-specific CFLAGS necessary? Clang should be only used here for bindgen, so it should not be generating binaries with these flags.
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.
For me, when there is no clang_cflags, it reported they (the lib generated by zephyr and the one generated by rust) have different VFP usage.
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.
Can you see if #49 works for you?
Using the target-json generated from Rust for the hf
variant, I get "features": "+fp-armv8,-fp64,-d32",
in the json, and that generates and elf with the correct vfp usage.
I'm building with west build -p auto -b nrf5340dk_nrf5340_cpuapp samples/rust-app/
and manually enabling CONFIG_FPU in ninja menuconfig
.
readelf -A ./modules/zephyr-rust/app/thumbv8m.main-zephyr-eabihf/release/librust_app.a
File: ./modules/zephyr-rust/app/thumbv8m.main-zephyr-eabihf/release/librust_app.a(compiler_builtins-190bfd2d1f14c110.compiler_builtins.5742c880-cgu.9.rcgu.o)
Attribute Section: aeabi
File Attributes
Tag_conformance: "2.09"
Tag_CPU_arch: v8-M.mainline
Tag_CPU_arch_profile: Microcontroller
Tag_ARM_ISA_use: No
Tag_THUMB_ISA_use: Yes
Tag_FP_arch: FPv5/FP-D16 for ARMv8
Superseded by #49 |
No description provided.