# STM32 Introduction
* run STM32 with intel NUC
* STM32CubeIDE was installed in intel NUC ubuntu
[TOC]
## STM32CubeIDE Install
microROS 基於 FreeRTOS 運行:
https://blog.csdn.net/weiqifa0/article/details/108633341

#### Download STM32CubeIDE installer
https://www.st.com/en/development-tools/stm32cubeide.html#st-get-software
#### Execute STM32CubeIDE
https://www.youtube.com/watch?v=j3P2rsB_-BY
## STM32CubeIDE Setup
**Select Board**
if the board is made by STM, then you can choose board selector( if not, choose MCU/MPU)

**PIN Setup**
:warning: SYS -> Debug -> Serial Wire

If 沒有選Serial Wire, 執行時會target is no responding
* PA13, PA14 腳位不能接作為其他用除
## Beginning Tutorial
These three video are helpful for beginner to understand STM32CubeIDE:
* **Introduction/ HAL:** https://www.youtube.com/watch?v=Hffw-m9fuxc
* **PWM/ Timer:** https://www.youtube.com/watch?v=AjN58ceQaF4
* **The meaning of code generated:** https://www.youtube.com/watch?v=txnViYePocg&list=PLNyfXcjhOAwO5HNTKpZPsqBhelLF2rWQx&index=4
I also found some chinese tutorial:
https://www.waveshare.net/study/portal.php?mod=list&catid=40
## Pin of STM32F44RE





## PWM


### STM32CubeIDE:

### Result:
System Clock: 72MHz

### General Timer

## Pin setting
* **Signal Pinning:**
固定,腳位自動進行重映射,固定后不會被其他功能占用
* **Pin Stacking:**
堆疊,可以實現單引腳多功能,根據某個條件自動切換

## STM32 燒錄軟體
https://blog.csdn.net/weixin_46623350/article/details/105172971
**1. 串口燒錄**
**2. STM32 ST-LINK Utility** 是針對STM32全系芯片進行编程(讀、寫、擦除、選項字)的一款工具
[STM32 ST-LINK Utility介紹、下載、安裝、使用方法](https://www.twblogs.net/a/5b7e13a02b71776838552799)
**3. STM32CubeProgmmer**
新推出的軟體
:::info
當你完成程序調試後,想對STM32晶片進行程序代碼燒錄編程的話可以有多種方式。
* 若通過調試接口【[JTAG/SWD](https://blog.csdn.net/w1050321758/article/details/108663603)】來燒寫程序,一般要使用STVP或STLinkUtility工具軟體來完成;
* 若通過UART接口來燒寫程序,往往要下載個基於PC 端的flash燒錄工具軟體STM32 Flash loader demo配合;
* 若通過USB接口來燒寫程序,往往需下載DfuSe USB 固件升級工具軟體來實現。如今ST推出了新的高集成度編程工具軟體
STM32CubeProgrammer,以後就不用這麼麻煩了,因爲它同時支持上述三類編程接口,而且還兼具其它功能。
:::
[STM32CubeProgrammer基礎使用說明](https://www.twblogs.net/a/5d4bce83bd9eee5327fc21c2)
SWD: Serial Wire Debug