Kerems and Edwins Develeppoment platform.
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.
 
 
 
 
Go to file
Kerem Yollu e1487d6bb2
Started to reoganise and some test with function pointers in libraries folder
2 years ago
csl i2c is working beter and added a check device funtion who checks is a device is on the bu or not. Driver header in cmake were not correctly included, i have fixed that issue too 2 years ago
drivers Started to reoganise and some test with function pointers in libraries folder 2 years ago
env/cmake_core Started to reoganise and some test with function pointers in libraries folder 2 years ago
libraries Started to reoganise and some test with function pointers in libraries folder 2 years ago
peripherals more advancement on the lcd_oled.c and ssd1306.c more functions have been ported and drwa line is working 2 years ago
system Started to reoganise and some test with function pointers in libraries folder 2 years ago
.gitignore added __pycache__/ to .gitignore 2 years ago
CMakeLists.txt Started to reoganise and some test with function pointers in libraries folder 2 years ago
LICENSE Deteled BSL & managed to export main.h one level higher so that KED could be used as a git Submodule 3 years ago
README.md Strated to modify the README.md 2 years ago
flasher.py working on flasher 2 years ago
flasher.pyc Sarted to have look on ked.py and made some commments 2 years ago
ked.py Sarted to have look on ked.py and made some commments 2 years ago
run.sh Started to reoganise and some test with function pointers in libraries folder 2 years ago

README.md

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