Skip to content

Commit a4515df

Browse files
committed
add support for Cortex-R devices
1 parent cdd5988 commit a4515df

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

src/lib.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,6 +1262,25 @@ impl Build {
12621262
if target.starts_with("thumbv7m") {
12631263
cmd.args.push("-march=armv7-m".into());
12641264
}
1265+
if target.starts_with("armebv7r") | target.starts_with("armv7r") {
1266+
// ARM mode
1267+
cmd.args.push("-marm".into());
1268+
1269+
// R Profile
1270+
cmd.args.push("-march=armv7-r".into());
1271+
1272+
if target.ends_with("eabihf") {
1273+
// Calling convention
1274+
cmd.args.push("-mfloat-abi=hard".into());
1275+
1276+
// lowest common denominator FPU
1277+
// (see Cortex-R4 technical reference manual)
1278+
cmd.args.push("-mfpu=vfpv3-d16".into())
1279+
} else {
1280+
// Calling convention
1281+
cmd.args.push("-mfloat-abi=soft".into());
1282+
}
1283+
}
12651284
}
12661285
}
12671286

@@ -1672,6 +1691,9 @@ impl Build {
16721691
"sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
16731692
"sparc64-unknown-netbsd" => Some("sparc64--netbsd"),
16741693
"sparcv9-sun-solaris" => Some("sparcv9-sun-solaris"),
1694+
"armebv7r-none-eabihf" => Some("arm-none-eabi"),
1695+
"armv7r-none-eabi" => Some("arm-none-eabi"),
1696+
"armv7r-none-eabihf" => Some("arm-none-eabi"),
16751697
"thumbv6m-none-eabi" => Some("arm-none-eabi"),
16761698
"thumbv7em-none-eabi" => Some("arm-none-eabi"),
16771699
"thumbv7em-none-eabihf" => Some("arm-none-eabi"),

0 commit comments

Comments
 (0)