I'm working on a project that makes the same device drivers work on many different boards. It's currently called LibK (Lib-Kernel). I have been using it to develop my quadcopter flight controller which runs on both stm32 based openpilot boards as well as on multiwii boards. And today I have gotten libk also working on the FlySky FS-T6 radio board (https://www.youtube.com/watch?v=JD_hfML0R8c).
LibK is designed for flash based chips where memory is very precious resource - yet it still offers very high degree of flexibility. Many device drivers provide standard interfaces, making it possible to reuse a lot of code. LibK is a way to abstract away hardware interfaces with minimal overhead.
Github page: https://github.com/mkschreder/martink
I have recently added support for stm32 boards, and more architectures can be added easily. Most of the code in LibK is not dependent on the underlying architecture at all. The goal is to make it very simple to build projects that may use many different devices such as radio modules, displays, keypads, sensors etc. and make it possible to use exactly the same device drivers on multiple architectures - such as for example the two currently supported ones: avr and stm32.
LibK: firmware programming interface library
Help with any software/desktop related issues. e.g. companion9x, eePe, etc
-
- Posts: 22
- Joined: Sun Feb 08, 2015 9:22 pm
- Country: -
LibK: firmware programming interface library
Post by mkschreder »
LibK - Cross platform bare metal firmware development library: https://github.com/mkschreder/martink
Jump to
- OPENRC News & Information
- ↳ General Information & Rules
- ↳ Feedback
- General help and information
- ↳ Software
- ↳ Hardware
- ↳ General help (FrSky Taranis radio)
- Open Radio Control Transmitter Firmwares
- ↳ General model setup questions
- ↳ er9x / gruvin9x / th9 based firmwares
- ↳ Template Library
- ↳ Splash Screen Library
- ↳ Helicoptor Programming
- ↳ radioclone
- ↳ stock firmware (fly sky th9x)
- ↳ Template Library
- ↳ Sound Pack Library
- ↳ Edge TX
- ↳ openTx
- ↳ openTx for FrSky radios
- ↳ openTx model setup
- ↳ er9x
- ↳ er9x model setup
- ↳ ersky9xr
- ↳ erskyTx (was ersky9x)
- ↳ ersky9x model setup
- ↳ gruvin9x
- ↳ gruvin9x model setup
- ↳ th9x
- ↳ th9x model setup
- ↳ gv9x
- ↳ radioclone
- ↳ radioclone model setup
- ↳ tgy9xr
- ↳ tgy9xr model setup
- ↳ AR-T6
- ↳ other
- Desktop Software to Program Your Transmitter
- ↳ eePe
- ↳ companion9x
- ↳ eepSKYe
- Open Radio Control RF Systems & Hardware
- ↳ OpenLRS
- ↳ OpenLRSng
- ↳ OpenLRSng hardware
- Closed Source Radio Control RF Systems & Hardware
- ↳ Royal Way - Rlink UHF Long Range System
- Transmitter Hardware
- ↳ FlySky TH9X / Turnigy 9X / Eurgle 9X radio
- ↳ SMARTIEPARTS PROGRAMMER
- ↳ HARDWARE MODS & HACKS
- ↳ FRSky Telemetry Mods
- ↳ ArduPilot Mods
- ↳ Electronic Mods
- ↳ Hardware Mods
- ↳ Soldering, Hardware, Skills
- ↳ DSM2/DSMX Mods
- ↳ UPGRADE BOARDS
- ↳ sky9x upgrade board
- ↳ gruvin9x upgrade board
- ↳ 9Xtreme upgrade board
- ↳ RF MODULES
- ↳ The FRSKY Forum
- ↳ PROGRAMMERS
- ↳ FrSky Taranis radio
- ↳ FRSky Horus radio
- ↳ Turnigy 9XR PRO radio
- ↳ Orange DSM Telemetry module
- ↳ Turnigy 9XR radio
- ↳ PROGRAMMERS
- ↳ Other Radios
- ↳ Retro Radios
- Other OPEN Projects
- ↳ General RC Electronic Projects and Discussion
- ↳ OpenXVario - an open source vario supported by the open source firmwares!!
- ↳ Other Electronic Projects
- ↳ OpenFlightStab
- ↳ OpenLRSng
- ↳ 3D Printing
- Other Forums
- ↳ The Pickled Gnu (The Pub)
- ↳ FPV Projects
- ↳ Reviews
- ↳ Where to buy / Spares / Modules? Selling up?
- Links
- ↳ er9x on Google Code
- ↳ ersky9x on Github
- ↳ Gruvin9x on Google Code
- ↳ th9x on Google Code
- ↳ openTx on Google Code
- ↳ gv9x on Google Code
- ↳ radioclone on Sourceforge
- ↳ eePe on Google Code
- ↳ companion9x on Google Code
- ↳ 9X Guides
- ↳ openxvario