---
# System prepended metadata

title: Set the environment of STM32F407
tags: [SCA]

---

# Set the environment of STM32F407

###### tags: `SCA`

> To form up the habit of writing some note, I will keep a record of the lessons. Unfortunately, I am a little short in English, so forgive me if I use English and Chinese at the same time.

:::success
There is a microcontroller (Cortex-M4) , a 32-bit RISC ARM processor cores, on the discovery kit. In first lesson, our goal is connecting the STM32F407 to our pc, writing a binary file into STM32F407 and running the example code.
:::

> From teacher 楊's powerpoint

:::info
All command following is for ubuntu 19.10. If you want to do with windows, can make up a virtual box or [install a ubuntu environment on windows 10 ][GitHub-Sync]. If there is Mac user, welcome to share your steps.

[GitHub-Sync]:https://medium.com/@misscoming/%E5%9C%A8-windows-10-%E4%B8%8A%E8%B7%91-ubuntu-18-04-92f80b2d725b
:::

##  The first part: Install the needed packages

### Clone the file on github

```
git clone --recurse-submodules https://github.com/mkannwischer/STM32-getting-started
```

```
ls  #There is a dict STM32-getting-started
```
 

### Install two packages

```
sudo apt-get update # It is not necessary

sudo apt-get install arm-none-eabi-gcc

sudo apt-get install stlink-tools
```


If your os is not ubuntu, you can take a look at these reference.

reference : 
https://github.com/mkannwischer/STM32-getting-started
https://command-not-found.com/st-flash

## The second part : Connecting STM32F407 board

- [ ] Connect USB cable of STM32F407 to your PC
- [ ] Connect USB cable of UART-USB to your PC
- [ ] Connect **PA2** pin with **RX** pin of UART-USB connector


After connect cable, you will find that /dev/ttyUSB0 show up.

```
ls /dev/ > before.txt

# connect the cable

ls /dev/ > after.txt

diff before.txt after.txt
```

## The third part : Compile the file and  Flashing some examples

If your installation of arm-none-eabi-gcc is well done, you can execute makefile easily.
```
cd STM32-getting-started/STM32F407
make
```
now, there are some binary executing file in STM32-getting-started/STM32F407. Let's write it into the flash of STM32F407
```
st-flash write usart.bin 0x8000000
```

Last, Receive output on your terminal
```
sudo screen /dev/ttyUSB0 115200
```
