# KED

Kerems and Edwins Develeppoment platform.

08.08.21 Kerem & Edwin

	- Preparing the main implementation (dummy)  of our structure which consists of : 
		- CSL : Chip Support Layer
			- CSL for Raspberry 
			- CSL for STM Nucleo
		- BSL : Board Support Layer 
			- BSL for Raspberry 
			- BSL for Oven Control
		- Project Level
			- Integrate BSL dummy fct. to our main.cpp


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
