All Projects → mcu → kconfig

mcu / kconfig

Licence: GPL-3.0 License
Kconfig for ARM based MCUs

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects
perl
6916 projects
python
139335 projects - #7 most used programming language
Yacc
648 projects

Projects that are alternatives of or similar to kconfig

stm32f103xx
DEPRECATED
Stars: ✭ 31 (+106.67%)
Mutual labels:  arm, stm32
JBC SolderingStation
JBC_SolderingStation
Stars: ✭ 63 (+320%)
Mutual labels:  arm, stm32
PrntrBoardV2
32-bit 3D Printer controller board using STM32F407 and replaceable TMC2660/2209 stepper drivers.
Stars: ✭ 31 (+106.67%)
Mutual labels:  arm, stm32
async-stm32f1xx
Abstractions for asynchronous programming on the STM32F1xx family of microcontrollers.
Stars: ✭ 24 (+60%)
Mutual labels:  arm, stm32
stm32f7xx-hal
A Rust embedded-hal HAL for all MCUs in the STM32 F7 family
Stars: ✭ 71 (+373.33%)
Mutual labels:  arm, stm32
arm-hard-fault-handler
What to do when Hard fault hits? Debugger and error reporter solution for ARM Cortex M3 and M4.
Stars: ✭ 32 (+113.33%)
Mutual labels:  arm, stm32
drone-stm32-map
STM32 peripheral mappings for Drone, an Embedded Operating System.
Stars: ✭ 16 (+6.67%)
Mutual labels:  arm, stm32
Grbl Advanced
Grbl-Advanced is a no-compromise, high performance, low cost alternative for CNC milling. This version of Grbl runs on a STM32F411RE / STM32F446RE Nucleo Board. Now with backlash compensation, multi-axis and Tool Table support!
Stars: ✭ 182 (+1113.33%)
Mutual labels:  arm, stm32
open-watch
An open-source handmade smartwatch. All of the codes, PCBs and schematics are available. ⌚
Stars: ✭ 35 (+133.33%)
Mutual labels:  arm, stm32
tinyfont
Text library for TinyGo displays
Stars: ✭ 37 (+146.67%)
Mutual labels:  arm, stm32
toolchain68k
build a toolchain for cross developement. Supports motorola m68k-elf, avr and arm-none-eabi
Stars: ✭ 18 (+20%)
Mutual labels:  arm, stm32
CML
Fast, safe and easy to use Cortex-M HAL Library, written in C++ 17
Stars: ✭ 17 (+13.33%)
Mutual labels:  arm, stm32
Frosted
Frosted: Free POSIX OS for tiny embedded devices
Stars: ✭ 194 (+1193.33%)
Mutual labels:  arm, stm32
STM32Primer2 GNSS Tracker
GNSS Tracker For STM32 Primer2
Stars: ✭ 24 (+60%)
Mutual labels:  arm, stm32
Dirtyjtag
JTAG probe firmware for STM32F1
Stars: ✭ 183 (+1120%)
Mutual labels:  arm, stm32
stm32 template
这是一个stm32f103 和 stm32f407单片机在Unix、Linux等系统下使用的模版,可以使用make编译、下载、调试。
Stars: ✭ 48 (+220%)
Mutual labels:  arm, stm32
Stm32 graphics display drivers
STM32 LCD drivers (currently: spi(dma), gpio, fsmc(dma), st7735, st7783, ili9325, ili9328, ili9341, ili9486, ili9488, hx8347g)
Stars: ✭ 151 (+906.67%)
Mutual labels:  arm, stm32
Xpcc
DEPRECATED, use our successor library https://modm.io instead
Stars: ✭ 177 (+1080%)
Mutual labels:  arm, stm32
TMcuSys
🍆 STM32平台uCos与emWin练习项目。图片、音乐、视频、游戏、IAP运行器。
Stars: ✭ 25 (+66.67%)
Mutual labels:  arm, stm32
STM32F10x Servo Library
Servo library with stm developed by the Liek Software Team. We are working on new versions.
Stars: ✭ 14 (-6.67%)
Mutual labels:  arm, stm32

Kconfig for ARM based MCUs

This example provides the ability to configure components and application using kconfig language Originally created for STM32 microcontrollers but it can be used for any ARM based MCUs

Development environment consists of:

  • Ubuntu OS
  • STM32CubeIDE
  • STM32CubeMX
  • STM32CubeProg
  • Cppcheck
  • Cloc

Install

  sudo apt install bison flex

Get GNU Arm Embedded Toolchain

  sudo apt install gcc-arm-none-eabi

  arm-none-eabi-gcc --version

Alternative way is to download GNU Arm Embedded Toolchain from the website https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads and setup path to compiler binaries by adding the following line into ~/.profile with your path to toolchain folder:

  export PATH="$PATH:$HOME/path/to/gcc-arm-none-eabi-8-2019-q3-update/bin"

Log out and log back in to update PATH variable

Get project and build

  git clone https://github.com/mcu/kconfig.git

  cd kconfig
  make menuconfig
  make

How it works

At first, "make" utility use "ls" command recursively to create a list of all folders in the "components", "application". Then "make" creates a list of all *.s, *.c, *.ld and *.a files in the project (ASSOURCES, CSOURCES, LINKERS, LIBS). After that "make" starts the process of compiling, linking and generating the binary file. It's easy but more correctly is to build components separately into libraries

You can add *.h, *.c files and folders as you want into "components", "application" folders. All source files will be compiled

Comment

The implementation of makefile has its pros and cons. Since all header files are visible to each source file during the build process it is not recommended to use this example for large projects

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].