programming-swift-embedded

Original🇺🇸 English
Translated

Provides the complete Embedded Swift documentation for developing on microcontrollers, embedded systems, and baremetal applications.

6installs
Added on

NPX Install

npx skill4agent add nonameplum/agent-skills programming-swift-embedded

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.