• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..21-Aug-2025-

applications/21-Aug-2025-

board/21-Aug-2025-

.config A D21-Aug-202545.8 KiB1,4081,299

Kconfig A D21-Aug-2025184 127

README.md A D21-Aug-20256.5 KiB165133

SConscript A D21-Aug-2025247 128

SConstruct A D21-Aug-20251.5 KiB5037

project.ewp A D21-Aug-202565.2 KiB2,3692,368

project.eww A D21-Aug-2025161 117

project.uvoptx A D21-Aug-20255.5 KiB186178

project.uvprojx A D21-Aug-202545.1 KiB1,2671,266

rtconfig.h A D21-Aug-20258 KiB41073

rtconfig.py A D21-Aug-20253.7 KiB137108

template.ewp A D21-Aug-202569 KiB2,0322,031

template.eww A D21-Aug-2025152 117

template.uvoptx A D21-Aug-20255.5 KiB186178

template.uvprojx A D21-Aug-202513.9 KiB396390

README.md

1# SWM320 BSP 说明
2
3标签: SYNWIT、Cortex-M4、SWM320、国产MCU
4
5---
6
7## 简介
8
9本文档为SWM320开发板提供的 BSP (板级支持包) 说明。
10
11通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。
12
13## 芯片介绍
14
15- 内核
16  - 32位ARM® Cortex™-M4 内核
17  - 24位系统定时器
18  - 工作频率最高120MHz
19  - 硬件单周期乘法
20  - 集成嵌套向量中断控制器(NVIC),提供最多240个、8级可配置优先级的中断
21  - 通过SWD接口烧录
22- 内置LDO
23  - 供电电压范围为2.0V至3.6V
24- 片上SRAM存储器
25  - 128KB
26- 片上FLASH存储器
27  - 128KB/256KB/512KB
28  - 支持用户定制ISP(在系统编程)更新用户程序
29- 串行接口
30  - UART模块,具有独立8字节FIFO,最高支持主时钟16分频
31  - SPI模块,具有8字节独立FIFO,支持SPI、SSI协议,支持Master/slave模式
32  - I2C模块,支持7位、10位地址方式,支持Master/slave模式
33  - CAN模块,支持协议2.0A(11Bit标识符)和2.0B(29Bit标识符)
34- PWM控制模块
35  - 12通道16位PWM产生器
36  - 可设置高电平结束或周期开始两种条件触发中断
37  - 具有普通、互补、中心对称等多种输出模式
38  - 支持死区控制
39  - ADC采样触发
40- 定时器模块
41  - 6路32位通用定时器
42  - 具备独立中断
43  - 可做计数器使用
44  - 支持输入单脉冲捕获功能
45  - 32位看门狗定时器,溢出后可配置触发中断或复位芯片
46- RTC模块
47  - 可自由设置日期(年、月、周、日)和时间(时、分、秒)
48  - 可自由设置闹钟(周、时、分、秒)
49  - 自动识别当前设置年份是否为闰年
50  - 支持RTC中断从Sleep模式下唤醒芯片
51- DMA模块
52  - 支持存储器到存储器之间的数据搬运
53- SRAMC模块
54  - 支持8位数据位宽和16位数据位宽的外部SRAM存储器
55  - 最大支持24位地址线
56- SDRAMC模块
57  - 支持16Bit位宽的SDRAM
58  - 支持兼容PC133标准的SDRAM颗粒
59  - 支持2MB到32MB的外部SDRAM颗粒
60- NORFLC模块
61  - 支持并行NOR FLASH接口
62  - 支持8位数据位宽和16位数据位宽的外部NOR FLASH存储器
63  - 最大支持24位地址线
64- SDIO接口模块
65  - 支持标准SDIO接口协议
66- TFT-LCD驱动模块
67  - 支持SYNC接口的外部LCD扩展
68  - 支持最高分辨率1024*768,实际分辨率可以配置
69  - 输出数据宽度16Bit
70  - 支持横屏和竖屏模式
71- GPIO
72  - 最多可达100个GPIO
73  - 可配置2种IO模式
74  - 上拉输入
75  - 下拉输入
76  - 灵活的中断配置
77  - 触发类型设置(边沿检测、电平检测)
78  - 触发电平设置(高电平、低电平)
79  - 触发边沿设置(上升沿、下降沿、双边沿)
80- 模拟外设
81  - 最多2个12位8通道高精度SAR ADC
82  - 采样率高达1M SPS
83  - 内建参考电压
84  - 支持single、scan两种模式
85  - 独立的结果寄存器
86  - 提供独立FIFO
87  - 可由软件、PWM触发
88- 欠压检测(BOD)
89  - 支持欠压检测
90  - 支持欠压中断和复位选择
91- 时钟源
92  - 20MHz/40MHz精度可达1%的片内时钟源
93  - 32K片内时钟源
94  - 2~32MHz片外晶振
95
96芯片更多详细信息请参考[华芯微特技术支持](http://www.synwit.cn/support-1/3.html)97
98## 编译说明
99
100本 BSP 为开发者提供 MDK5 工程。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
101
102双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
103
104> 工程默认配置使用 Jlink 仿真器下载程序,在通过 Jlink 连接开发板到 PC 的基础上,点击下载按钮即可下载程序到开发板
105
106推荐熟悉 RT_Thread 的用户使用[env工具](https://www.rt-thread.org/download.html#download-rt-thread-env-tool),可以在console下进入到 `bsp/synwit/swm320` 目录中,运行以下命令:
107
108`scons`
109
110来编译这个板级支持包。如果编译正确无误,会产生rtthread.elfrtthread.bin文件。其中 rtthread.bin 可以烧写到设备中运行。
111
112## 烧写及执行
113
114### 硬件连接
115
116- 使用 USB B-Type 数据线连接开发板到 PC(注意:需要下载安装串口驱动支持 CH340 芯片,使用 MDK5 需要安装 SWM320 相关的 pack)。
117
118  >  USB B-Type 数据线用于串口通讯,同时供电
119
120- 使用 Jlink 连接开发板到 PC (需要 Jlink 驱动)
121
122将串口 1 引脚为:`[PC2/PC3]`和 USB 转串口模块 J11 相连,串口配置方式为115200-N-8-1。
123
124当使用 [env工具](https://www.rt-thread.org/download.html#download-rt-thread-env-tool) 正确编译产生出rtthread.bin映像文件后,可以使用 ISP 的方式来烧写到设备中。
125
126**建议使用 keil 软件直接下载**。ISP 下载较复杂。
127
128### 运行结果
129
130如果编译 & 烧写无误,当复位设备后,会在串口上看到板子上的蓝色LED闪烁。串口打印RT-Thread的启动logo信息:
131
132```
133 \ | /
134- RT -     Thread Operating System
135 / | \     4.0.0 build Dec 11 2018
136 2006 - 2018 Copyright by rt-thread team
137msh />
138```
139## 外设支持
140
141本 BSP 目前对外设的支持情况如下:
142
143| **片上外设**        | **支持情况**  | **备注**                              |
144| :----------------- | :----------: | :----------------------------------- |
145| GPIO               |     支持     | PA0, PA1... PP23 ---> PIN: 0, 1...100 |
146| UART               |     支持     | UART0/1/2/3                           |
147| ADC                |     支持     | ADC0/1                                |
148| TIM                |     支持     | TIM0/1/2/3/4/5                        |
149| I2C                |     支持     | 软件 I2C0/1                            |
150| PWM                |     支持     | PWM0/1/2/3/4/5                        |
151| RTC                |     支持     | RTC                                   |
152| SPI                |     支持     | SPI0/1                                |
153| WDT                |     支持     | WDT                                   |
154| CRC                |     支持     | CRC                                   |
155| SDIO               |     支持     | SDIO                                  |
156| SRAM               |     支持     | SRAM                                  |
157| NOR FLASH          |     支持     | NOR FLASH                             |
158| CAN                |    暂不支持   |                                       |
159
160## 参考资料
161
162* [RT-Thread 文档中心](https://www.rt-thread.org/document/site/)
163
164* [SWM320数据手册](https://www.synwit.cn/col.jsp?id=155)
165