SKILL.md
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](GettingStarted/Introduction.md)): Write Swift code for microcontrollers, embedded systems, and bare-metal applications
- Language subset ([GettingStarted/LanguageSubset.md](GettingStarted/LanguageSubset.md)): Details of the Embedded Swift language subset compared to full Swift
- Install Embedded Swift ([GettingStarted/InstallEmbeddedSwift.md](GettingStarted/InstallEmbeddedSwift.md)): Get the tools needed to use Embedded Swift
Guided Examples
- Getting started with Embedded Swift ([GettingStarted/WaysToGetStarted.md](GettingStarted/WaysToGetStarted.md)): Possible directions to explore to start using Embedded Swift
- Try out Embedded Swift on macOS ([GuidedExamples/macOSGuide.md](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](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](GuidedExamples/STM32BaremetalGuide.md)): Program a STM32 microcontroller directly with low-level Swift code
Using Embedded Swift
- Basics of using Embedded Swift ([UsingEmbeddedSwift/Basics.md](UsingEmbeddedSwift/Basics.md)): Basic information for using Embedded Swift in typical embedded projects
- Strings ([UsingEmbeddedSwift/Strings.md](UsingEmbeddedSwift/Strings.md)): How to enable full Unicode-compliant string support in Embedded Swift
- Conditionalizing compilation for Embedded Swift ([UsingEmbeddedSwift/ConditionalCompilation.md](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](UsingEmbeddedSwift/Libraries.md)): Understand the library setup and linkage model of Embedded Swift
- External dependencies ([UsingEmbeddedSwift/ExternalDependencies.md](UsingEmbeddedSwift/ExternalDependencies.md)): What external system dependencies should you expect from Embedded Swift compilations
- Existentials ([UsingEmbeddedSwift/Existentials.md](UsingEmbeddedSwift/Existentials.md)): Restrictions on existentials ("any" types) that apply in Embedded Swift
- Non-final generic methods ([UsingEmbeddedSwift/NonFinalGenericMethods.md](UsingEmbeddedSwift/NonFinalGenericMethods.md)): Restrictions on unbound generic methods that apply in Embedded Swift
Build System Support
- Integrate with Bazel ([BuildSystemSupport/IntegrateWithBazel.md-wip](BuildSystemSupport/IntegrateWithBazel.md-wip)): (Work in Progress)
- Integrate with CMake ([BuildSystemSupport/IntegrateWithCMake.md-wip](BuildSystemSupport/IntegrateWithCMake.md-wip)): (Work in Progress)
- Integrate with Make ([BuildSystemSupport/IntegrateWithMake.md-wip](BuildSystemSupport/IntegrateWithMake.md-wip)): (Work in Progress)
- Integrate with SwiftPM ([BuildSystemSupport/IntegrateWithSwiftPM.md-wip](BuildSystemSupport/IntegrateWithSwiftPM.md-wip)): (Work in Progress)
- Integrate with Xcode ([BuildSystemSupport/IntegrateWithXcode.md-wip](BuildSystemSupport/IntegrateWithXcode.md-wip)): (Work in Progress)
SDK Support
- Integrating with embedded platforms ([SDKSupport/IntegratingWithPlatforms.md](SDKSupport/IntegratingWithPlatforms.md)): Understand the common patterns and approaches for integrating Swift with existing embedded systems
- Baremetal use of Embedded Swift ([SDKSupport/Baremetal.md](SDKSupport/Baremetal.md)): Programming without an SDK for maximum control and minimal size
- ESP IDF ([SDKSupport/IntegrateWithESP.md-wip](SDKSupport/IntegrateWithESP.md-wip)): (Work in Progress)
- Raspberry Pi Pico SDK ([SDKSupport/IntegrateWithPico.md](SDKSupport/IntegrateWithPico.md)): Setting up a project that can seamlessly use C APIs from the Pico SDK.
- Zephyr RTOS SDK ([SDKSupport/IntegrateWithZephyr.md](SDKSupport/IntegrateWithZephyr.md)): Integrating Swift with Zephyr RTOS for embedded systems development
Compiler Development and Details
- ABI of Embedded Swift ([CompilerDetails/ABI.md](CompilerDetails/ABI.md)): Understanding the different ABI (Application Binary Interface) for Embedded Swift
- Implementation Status ([CompilerDetails/Status.md](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.