> For the complete documentation index, see [llms.txt](https://ykkim.gitbook.io/ec/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ykkim.gitbook.io/ec/ec-course/preparation-for-ec.md).

# Preparation for EC

## Preparation for Embedded Controller

Students will understand the digital circuit structure of an MicroControllerUnit (MCU) and practice firmware programming, including configuring the MCU's peripheral input/output.

The recommended prerequisite courses for this class are as follows:

* Digital Logic Circuit (or Logic Design)
* C Programming

Please complete the followings before taking this course.

## **1. Review Digital Logic Circuit**

If you did not take Digital Logic Circuits, you must study the following materials.

* Binary Numbers
* Logic Gates
* MUX, DEMUX, Encoder, Decoder
* Flip-Flops
* Counter
* Finite State Machines

{% embed url="<https://www.tutorialspoint.com/digital_circuits/index.htm>" %}

## **2. Review C-Programming**

{% embed url="<https://ykkim.gitbook.io/ec/c-programming/c-programming-review>" %}

#### **Study: Structures & Bitwise Operation in C-programming**

{% embed url="<https://ykkim.gitbook.io/ec/c-programming/c-programming-review/structure>" %}

{% embed url="<https://ykkim.gitbook.io/ec/c-programming/c-programming-review/bitwise-operation>" %}

#### **Do Exercise**

* Structure

{% embed url="<https://ykkim.gitbook.io/ec/c-programming/c-programming-review/structure#exercise>" %}

* Bitwise Operation

{% embed url="<https://ykkim.gitbook.io/ec/c-programming/c-programming-review/bitwise-operation#exercise>" %}

## 3. Prepare EC Workspace

We will create the main directory under **C:\Users\yourID\source\repos\\**

> e.g. **C:\Users\ykkim\source\repos**

You can search for 'repos' in window menu

<figure><img src="https://user-images.githubusercontent.com/38373000/185348195-07f482ba-3aac-4fc8-8298-9928f06fc534.png" alt=""><figcaption></figcaption></figure>

### Create Workspace Folders

Create the workspace folder: `\EC`

> e.g. **C:\Users\ykkim\source\repos\EC**

Then, create sub-folders as follows

* `\docs` : documents and lab reports
* `\include` :library header files
* `\lab` : lab source files
* `\tutorial` : tutorial source files
* `\test` : test source files
* `\project` : project source files

Example :

* **C:\Users\yourID\source\repos\EC\docs**
* **C:\Users\yourID\source\repos\EC\tutorial**
* **C:\Users\yourID\source\repos\EC\include**
* **C:\Users\yourID\source\repos\EC\lab**
* **.. and more**
