You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/EmbeddedSwift/UserManual.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ A typical setup and build + run cycle for an embedded development board involves
22
22
- (1) Getting an SDK with the C compilers, headers and libraries for the target
23
23
- (2) Building the C source code, and Swift source code into object files.
24
24
- (3) Linking all the libraries, C object files, and Swift object files.
25
-
- (4) Post-processing the linked firmware into a flashable format (UD2, BIN, or bespoke formats)
25
+
- (4) Post-processing the linked firmware into a flashable format (UF2, BIN, or bespoke formats)
26
26
- (5) Uploading the flashable binary to the board over a USB cable using some vendor-provided JTAG/SWD tool or by copying it to a fake USB Mass Storage volume presented by the board.
27
27
- (6) Restarting the board, observing physical effects of the firmware (LEDs light up) or UART output over USB, or presence on network, etc.
### Building Swift firmware for an embedded target
43
43
44
-
To build Swift firmware (for now ingnoring integration with SDKs, libraries and other pre-existing C code), we can use the `-target` argument to specify the CPU architecture. The target triple also decides whether the output object file will be an ELF file, or a Mach-O. For example:
44
+
To build Swift firmware (for now ignoring integration with SDKs, libraries and other pre-existing C code), we can use the `-target` argument to specify the CPU architecture. The target triple also decides whether the output object file will be an ELF file, or a Mach-O. For example:
45
45
46
46
```bash
47
47
# To build an ARMv7 Mach-O object file:
@@ -185,7 +185,7 @@ Features that are not available:
-**Not available**: Values of protocol types ("existentials"), e.g. `let a: Hashable = ...`, are not allowed. `Any` and `AnyObject` are also not allowed.
187
187
-**Not available**: Metatypes, e.g. `let t = SomeClass.Type` or `type(of: value)` are not allowed.
188
-
-**Not available**: Printing and stringifation of arbitrary types (archieved via reflection in desktop Swift).
188
+
-**Not available**: Printing and stringification of arbitrary types (achieved via reflection in desktop Swift).
189
189
-**Not available yet (under development)**: Swift Concurrency.
190
190
191
191
For a more complete list of supported features in Embedded Swift, see [Embedded Swift -- Status](EmbeddedSwiftStatus.md).
0 commit comments