feat: add STM32F103RC support for HY27UF084G2M
This commit is contained in:
51
ports/stm32f103rc/README.md
Normal file
51
ports/stm32f103rc/README.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Порт STM32F103RCT6 для HY27UF084G2M
|
||||
|
||||
У `STM32F103RCT6` корпус LQFP64. Согласно datasheet STM32F103xC/D/E, функция
|
||||
FSMC в этом корпусе недоступна, поэтому порт выполняет асинхронные NAND-циклы
|
||||
через GPIO.
|
||||
|
||||
## Соединения
|
||||
|
||||
| HY27UF084G2M | STM32F103RCT6 | LQFP64 |
|
||||
|---|---|---:|
|
||||
| `I/O0..I/O7` | `PB0..PB7` | 26, 27, 28, 55, 56, 57, 58, 59 |
|
||||
| `CLE` | `PC0` | 8 |
|
||||
| `ALE` | `PC1` | 9 |
|
||||
| `WE#` | `PC2` | 10 |
|
||||
| `RE#` | `PC3` | 11 |
|
||||
| `CE#` | `PC4` | 24 |
|
||||
| `WP#` | `PC5` | 25 |
|
||||
| `R/B#` | `PC6` | 37 |
|
||||
|
||||
Питание NAND — 3,3 В. На каждый вывод питания нужен 100 нФ, рядом с чипом —
|
||||
1–4,7 мкФ. `R/B#` имеет открытый сток и требует внешней подтяжки 4,7–10 кОм
|
||||
к 3,3 В. Не оставляйте `WP#` неподключённым.
|
||||
|
||||
`PB2` также является `BOOT1`: NAND держит I/O в высокоимпедансном состоянии
|
||||
до командного цикла, но штатную конфигурацию загрузки платы всё равно нужно
|
||||
обеспечить подтяжкой. `PB3/PB4` заняты JTAG; порт отключает JTAG и сохраняет
|
||||
SWD на `PA13/PA14`.
|
||||
|
||||
## Подключение к проекту Cube/HAL
|
||||
|
||||
Добавьте `parallel_nand_port_stm32f103rc.c`, путь к его заголовку и включите
|
||||
GPIO HAL. Инициализация:
|
||||
|
||||
```c
|
||||
#include "parallel_nand.h"
|
||||
#include "parallel_nand_port_stm32f103rc.h"
|
||||
|
||||
static parallel_nand_t nand;
|
||||
|
||||
int nand_init(void)
|
||||
{
|
||||
return parallel_nand_init(
|
||||
&nand,
|
||||
parallel_nand_port_stm32f103rc(),
|
||||
¶llel_nand_hy27uf084g2m_geometry);
|
||||
}
|
||||
```
|
||||
|
||||
После успешной инициализации прочитайте четыре байта ID и ожидайте
|
||||
`AD DC 80 95`. Ядро библиотеки работает только на чтение и удерживает `WP#`
|
||||
в активном низком уровне; PROGRAM/ERASE пока намеренно не реализованы.
|
||||
Reference in New Issue
Block a user