Skip to content

lhr-solar/Embedded-Sharepoint

Repository files navigation

Welcome to the Embedded Sharepoint Documentation

Welcome to the Embedded Sharepoint! This documentation is designed to assist LHR - Solar teams in developing projects using STM32 devices.

Key Features

  • Simplified Development: Provides a unified interface for working with various STM32 devices.
  • Modular Design: Easily integrate with different components and libraries.
  • Comprehensive Documentation: Detailed guides and API references for every module.

WSL

USB PassThrough

Install USBIPD (only need to do this the first time)

In Powershell administrator:

winget install usbipd

Pass USB Devices

In PowerShell administrator:

usbipd list
usbipd bind --busid <busid>
usbipd attach --wsl --busid <busid>

Setup

Note: Docker installs tools for development on Ubuntu 22.04.

Note: DO NOT install packages in the docker session. Changes will be lost. Update the Dockerfile instead!

Note: If USB devices are detected via lsusb but fail to open, try restarting the container with the device plugged in.

VS Code

Install Dev Containers extension

Open repository folder in VS Code

F1 → "Dev Containers: Open Folder in Container..."

Ensure docker is running

sudo systemctl start docker

CLI Script

This script sets up a docker container for embedded development.

Usage:

./start.sh

Remove Docker Image:

docker rmi embedded-sharepoint-dev

Porting

A valid port of an STM requires three things:

  1. A directory under stm/stm32f4xx or stm/stm32l4xx must be generated with the generic name of the microcontroller. This is typically stm32 followed by four characters specifying the series and line (stm32f413, stm32l431, etc.)
  2. A linker script under the aforementioned directory. This can be autogenerated by STM32CubeMX or grabbed from the internet. The name should take the form of STM32*_FLASH.ld, and should include the full name of the processor (STM32F413RHTx_FLASH.ld, STM32L431CBTx_FLASH.ld, etc.)
  3. A startup assembly file including the vector table and some basic handlers (most important being Reset_Handler). This can be autogenerated by STM32CubeMX or grabbed from the internet. The name should take the form of startup_stm32 followed by the four characters specifying the series and line and then xx (startup_stm32f413xx.s, startup_stm32l431xx.s)

The Makefile will expect this exact naming structure, so please ensure you've set it up properly. If everything goes to plan, you should be able to build with PROJECT_TARGET set to the full name of the port.

About

This repository contains files that can be shared among us, the embedded design teams.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 17