Skip to content

Commit 089ec91

Browse files
committed
[add] 添加ATK-DNN647 BSP
1 parent 29dc1e8 commit 089ec91

46 files changed

Lines changed: 18059 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

bsp/stm32/stm32n657-atk-dnn647/.config

Lines changed: 1478 additions & 0 deletions
Large diffs are not rendered by default.

bsp/stm32/stm32n657-atk-dnn647/.cproject

Lines changed: 259 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
*.pyc
2+
*.map
3+
*.dblite
4+
*.elf
5+
*.bin
6+
*.hex
7+
*.axf
8+
*.exe
9+
*.pdb
10+
*.idb
11+
*.ilk
12+
*.old
13+
build
14+
Debug
15+
documentation/html
16+
packages/
17+
*~
18+
*.o
19+
*.obj
20+
*.out
21+
*.bak
22+
*.dep
23+
*.lib
24+
*.i
25+
*.d
26+
.DS_Stor*
27+
.config 3
28+
.config 4
29+
.config 5
30+
Midea-X1
31+
*.uimg
32+
GPATH
33+
GRTAGS
34+
GTAGS
35+
.vscode
36+
JLinkLog.txt
37+
JLinkSettings.ini
38+
DebugConfig/
39+
RTE/
40+
settings/
41+
*.uvguix*
42+
cconfig.h
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>project</name>
4+
<comment />
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
10+
<triggers>clean,full,incremental,</triggers>
11+
<arguments>
12+
</arguments>
13+
</buildCommand>
14+
<buildCommand>
15+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
16+
<triggers>full,incremental,</triggers>
17+
<arguments>
18+
</arguments>
19+
</buildCommand>
20+
</buildSpec>
21+
<natures>
22+
<nature>com.st.stm32cube.ide.mcu.MCUProjectNature</nature>
23+
<nature>org.eclipse.cdt.core.cnature</nature>
24+
<nature>com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature</nature>
25+
<nature>com.st.stm32cube.ide.mcu.MCUCubeProjectNature</nature>
26+
<nature>com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature</nature>
27+
<nature>com.st.stm32cube.ide.mcu.MCUSecureProjectNature</nature>
28+
<nature>com.st.stm32cube.ide.mcu.MCUFSBLProjectNature</nature>
29+
<nature>com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature</nature>
30+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
31+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
32+
</natures>
33+
<linkedResources />
34+
</projectDescription>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
mainmenu "RT-Thread Configuration"
2+
3+
BSP_DIR := .
4+
5+
RTT_DIR := ../../..
6+
7+
PKGS_DIR := packages
8+
9+
config SOC_STM32N657
10+
bool
11+
select SOC_SERIES_STM32N6
12+
select RT_USING_COMPONENTS_INIT
13+
select RT_USING_USER_MAIN
14+
default y
15+
16+
config BOARD_STM32N657X0_NUCLEO
17+
bool
18+
select BOARD_SERIES_STM32_NUCLEO_144
19+
default y
20+
21+
source "$(RTT_DIR)/Kconfig"
22+
osource "$PKGS_DIR/Kconfig"
23+
rsource "../libraries/Kconfig"
24+
25+
if !RT_USING_NANO
26+
rsource "board/Kconfig"
27+
endif
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# STM32H743-Nucleo BSP Introduction
2+
3+
[中文](README_zh.md)
4+
5+
## MCU: STM32H743ZI @480MHz, 2MB FLASH, 1MB RAM
6+
7+
STM32H742xI/G and STM32H743xI/G devices are based on the high-performance Arm® Cortex®-M7 32-bit RISC core operating at up to 480 MHz. The Cortex® -M7 core features a floating point unit (FPU) which supports Arm® double-precision (IEEE 754 compliant) and single-precision data-processing instructions and data types. STM32H742xI/G and STM32H743xI/G devices support a full set of DSP instructions and a memory protection unit (MPU) to enhance application security.
8+
9+
STM32H742xI/G and STM32H743xI/G devices incorporate high-speed embedded memories with a dual-bank Flash memory of up to 2 Mbytes, up to 1 Mbyte of RAM (including 192 Kbytes of TCM RAM, up to 864 Kbytes of user SRAM and 4 Kbytes of backup SRAM), as well as an extensive range of enhanced I/Os and peripherals connected to APB buses, AHB buses, 2x32-bit multi-AHB bus matrix and a multi layer AXI interconnect supporting internal and external memory access.
10+
11+
#### KEY FEATURES
12+
13+
- Core
14+
- 32-bit Arm® Cortex®-M7 core with double-precision FPU and L1 cache: 16 Kbytes of data and 16 Kbytes of instruction cache; frequency up to 480 MHz, MPU, 1027 DMIPS/ 2.14 DMIPS/MHz (Dhrystone 2.1), and DSP instructions
15+
- Memories
16+
- Up to 2 Mbytes of Flash memory with read-while-write support
17+
- Up to 1 Mbyte of RAM: 192 Kbytes of TCM RAM (inc. 64 Kbytes of ITCM RAM + 128 Kbytes of DTCM RAM for time critical routines), Up to 864 Kbytes of user SRAM, and 4 Kbytes of SRAM in Backup domain
18+
- Dual mode Quad-SPI memory interface running up to 133 MHz
19+
- Flexible external memory controller with up to 32-bit data bus: SRAM, PSRAM, SDRAM/LPSDR SDRAM, NOR/NAND Flash memory clocked up to 100 MHz in Synchronous mode
20+
- CRC calculation unit
21+
- Security
22+
- ROP, PC-ROP, active tamper
23+
- General-purpose input/outputs
24+
- Up to 168 I/O ports with interrupt capability
25+
- Reset and power management
26+
- 3 separate power domains which can be independently clock-gated or switched off:
27+
- D1: high-performance capabilities
28+
- D2: communication peripherals and timers
29+
- D3: reset/clock control/power management
30+
- 1.62 to 3.6 V application supply and I/Os
31+
- POR, PDR, PVD and BOR
32+
- Dedicated USB power embedding a 3.3 V internal regulator to supply the internal PHYs
33+
- Embedded regulator (LDO) with configurable scalable output to supply the digital circuitry
34+
- Voltage scaling in Run and Stop mode (6 configurable ranges)
35+
- Backup regulator (~0.9 V)
36+
- Voltage reference for analog peripheral/VREF+
37+
- Low-power modes: Sleep, Stop, Standby and VBAT supporting battery charging
38+
- Low-power consumption
39+
- VBAT battery operating mode with charging capability
40+
- CPU and domain power state monitoring pins
41+
- 2.95 μA in Standby mode (Backup SRAM OFF, RTC/LSE ON)
42+
- Clock management
43+
- Internal oscillators: 64 MHz HSI, 48 MHz HSI48, 4 MHz CSI, 32 kHz LSI
44+
- External oscillators: 4-48 MHz HSE, 32.768 kHz LSE
45+
- 3× PLLs (1 for the system clock, 2 for kernel clocks) with Fractional mode
46+
- Interconnect matrix
47+
48+
- 4 DMA controllers to unload the CPU
49+
- 1× high-speed master direct memory access controller (MDMA) with linked list support
50+
- 2× dual-port DMAs with FIFO
51+
- 1× basic DMA with request router capabilities
52+
- Up to 35 communication peripherals
53+
- 4× I2Cs FM+ interfaces (SMBus/PMBus)
54+
- 4× USARTs/4x UARTs (ISO7816 interface, LIN, IrDA, up to 12.5 Mbit/s) and 1x LPUART
55+
- 6× SPIs, 3 with muxed duplex I2S audio class accuracy via internal audio PLL or external clock, 1x I2S in LP domain (up to 150 MHz)
56+
- 4x SAIs (serial audio interface)
57+
- SPDIFRX interface
58+
- SWPMI single-wire protocol master I/F
59+
- MDIO Slave interface
60+
- 2× SD/SDIO/MMC interfaces (up to 125 MHz)
61+
- 2× CAN controllers: 2 with CAN FD, 1 with time-triggered CAN (TT-CAN)
62+
- 2× USB OTG interfaces (1FS, 1HS/FS) crystal-less solution with LPM and BCD
63+
- Ethernet MAC interface with DMA controller
64+
- HDMI-CEC
65+
- 8- to 14-bit camera interface (up to 80 MHz)
66+
- 11 analog peripherals
67+
- 3× ADCs with 16-bit max. resolution (up to 36 channels, up to 3.6 MSPS)
68+
- 1× temperature sensor
69+
- 2× 12-bit D/A converters (1 MHz)
70+
- 2× ultra-low-power comparators
71+
- 2× operational amplifiers (7.3 MHz bandwidth)
72+
- 1× digital filters for sigma delta modulator (DFSDM) with 8 channels/4 filters
73+
- Graphics
74+
- LCD-TFT controller up to XGA resolution
75+
- Chrom-ART graphical hardware Accelerator™ (DMA2D) to reduce CPU load
76+
- Hardware JPEG Codec
77+
- Up to 22 timers and watchdogs
78+
- 1× high-resolution timer (2.1 ns max resolution)
79+
- 2× 32-bit timers with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input (up to 240 MHz)
80+
- 2× 16-bit advanced motor control timers (up to 240 MHz)
81+
- 10× 16-bit general-purpose timers (up to 240 MHz)
82+
- 5× 16-bit low-power timers (up to 240 MHz)
83+
- 2× watchdogs (independent and window)
84+
- 1× SysTick timer
85+
- RTC with sub-second accuracy and hardware calendar
86+
- Debug mode
87+
- SWD & JTAG interfaces
88+
- 4-Kbyte Embedded Trace Buffer
89+
- True random number generators (3 oscillators each)
90+
- 96-bit unique ID
91+
92+
93+
94+
## Read more
95+
96+
| Documents | Description |
97+
| :----------------------------------------------------------: | :----------------------------------------------------------: |
98+
| [STM32_Nucleo-144_BSP_Introduction](../docs/STM32_Nucleo-144_BSP_Introduction.md) | How to run RT-Thread on STM32 Nucleo-144 boards (**Must-Read**) |
99+
| [STM32H743ZI ST Official Website](https://www.st.com/en/microcontrollers-microprocessors/stm32h743zi.html#documentation) | STM32H743ZI datasheet and other resources |
100+
101+
102+
103+
## Maintained By
104+
105+
[tyustli](https://github.com/tyustli)
106+
107+
108+
109+
## Translated By
110+
111+
Meco Man @ RT-Thread Community
112+
113+
> jiantingman@foxmail.com
114+
>
115+
> https://github.com/mysterywolf
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# STM32H743-st-nucleo 开发板 BSP 说明
2+
3+
## 简介
4+
5+
本文档为 tyustli 为 STM32H743-st-nucleo 开发板提供的 BSP (板级支持包) 说明。
6+
7+
主要内容如下:
8+
9+
- 开发板资源介绍
10+
- BSP 快速上手
11+
- 进阶使用方法
12+
13+
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
14+
15+
## 开发板介绍
16+
17+
STM32H743 是 ST 推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 400Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32H743 的芯片性能。
18+
19+
开发板外观如下图所示:
20+
21+
![board](figures/board.jpg)
22+
23+
该开发板常用 **板载资源** 如下:
24+
25+
- MCU:STM32H743,主频 400MHz,2MB FLASH ,1MB RAM
26+
- 常用接口:USB 转串口、以太网接口、arduino 接口等
27+
- 调试接口,标准 JTAG/SWD
28+
29+
开发板更多详细信息请参考 ST [STM32H743](https://www.st.com/en/evaluation-tools/nucleo-h743zi.html)
30+
31+
## 外设支持
32+
33+
本 BSP 目前对外设的支持情况如下:
34+
35+
| **板载外设** | **支持情况** | **备注** |
36+
| :----------------- | :----------: | :------------------------------------- |
37+
| USB 转串口 | 支持 |
38+
| **片上外设** | **支持情况** | **备注** |
39+
| GPIO | 支持 | |
40+
| UART | 支持 | UART3 |
41+
42+
43+
## 使用说明
44+
45+
使用说明分为如下两个章节:
46+
47+
- 快速上手
48+
49+
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
50+
51+
- 进阶使用
52+
53+
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
54+
55+
56+
### 快速上手
57+
58+
本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
59+
60+
**请注意!!!**
61+
62+
在执行编译工作前请先打开ENV执行以下指令(该指令用于拉取必要的HAL库及CMSIS库,否则无法通过编译):
63+
64+
```bash
65+
pkgs --update
66+
```
67+
68+
#### 硬件连接
69+
70+
使用数据线连接开发板到 PC,打开电源开关。
71+
72+
#### 编译下载
73+
74+
双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
75+
76+
> 工程默认配置使用 ST_LINK 仿真器下载程序,在通过 ST_LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
77+
78+
#### 运行结果
79+
80+
下载程序成功之后,系统会自动运行,LED闪烁。
81+
82+
连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
83+
84+
```bash
85+
\ | /
86+
- RT - Thread Operating System
87+
/ | \ 4.0.1 build Mar 5 2019
88+
2006 - 2019 Copyright by rt-thread team
89+
msh >
90+
```
91+
### 进阶使用
92+
93+
此 BSP 默认只开启了 GPIO 和 串口3 的功能,如果需使用更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
94+
95+
1. 在 bsp 下打开 env 工具。
96+
97+
2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
98+
99+
3. 输入`pkgs --update`命令更新软件包。
100+
101+
4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
102+
103+
本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)
104+
105+
## 注意事项
106+
107+
- 调试串口为串口3 映射说明
108+
109+
PD8 ------> USART3_TX
110+
111+
PD9 ------> USART3_RX
112+
113+
## 联系人信息
114+
115+
维护人:
116+
117+
- [tyustli](https://github.com/tyustli)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# for module compiling
2+
import os
3+
Import('env')
4+
from building import *
5+
6+
cwd = GetCurrentDir()
7+
objs = []
8+
list = os.listdir(cwd)
9+
10+
# STM32N657xx
11+
# You can select chips from the list above
12+
env.Append(CPPDEFINES = ['STM32N657xx', 'USE_HAL_DRIVER'])
13+
14+
for d in list:
15+
path = os.path.join(cwd, d)
16+
if os.path.isfile(os.path.join(path, 'SConscript')):
17+
objs = objs + SConscript(os.path.join(d, 'SConscript'))
18+
19+
Return('objs')

0 commit comments

Comments
 (0)