You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
3.0 KiB
70 lines
3.0 KiB
# KED: Wellcome to Kerem and Edwini's Develeppoment platform.
|
|
|
|
## Introduction:
|
|
### Why ?
|
|
This project is made to enable high portability between different Plaftorms an MCU's awailable on the market.
|
|
The main motivation was the chip allocation that started on 2018 and will most propably continue until 2024.
|
|
|
|
### But how come that we don't use the code renerators and IDEs proposed from the manufacturters ?
|
|
The answer is pretty simple :
|
|
+ We want this library to be portable between different manufacturers who uses arm cores.
|
|
+ To give us the ability to write and test our code on a raspberry and then simply implement the same code on your MCU.
|
|
+ To give us the opportunity the crate your own Board Support Layer based (BSL) on mutiple MCU if needed. Thus allowing us to adapt to a highly aggresive market.
|
|
+ An abstration layer that doesn't chnage between MCU's and BSL's with the miminun possible overhead as possible.
|
|
|
|
# How does it work ?
|
|
KED is intendet to be used as a git submodule. Allowing the mainternars of KED to do their things, while letting you to focus on your own project.
|
|
### Before you ask, Of Course, Yes, you would be one of our heroes if you decide to be a contributor !
|
|
|
|
|
|
INTERFACES
|
|
|
|
- pin
|
|
- pin.h Is now only missing interrupt functions
|
|
- USART
|
|
- usart.h Is working Great But there are many more functionalities to be added.
|
|
- usart.h Interrupt and DMA are the next steps
|
|
|
|
- deviceSetup
|
|
- deviceSetup.h it's a copy of what ST has made but wit direct register acsess
|
|
- deviceSetup.h we need to test it with other configurations to see if it works as
|
|
supposed or if the MCU is on it's defaul 8MHz congif.
|
|
- setupInit(); funtion is called from bsl/csl/stm32f042/startup/startup_stm32f042x6.s
|
|
and is called before the main();
|
|
|
|
PROGRAMMING
|
|
|
|
- CPP
|
|
- CPP Classes are taking extreme ammount of code ! 5kB for one class
|
|
- Try to generate a CPP proect with cube to sse if we are missing some flags.
|
|
- Huge difference i we use main.c or main.cpp as enrty point. somehow the first intoduction of classes are taking env. 5Kb
|
|
|
|
|
|
DOCUMENTATION
|
|
|
|
- STM-Flash utility
|
|
- https://www.mankier.com/1/st-flash#Options
|
|
- erasing flash ```st-flash erase```
|
|
- Fun with Linus and why he only wants C
|
|
- https://www.realworldtech.com/forum/?threadid=104196&curpostid=104299
|
|
|
|
TOOLS
|
|
|
|
- #### **`run.sh`** will compile and load the code directly to your device. It also creates
|
|
and/or updates the Doxygen documentation of the code.
|
|
It can also be used used just for compiling.
|
|
- #### **`tmux-dev.sh`** will automatically create the different "workbenches" for easy
|
|
workflow.
|
|
|
|
|
|
HELPEFULL STUFF
|
|
|
|
- [tmux cheat sheet](https://tmuxcheatsheet.com)
|
|
- pinout of stm32f04k6 nucleo
|
|
![pinout][https://www.e-komponent.com/stm32f031k6-mbed-enabled-development-nucleo-32-stm32f0-arm-cortex-m0-mcu-32-bit-embedded-evaluation-board]
|
|
|
|
REFRESHERS
|
|
- tmux stuff
|
|
- change frame with `Ctrl+B W`. A widnow with a preview will open. Coose eather by moving
|
|
selection via cursor and the presseing `enter` or bynumber
|