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.
KED/README.md

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