Skip to content

Commit 9a9b491

Browse files
committed
Added missing target files
1 parent 179464d commit 9a9b491

21 files changed

+562
-20
lines changed

ledger_secure_sdk_sys/build.rs

Lines changed: 86 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,13 @@ impl SDKBuilder<'_> {
140140
},
141141
target: "thumbv8m.main-none-eabi",
142142
defines: {
143-
let mut v = header2define(format!("{}/devices/nanosplus/c_sdk_build_nanosplus.defines", env!("CARGO_MANIFEST_DIR")).as_str());
143+
let mut v = header2define(
144+
format!(
145+
"{}/devices/nanosplus/c_sdk_build_nanosplus.defines",
146+
env!("CARGO_MANIFEST_DIR")
147+
)
148+
.as_str(),
149+
);
144150
if env::var_os("CARGO_FEATURE_NANO_NBGL").is_some() {
145151
println!("cargo:warning=NBGL is built");
146152
v.push((String::from("HAVE_NBGL"), None));
@@ -155,7 +161,10 @@ impl SDKBuilder<'_> {
155161
v
156162
},
157163
cflags: {
158-
let m_path = format!("{}/devices/nanosplus/c_sdk_build_nanosplus.cflags", env!("CARGO_MANIFEST_DIR"));
164+
let m_path = format!(
165+
"{}/devices/nanosplus/c_sdk_build_nanosplus.cflags",
166+
env!("CARGO_MANIFEST_DIR")
167+
);
159168
let f = File::open(m_path)
160169
.expect("Failed to open c_sdk_build_nanosplus.cflags file");
161170
let reader = BufReader::new(f);
@@ -166,7 +175,10 @@ impl SDKBuilder<'_> {
166175
},
167176
glyphs_folders: Vec::new(),
168177
arm_libs: Default::default(),
169-
linker_script: format!("{}/devices/nanosplus/nanosplus_layout.ld", env!("CARGO_MANIFEST_DIR"))
178+
linker_script: format!(
179+
"{}/devices/nanosplus/nanosplus_layout.ld",
180+
env!("CARGO_MANIFEST_DIR")
181+
),
170182
},
171183
"nanox" => Device {
172184
name: DeviceName::NanoX,
@@ -176,7 +188,13 @@ impl SDKBuilder<'_> {
176188
},
177189
target: "thumbv6m-none-eabi",
178190
defines: {
179-
let mut v = header2define(format!("{}/devices/nanox/c_sdk_build_nanox.defines", env!("CARGO_MANIFEST_DIR")).as_str());
191+
let mut v = header2define(
192+
format!(
193+
"{}/devices/nanox/c_sdk_build_nanox.defines",
194+
env!("CARGO_MANIFEST_DIR")
195+
)
196+
.as_str(),
197+
);
180198
if env::var_os("CARGO_FEATURE_NANO_NBGL").is_some() {
181199
println!("cargo:warning=NBGL is built");
182200
v.push((String::from("HAVE_NBGL"), None));
@@ -191,8 +209,12 @@ impl SDKBuilder<'_> {
191209
v
192210
},
193211
cflags: {
194-
let m_path = format!("{}/devices/nanox/c_sdk_build_nanox.cflags", env!("CARGO_MANIFEST_DIR"));
195-
let f = File::open(m_path).expect("Failed to open c_sdk_build_nanox.cflags file");
212+
let m_path = format!(
213+
"{}/devices/nanox/c_sdk_build_nanox.cflags",
214+
env!("CARGO_MANIFEST_DIR")
215+
);
216+
let f =
217+
File::open(m_path).expect("Failed to open c_sdk_build_nanox.cflags file");
196218
let reader = BufReader::new(f);
197219
reader
198220
.lines()
@@ -201,7 +223,10 @@ impl SDKBuilder<'_> {
201223
},
202224
glyphs_folders: Vec::new(),
203225
arm_libs: Default::default(),
204-
linker_script: format!("{}/devices/nanox/nanox_layout.ld", env!("CARGO_MANIFEST_DIR")),
226+
linker_script: format!(
227+
"{}/devices/nanox/nanox_layout.ld",
228+
env!("CARGO_MANIFEST_DIR")
229+
),
205230
},
206231
"stax" => Device {
207232
name: DeviceName::Stax,
@@ -210,10 +235,20 @@ impl SDKBuilder<'_> {
210235
Err(_) => return Err(SDKBuildError::MissingSDKPath),
211236
},
212237
target: "thumbv8m.main-none-eabi",
213-
defines: header2define(format!("{}/devices/stax/c_sdk_build_stax.defines", env!("CARGO_MANIFEST_DIR")).as_str()),
238+
defines: header2define(
239+
format!(
240+
"{}/devices/stax/c_sdk_build_stax.defines",
241+
env!("CARGO_MANIFEST_DIR")
242+
)
243+
.as_str(),
244+
),
214245
cflags: {
215-
let m_path = format!("{}/devices/stax/c_sdk_build_stax.cflags", env!("CARGO_MANIFEST_DIR"));
216-
let f = File::open(m_path).expect("Failed to open c_sdk_build_stax.cflags file");
246+
let m_path = format!(
247+
"{}/devices/stax/c_sdk_build_stax.cflags",
248+
env!("CARGO_MANIFEST_DIR")
249+
);
250+
let f =
251+
File::open(m_path).expect("Failed to open c_sdk_build_stax.cflags file");
217252
let reader = BufReader::new(f);
218253
reader
219254
.lines()
@@ -222,7 +257,10 @@ impl SDKBuilder<'_> {
222257
},
223258
glyphs_folders: Vec::new(),
224259
arm_libs: Default::default(),
225-
linker_script: format!("{}/devices/stax/stax_layout.ld", env!("CARGO_MANIFEST_DIR")),
260+
linker_script: format!(
261+
"{}/devices/stax/stax_layout.ld",
262+
env!("CARGO_MANIFEST_DIR")
263+
),
226264
},
227265
"flex" => Device {
228266
name: DeviceName::Flex,
@@ -231,10 +269,20 @@ impl SDKBuilder<'_> {
231269
Err(_) => return Err(SDKBuildError::MissingSDKPath),
232270
},
233271
target: "thumbv8m.main-none-eabi",
234-
defines: header2define(format!("{}/devices/flex/c_sdk_build_flex.defines", env!("CARGO_MANIFEST_DIR")).as_str()),
272+
defines: header2define(
273+
format!(
274+
"{}/devices/flex/c_sdk_build_flex.defines",
275+
env!("CARGO_MANIFEST_DIR")
276+
)
277+
.as_str(),
278+
),
235279
cflags: {
236-
let m_path = format!("{}/devices/flex/c_sdk_build_flex.cflags", env!("CARGO_MANIFEST_DIR"));
237-
let f = File::open(m_path).expect("Failed to open c_sdk_build_flex.cflags file");
280+
let m_path = format!(
281+
"{}/devices/flex/c_sdk_build_flex.cflags",
282+
env!("CARGO_MANIFEST_DIR")
283+
);
284+
let f =
285+
File::open(m_path).expect("Failed to open c_sdk_build_flex.cflags file");
238286
let reader = BufReader::new(f);
239287
reader
240288
.lines()
@@ -243,7 +291,10 @@ impl SDKBuilder<'_> {
243291
},
244292
glyphs_folders: Vec::new(),
245293
arm_libs: Default::default(),
246-
linker_script: format!("{}/devices/flex/flex_layout.ld", env!("CARGO_MANIFEST_DIR")),
294+
linker_script: format!(
295+
"{}/devices/flex/flex_layout.ld",
296+
env!("CARGO_MANIFEST_DIR")
297+
),
247298
},
248299
"apex_p" => Device {
249300
name: DeviceName::ApexP,
@@ -252,10 +303,20 @@ impl SDKBuilder<'_> {
252303
Err(_) => return Err(SDKBuildError::MissingSDKPath),
253304
},
254305
target: "thumbv8m.main-none-eabi",
255-
defines: header2define(format!("{}/devices/apex_p/c_sdk_build_apex_p.defines", env!("CARGO_MANIFEST_DIR")).as_str()),
306+
defines: header2define(
307+
format!(
308+
"{}/devices/apex_p/c_sdk_build_apex_p.defines",
309+
env!("CARGO_MANIFEST_DIR")
310+
)
311+
.as_str(),
312+
),
256313
cflags: {
257-
let m_path = format!("{}/devices/apex_p/c_sdk_build_apex_p.cflags", env!("CARGO_MANIFEST_DIR"));
258-
let f = File::open(m_path).expect("Failed to open c_sdk_build_apex_p.cflags file");
314+
let m_path = format!(
315+
"{}/devices/apex_p/c_sdk_build_apex_p.cflags",
316+
env!("CARGO_MANIFEST_DIR")
317+
);
318+
let f =
319+
File::open(m_path).expect("Failed to open c_sdk_build_apex_p.cflags file");
259320
let reader = BufReader::new(f);
260321
reader
261322
.lines()
@@ -264,7 +325,10 @@ impl SDKBuilder<'_> {
264325
},
265326
glyphs_folders: Vec::new(),
266327
arm_libs: Default::default(),
267-
linker_script: format!("{}/devices/apex_p/apex_p_layout.ld", env!("CARGO_MANIFEST_DIR")),
328+
linker_script: format!(
329+
"{}/devices/apex_p/apex_p_layout.ld",
330+
env!("CARGO_MANIFEST_DIR")
331+
),
268332
},
269333
_ => {
270334
return Err(SDKBuildError::UnsupportedDevice);
@@ -510,7 +574,9 @@ impl SDKBuilder<'_> {
510574
// Target specific files
511575
let csdk_target_name = self.device.name.to_string();
512576
let header = match self.device.name {
513-
DeviceName::NanoSPlus => String::from("devices/nanosplus/c_sdk_build_nanosplus.defines"),
577+
DeviceName::NanoSPlus => {
578+
String::from("devices/nanosplus/c_sdk_build_nanosplus.defines")
579+
}
514580
DeviceName::NanoX => String::from("devices/nanox/c_sdk_build_nanox.defines"),
515581
DeviceName::Stax => String::from("devices/stax/c_sdk_build_stax.defines"),
516582
DeviceName::Flex => String::from("devices/flex/c_sdk_build_flex.defines"),
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"abi": "eabi",
3+
"arch": "arm",
4+
"c-enum-min-bits": 8,
5+
"data-layout": "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64",
6+
"emit-debug-gdb-scripts": false,
7+
"executables": true,
8+
"frame-pointer": "always",
9+
"linker": "link_wrap.sh",
10+
"linker-flavor": "ld.lld",
11+
"llvm-target": "thumbv8m.main-none-eabi",
12+
"max-atomic-width": 32,
13+
"panic-strategy": "abort",
14+
"pre-link-args": {
15+
"ld.lld": [
16+
"-Tapex_p_layout.ld",
17+
"-Tlink.ld"
18+
],
19+
"ld": [
20+
"-Tapex_p_layout.ld",
21+
"-Tlink.ld"
22+
]
23+
},
24+
"relocation-model": "ropi-rwpi",
25+
"singlethread": true,
26+
"target-pointer-width": "32",
27+
"os": "apex_p",
28+
"target-family": [ "bolos" ]
29+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
MEMORY
2+
{
3+
FLASH (rx) : ORIGIN = 0xc0de0000, LENGTH = 400K
4+
DATA (r) : ORIGIN = 0xc0de0000, LENGTH = 400K
5+
SRAM (rwx) : ORIGIN = 0xda7a0000, LENGTH = 40K
6+
}
7+
8+
PAGE_SIZE = 512;
9+
STACK_SIZE = 1500;
10+
END_STACK = ORIGIN(SRAM) + LENGTH(SRAM);
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--sysroot="/usr/lib/arm-none-eabi"
2+
-Oz
3+
-g0
4+
-fomit-frame-pointer
5+
-momit-leaf-frame-pointer
6+
-fno-common
7+
-std=gnu99
8+
-fdata-sections
9+
-ffunction-sections
10+
-funsigned-char
11+
-fshort-enums
12+
-mno-unaligned-access
13+
-fropi
14+
-fno-jump-tables
15+
-msoft-float
16+
-frwpi
17+
--target=arm-none-eabi
18+
-mcpu=cortex-m35p+nodsp
19+
-mlittle-endian
20+
-mthumb
21+
-Wno-unused-command-line-argument
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#define HAVE_BLE
2+
#define BLE_COMMAND_TIMEOUT_MS 2000
3+
#define HAVE_BLE_APDU
4+
#define NBGL_QRCODE
5+
#define USE_OS_IO_STACK
6+
#define IO_HID_EP_LENGTH 64
7+
#define HAVE_SPRINTF
8+
#define HAVE_SNPRINTF_FORMAT_U
9+
#define HAVE_IO_USB
10+
#define HAVE_L4_USBLIB
11+
#define IO_USB_MAX_ENDPOINTS 4
12+
#define HAVE_USB_APDU
13+
#define USB_SEGMENT_SIZE 64
14+
#define HAVE_WEBUSB
15+
#define WEBUSB_URL_SIZE_B 0
16+
#define WEBUSB_URL
17+
#define HAVE_IO_U2F
18+
#define OS_IO_SEPROXYHAL
19+
#define STANDARD_APP_SYNC_RAPDU
20+
#define REVAMPED_IO
21+
#define gcc
22+
#define __IO volatile
23+
#define NDEBUG
24+
#define HAVE_BAGL_FONT_NANOTEXT_MEDIUM_18PX
25+
#define HAVE_BAGL_FONT_NANOTEXT_BOLD_18PX
26+
#define HAVE_BAGL_FONT_NANODISPLAY_SEMIBOLD_24PX
27+
#define HAVE_NBGL
28+
#define HAVE_SE_TOUCH
29+
#define HAVE_SE_EINK_DISPLAY
30+
#define NBGL_PAGE
31+
#define NBGL_USE_CASE
32+
#define SCREEN_SIZE_WALLET
33+
#define HAVE_FAST_HOLD_TO_APPROVE
34+
#define HAVE_INAPP_BLE_PAIRING
35+
#define OS_IO_SEPH_BUFFER_SIZE 272
36+
#define HAVE_LEDGER_PKI
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--sysroot="/usr/lib/arm-none-eabi"
2+
-Oz
3+
-g0
4+
-fomit-frame-pointer
5+
-momit-leaf-frame-pointer
6+
-fno-common
7+
-std=gnu99
8+
-fdata-sections
9+
-ffunction-sections
10+
-funsigned-char
11+
-fshort-enums
12+
-mno-unaligned-access
13+
-fropi
14+
-fno-jump-tables
15+
-msoft-float
16+
-frwpi
17+
--target=arm-none-eabi
18+
-mcpu=cortex-m35p+nodsp
19+
-mlittle-endian
20+
-mthumb
21+
-Wno-unused-command-line-argument
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#define HAVE_BLE
2+
#define BLE_COMMAND_TIMEOUT_MS 2000
3+
#define HAVE_BLE_APDU
4+
#define NBGL_QRCODE
5+
#define USE_OS_IO_STACK
6+
#define IO_HID_EP_LENGTH 64
7+
#define HAVE_SPRINTF
8+
#define HAVE_SNPRINTF_FORMAT_U
9+
#define HAVE_IO_USB
10+
#define HAVE_L4_USBLIB
11+
#define IO_USB_MAX_ENDPOINTS 4
12+
#define HAVE_USB_APDU
13+
#define USB_SEGMENT_SIZE 64
14+
#define HAVE_WEBUSB
15+
#define WEBUSB_URL_SIZE_B 0
16+
#define WEBUSB_URL
17+
#define HAVE_IO_U2F
18+
#define OS_IO_SEPROXYHAL
19+
#define STANDARD_APP_SYNC_RAPDU
20+
#define REVAMPED_IO
21+
#define gcc
22+
#define __IO volatile
23+
#define NDEBUG
24+
#define HAVE_BAGL_FONT_INTER_REGULAR_28PX
25+
#define HAVE_BAGL_FONT_INTER_SEMIBOLD_28PX
26+
#define HAVE_BAGL_FONT_INTER_MEDIUM_36PX
27+
#define HAVE_INAPP_BLE_PAIRING
28+
#define HAVE_NBGL
29+
#define HAVE_PIEZO_SOUND
30+
#define HAVE_SE_TOUCH
31+
#define HAVE_SE_EINK_DISPLAY
32+
#define NBGL_PAGE
33+
#define NBGL_USE_CASE
34+
#define SCREEN_SIZE_WALLET
35+
#define HAVE_FAST_HOLD_TO_APPROVE
36+
#define OS_IO_SEPH_BUFFER_SIZE 272
37+
#define HAVE_LEDGER_PKI
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"abi": "eabi",
3+
"arch": "arm",
4+
"c-enum-min-bits": 8,
5+
"data-layout": "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64",
6+
"emit-debug-gdb-scripts": false,
7+
"executables": true,
8+
"frame-pointer": "always",
9+
"linker": "link_wrap.sh",
10+
"linker-flavor": "ld.lld",
11+
"llvm-target": "thumbv8m.main-none-eabi",
12+
"max-atomic-width": 32,
13+
"panic-strategy": "abort",
14+
"pre-link-args": {
15+
"ld.lld": [
16+
"-Tflex_layout.ld",
17+
"-Tlink.ld"
18+
],
19+
"ld": [
20+
"-Tflex_layout.ld",
21+
"-Tlink.ld"
22+
]
23+
},
24+
"relocation-model": "ropi-rwpi",
25+
"singlethread": true,
26+
"target-pointer-width": "32",
27+
"os": "flex",
28+
"target-family": [ "bolos" ]
29+
}

0 commit comments

Comments
 (0)