| name | programming-swift-embedded |
| description | Provides the complete Embedded Swift documentation for developing on microcontrollers, embedded systems, and baremetal applications. |
Embedded Swift
Embedded Swift is a compilation and language mode that enables development of baremetal, embedded and standalone software in Swift
Documentation Structure
Getting Started
- Introduction to Embedded Swift (GettingStarted/Introduction.md): Write Swift code for microcontrollers, embedded systems, and bare-metal applications
- Language subset (GettingStarted/LanguageSubset.md): Details of the Embedded Swift language subset compared to full Swift
- Install Embedded Swift (GettingStarted/InstallEmbeddedSwift.md): Get the tools needed to use Embedded Swift
Guided Examples
- Getting started with Embedded Swift (GettingStarted/WaysToGetStarted.md): Possible directions to explore to start using Embedded Swift
- Try out Embedded Swift on macOS (GuidedExamples/macOSGuide.md): Tutorial for building a simple program for your host OS with Embedded Swift
- Raspberry Pi Pico Blink (Pico SDK) (GuidedExamples/PicoGuide.md): Tutorial for targetting a Raspberry Pi Pico as an embedded device that runs a simple Swift program
- Baremetal Setup for STM32 with Embedded Swift (GuidedExamples/STM32BaremetalGuide.md): Program a STM32 microcontroller directly with low-level Swift code
Using Embedded Swift
- Basics of using Embedded Swift (UsingEmbeddedSwift/Basics.md): Basic information for using Embedded Swift in typical embedded projects
- Strings (UsingEmbeddedSwift/Strings.md): How to enable full Unicode-compliant string support in Embedded Swift
- Conditionalizing compilation for Embedded Swift (UsingEmbeddedSwift/ConditionalCompilation.md): How to share code between Embedded Swift and full Swift using conditional compilation
- Libraries and modules in Embedded Swift (UsingEmbeddedSwift/Libraries.md): Understand the library setup and linkage model of Embedded Swift
- External dependencies (UsingEmbeddedSwift/ExternalDependencies.md): What external system dependencies should you expect from Embedded Swift compilations
- Existentials (UsingEmbeddedSwift/Existentials.md): Restrictions on existentials ("any" types) that apply in Embedded Swift
- Non-final generic methods (UsingEmbeddedSwift/NonFinalGenericMethods.md): Restrictions on unbound generic methods that apply in Embedded Swift
Build System Support
- Integrate with Bazel (BuildSystemSupport/IntegrateWithBazel.md-wip): (Work in Progress)
- Integrate with CMake (BuildSystemSupport/IntegrateWithCMake.md-wip): (Work in Progress)
- Integrate with Make (BuildSystemSupport/IntegrateWithMake.md-wip): (Work in Progress)
- Integrate with SwiftPM (BuildSystemSupport/IntegrateWithSwiftPM.md-wip): (Work in Progress)
- Integrate with Xcode (BuildSystemSupport/IntegrateWithXcode.md-wip): (Work in Progress)
SDK Support
- Integrating with embedded platforms (SDKSupport/IntegratingWithPlatforms.md): Understand the common patterns and approaches for integrating Swift with existing embedded systems
- Baremetal use of Embedded Swift (SDKSupport/Baremetal.md): Programming without an SDK for maximum control and minimal size
- ESP IDF (SDKSupport/IntegrateWithESP.md-wip): (Work in Progress)
- Raspberry Pi Pico SDK (SDKSupport/IntegrateWithPico.md): Setting up a project that can seamlessly use C APIs from the Pico SDK.
- Zephyr RTOS SDK (SDKSupport/IntegrateWithZephyr.md): Integrating Swift with Zephyr RTOS for embedded systems development
Compiler Development and Details
- ABI of Embedded Swift (CompilerDetails/ABI.md): Understanding the different ABI (Application Binary Interface) for Embedded Swift
- Implementation Status (CompilerDetails/Status.md): Implementation status of compiler and language features in Embedded Swift, comparison to standard Swift
Usage Notes
- Documentation is organized progressively from getting started to advanced topics
- Start with the Introduction or Getting Started section
- Consult specific guides for detailed information
License & Attribution
This skill contains content converted from DocC documentation format.