# 4/21 課堂分享
> 筆記:[Running Linux 7.0 on stm32h750](https://hackmd.io/@rota1001/stm32h750-linux)
> 筆記:[Optimize Linux Kernel Size for STM32F429](https://hackmd.io/@rota1001/linux-stm32f429)
要幹麻呢?運行 Linux 核心
## STM32H750
- 僅有 1MB RAM
- 沒有 MMU,所以沒有虛擬記憶體
做了什麼?
- QEMU 軟體模擬
- 寫 bootloader
- XIP,讓程式不需要載入 RAM
- 調整 kernel config,去掉用不到的 driver
- 寫 device tree
- 做 kernel patch 把資料結構變小、去除用不到的東西
- 整理工具鏈,進行使用 uClibc-ng 的使用者程式驗證
- 運行動態連結的 busybox
### 6.18.7

### 6.19

### 7.0


## STM32F429-Discovery
- 有 8MB SDRAM
- 同樣沒有 MMU
到了 RAM 比較大的地方,開始驗證更多軟體堆疊
- 前面的所有東西再做一次
- MMC 子系統,用 SD 卡當硬碟
- SPI 螢幕
- fbdev

- fbcon

- hwrng
- GNU LTO
- FDPIC 執行檔工具鏈整理
- 動態連結庫
- 跑 DOOM
[Run DOOM on Linux 7.0 on STM32 ](https://youtu.be/d48P93aViJQ)
- 同樣更新到 Linux 7.0