Skip to content

Example projects for LPC1769 and STM32 microcontrollers. Includes code samples and setup instructions for various functionalities and peripherals. Ideal for learning and implementing embedded systems with ARM Cortex-M.

License

Notifications You must be signed in to change notification settings

GabrielEValenzuela/MicrocontrollerExamples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Microcontroller Examples

📝 Overview

This repository contains a collection of examples and tutorials for working with the LPC1769 and STM32 microcontrollers. These examples are designed to help you understand and implement embedded systems using these platforms.

📁 Repository Structure

  • LPC1769/: Contains examples specific to the LPC1769 microcontroller. Each subfolder represents a module.
  • STM32/: Contains examples for the STM32F103C8T6 microcontroller. Each subfolder represents a module.

📦 Libraries and Frameworks

📚 CMSIS (Cortex Microcontroller Software Interface Standard)

CMSIS is a vendor-independent hardware abstraction layer for the Cortex-M processor series. It provides a standardized API for peripheral access, system initialization, and more. In this repository, CMSIS is used along with CMSIS drivers for the LPC1769 microcontroller to facilitate low-level programming and hardware abstraction.

📚 libopencm3

libopencm3 is an open-source library that provides a unified API for a variety of ARM Cortex-M microcontrollers, including the STM32 series. It abstracts the hardware-specific details, making it easier to write portable and maintainable code. In this repository, libopencm3 is used for the STM32F103C8T6 microcontroller to manage peripheral interactions, system initialization, and more.

🔧 Considerations and Prerequisites

Before compiling these projects, ensure you have the following:

  • 🛠️ ARM GCC Toolchain
  • 🐞 OpenOCD (for debugging)
  • 💻 A compatible IDE or text editor (e.g., VSCode, Eclipse, MCUExpresso for NXP microcontroller)
  • ⚙️ Make or CMake (depending on your build preference)

For installation instructions, please check the INSTALL file in the repository.

Caution

For LPC1769 projects, we utilize bare metal programming. This means we develop a minimal bootloader to initialize the clock, memory, and processor before proceeding to the main program.
To make it work with MCUExpresso, please copy the source files and header files from the src and include directories to your projects, except for newlib_stubs.c.

🏃‍♂️ Running the Examples

After building, flash the firmware onto your LPC1769 or STM32 board using the appropriate tools (e.g., OpenOCD, ST-Link Utility).

🤝 Contributing

Contributions are welcome! Please fork this repository and submit a pull request with your changes.

📄 License

This repository is licensed under the MIT License. See the LICENSE file for more information.

About

Example projects for LPC1769 and STM32 microcontrollers. Includes code samples and setup instructions for various functionalities and peripherals. Ideal for learning and implementing embedded systems with ARM Cortex-M.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published