|
|
|
@ -19,8 +19,8 @@ KED is intendet to be used as a git submodule. Allowing the mainternars of KED t
|
|
|
|
|
|
|
|
|
|
# What is KED?
|
|
|
|
|
KED is a framework created by Kerem Yollu and Edwin Koch. KED stands for
|
|
|
|
|
"Kerem and EdwinDevelopement". The idea was initially started by the desire to create a hardware
|
|
|
|
|
abstraction Layer (HAL)...
|
|
|
|
|
"Kerem and Edwin Developement". The idea was initially started by the desire to create a hardware
|
|
|
|
|
abstraction layer (HAL) as the given ones are mostly bloated and not well structured.
|
|
|
|
|
|
|
|
|
|
# KED structure
|
|
|
|
|
This section will explain how KED is structured and how you can implement drivers, peripherals,
|
|
|
|
@ -29,11 +29,17 @@ etc.
|
|
|
|
|
# Chip Support Layer (CSL)
|
|
|
|
|
The CSL folder holds all the target device specific resources and implementations. For example if
|
|
|
|
|
you want to use the NUCLEO 042k6 you have to choose the target device "stm32f042k6t6" as this is
|
|
|
|
|
the phisical IC used by the NUCLEO board. This target device is represented inside CSL folder as a
|
|
|
|
|
folder with the target device name. This is crucial as there can be differeces between different
|
|
|
|
|
the physical IC used by the NUCLEO board. This target device is represented inside CSL folder as a
|
|
|
|
|
folder named with the target device. This is crucial as there can be differeces between different
|
|
|
|
|
packages with the same IC core e.g "stm32f042k6t6" vs "stm32f042f6p6". Both of them are the "same"
|
|
|
|
|
but have different pin mappings and even differing peripheral structures.
|
|
|
|
|
|
|
|
|
|
## Hardware Description Layer
|
|
|
|
|
This is a subfolder inside each target device folder. It holds all the specific hardware
|
|
|
|
|
description headers e.g "hwd_pin.h". These HWD files describe e.g. how many pins there are, how
|
|
|
|
|
many timers there are, etc. If one target device does not have a specific peripheral e.g. CAN bus
|
|
|
|
|
then its HWD file is not put inside the folder.
|
|
|
|
|
|
|
|
|
|
## Implementing new target device
|
|
|
|
|
To implement a new target device to KED please follow the following steps in this section. Each
|
|
|
|
|
subsection will explaine how the structure is defined and what has to be implemented sothat at the
|
|
|
|
|