+
+- æœ‰å…³å¼€å‘æ¿å’ŒèŠ¯ç‰‡çš„è¯¦æƒ…å¯è‡³æžæµ·å®˜ç½‘查阅。[å®˜ç½‘å¼€å‘æ¿é“¾æŽ¥ ](https://www.geehy.com/support/apm32?id=192)
+
+
+è¯¥å¼€å‘æ¿å¸¸ç”¨ **æ¿è½½èµ„æº** 如下:
+
+- MCU:APM32F072VBT6,主频 48MHz,128KB FLASH ,16KB RAM
+- 外部 RAM:æ—
+- 外部 FLASH:æ—
+- 常用外设
+ - LED:2个,(黄色,PE5/PE6)
+ - 按键:2个,K1(PA1),K2(PA0)
+- 常用接å£ï¼šRS232转串å£ã€USB SLAVE
+- 调试接å£ï¼šæ ‡å‡† JTAG/SWD
+
+
+
+## 外设支æŒ
+
+本 BSP ç›®å‰å¯¹å¤–è®¾çš„æ”¯æŒæƒ…况如下:
+
+| **æ¿è½½å¤–设** | **æ”¯æŒæƒ…况** | **备注** |
+| :----------- | :----------: | :------------------------------------ |
+| RS232è½¬ä¸²å£ | æ”¯æŒ | 使用 UART1/ UART2(通过跳线选择) |
+| **片上外设** | **æ”¯æŒæƒ…况** | **备注** |
+| GPIO | æ”¯æŒ | PA0, PA1... PF10 ---> PIN: 0, 1...89 |
+| UART | æ”¯æŒ | UART1/2 |
+| ADC | æ”¯æŒ | ADC1 |
+| DAC | æ”¯æŒ | DAC1 |
+| RTC | æ”¯æŒ | 支æŒå¤–部晶振和内部低速时钟 |
+| TMR | æ”¯æŒ | TMR1/2/3/6/7/14/15/16/17 |
+| PWM | æ”¯æŒ | TMR3 ->CH1/2/3/4 |
+| I2C | æ”¯æŒ | 软件I2C |
+| SPI | æ”¯æŒ | SPI1/2 |
+| WDT | æ”¯æŒ | IWDT |
+
+## 使用说明
+
+æœ¬ç« èŠ‚æ˜¯ä¸ºåˆšæŽ¥è§¦ RT-Thread 的新手准备的使用说明,éµå¾ªç®€å•çš„æ¥éª¤å³å¯å°† RT-Thread æ“作系统è¿è¡Œåœ¨è¯¥å¼€å‘æ¿ä¸Šï¼Œçœ‹åˆ°å®žéªŒæ•ˆæžœ 。
+
+
+### 快速上手
+
+本 BSP 为开å‘者æä¾›MDK5 工程。下é¢ä»¥ MDK5 å¼€å‘环境为例,介ç»å¦‚何将系统è¿è¡Œèµ·æ¥ã€‚
+
+#### 硬件连接
+
+使用数æ®çº¿è¿žæŽ¥å¼€å‘æ¿åˆ° PC,打开电æºå¼€å…³ã€‚
+
+#### 编译下载
+- æ–¹å¼ä¸€ï¼šMDK
+
+ åŒå‡» project.uvprojx 文件,打开 MDK5 工程,编译并下载程åºåˆ°å¼€å‘æ¿ã€‚
+
+> 工程默认é…置使用 J-Link 仿真器下载程åºï¼Œåœ¨é€šè¿‡ J-Link è¿žæŽ¥å¼€å‘æ¿çš„基础上,点击下载按钮å³å¯ä¸‹è½½ç¨‹åºåˆ°å¼€å‘æ¿
+
+- æ–¹å¼äºŒï¼šJ-Flash下载
+
+ 通过ENV工具的scons指令或MDK编译出bin文件åŽï¼Œå†ä½¿ç”¨J-Flash工具将binæ–‡ä»¶ä¸‹è½½è‡³å¼€å‘æ¿å³å¯ï¼Œå¤§è‡´æ¥éª¤å¦‚下:
+
+##### 1ã€å»ºç«‹J-Flash工程
+
+
+
+**注æ„**:æ¥éª¤4é€‰æ‹©èŠ¯ç‰‡åž‹å·æ—¶ï¼Œè¦æ ¹æ®è‡ªå·±çš„开呿¿æ‰€ç”¨çš„芯片型å·è¿›è¡Œé€‰æ‹©ã€‚æ¯”å¦‚æœ¬å¼€å‘æ¿ï¼Œåˆ™é€‰æ‹©å¯¹åº”çš„ **APM32F072VBT6** 。
+
+##### 2ã€è¿žæŽ¥å¼€å‘æ¿
+
+
+##### 3ã€å°†bin文件拖至工程,起始地å€è®¾ä¸º0x8000000
+
+##### 4ã€ç‚¹å‡»ä¸‹è½½
+
+
+#### è¿è¡Œç»“æžœ
+
+ä¸‹è½½ç¨‹åºæˆåŠŸä¹‹åŽï¼Œç³»ç»Ÿä¼šè‡ªåЍè¿è¡Œï¼ŒLED é—ªçƒ
+
+è¿žæŽ¥å¼€å‘æ¿å¯¹åº”串å£åˆ° PC , 在终端工具里打开相应的串å£ï¼ˆ115200-8-1-N),å¤ä½è®¾å¤‡åŽï¼Œå¯ä»¥çœ‹åˆ° RT-Thread 的输出信æ¯:
+
+```bash
+ \ | /
+- RT - Thread Operating System
+ / | \ 4.1.0 build Aug 20 2021
+ 2006 - 2021 Copyright by rt-thread team
+msh >
+```
+## 注æ„事项
+
+- å¯åœ¨æžæµ·å®˜æ–¹ç½‘站进行所需资料下载,如pack安装包和MINI开呿¿åŽŸç†å›¾ç‰ï¼ˆwww.geehy.com);
+
+## è”系人信æ¯
+
+-[abbbcc ](https://gitee.com/abbbcc)
+
+-[stevetong459 ](https://github.com/stevetong459)
+
+-[luobeihai](https://github.com/luobeihai)
\ No newline at end of file
diff --git a/bsp/apm32/apm32f072vb-miniboard/SConscript b/bsp/apm32/apm32f072vb-miniboard/SConscript
new file mode 100644
index 0000000000..20f7689c53
--- /dev/null
+++ b/bsp/apm32/apm32f072vb-miniboard/SConscript
@@ -0,0 +1,15 @@
+# for module compiling
+import os
+Import('RTT_ROOT')
+from building import *
+
+cwd = GetCurrentDir()
+objs = []
+list = os.listdir(cwd)
+
+for d in list:
+ path = os.path.join(cwd, d)
+ if os.path.isfile(os.path.join(path, 'SConscript')):
+ objs = objs + SConscript(os.path.join(d, 'SConscript'))
+
+Return('objs')
diff --git a/bsp/apm32/apm32f072vb-miniboard/SConstruct b/bsp/apm32/apm32f072vb-miniboard/SConstruct
new file mode 100644
index 0000000000..5660242653
--- /dev/null
+++ b/bsp/apm32/apm32f072vb-miniboard/SConstruct
@@ -0,0 +1,60 @@
+import os
+import sys
+import rtconfig
+
+if os.getenv('RTT_ROOT'):
+ RTT_ROOT = os.getenv('RTT_ROOT')
+else:
+ RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..')
+
+sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
+try:
+ from building import *
+except:
+ print('Cannot found RT-Thread root directory, please check RTT_ROOT')
+ print(RTT_ROOT)
+ exit(-1)
+
+TARGET = 'rt-thread.' + rtconfig.TARGET_EXT
+
+DefaultEnvironment(tools=[])
+env = Environment(tools = ['mingw'],
+ AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
+ AR = rtconfig.AR, ARFLAGS = '-rc',
+ CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
+ LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
+env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
+
+if rtconfig.PLATFORM in ['iccarm']:
+ env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
+ env.Replace(ARFLAGS = [''])
+ env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map')
+
+Export('RTT_ROOT')
+Export('rtconfig')
+
+SDK_ROOT = os.path.abspath('./')
+
+if os.path.exists(SDK_ROOT + '/libraries'):
+ libraries_path_prefix = SDK_ROOT + '/libraries'
+else:
+ libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
+
+SDK_LIB = libraries_path_prefix
+Export('SDK_LIB')
+
+# prepare building environment
+objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
+
+apm32_library = 'APM32F0xx_Library'
+rtconfig.BSP_LIBRARY_TYPE = apm32_library
+
+# include libraries
+objs.extend(SConscript(os.path.join(libraries_path_prefix, apm32_library, 'SConscript')))
+
+# include drivers
+objs.extend(SConscript(os.path.join(libraries_path_prefix, 'Drivers', 'SConscript')))
+
+# make a building
+DoBuilding(TARGET, objs)
diff --git a/bsp/apm32/apm32f072vb-miniboard/applications/SConscript b/bsp/apm32/apm32f072vb-miniboard/applications/SConscript
new file mode 100644
index 0000000000..9bb9abae89
--- /dev/null
+++ b/bsp/apm32/apm32f072vb-miniboard/applications/SConscript
@@ -0,0 +1,15 @@
+from building import *
+import os
+
+cwd = GetCurrentDir()
+src = Glob('*.c')
+CPPPATH = [cwd]
+
+group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)
+
+list = os.listdir(cwd)
+for item in list:
+ if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
+ group = group + SConscript(os.path.join(item, 'SConscript'))
+
+Return('group')
diff --git a/bsp/apm32/apm32f072vb-miniboard/applications/main.c b/bsp/apm32/apm32f072vb-miniboard/applications/main.c
new file mode 100644
index 0000000000..de1309f793
--- /dev/null
+++ b/bsp/apm32/apm32f072vb-miniboard/applications/main.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2006-2018, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-11-06 zylx first version
+ */
+
+#include `?
zrL?_s|906!Y7ac$dVM|$T!V}J?I(9k6g&4GTreM!Ld`@q`=O#e^t}*mO2Fw&`Qz70
z#*l}Kn;{zMQq78@w@J9)(}Jk6vE^Tt6m0{fk?|vcVJ9s_Q;5VhTK~;nbYJodii8K8
zG}k`qA#Uz$RH@mSs<+W@rY`CiwC?Ah?^oklWB)le<%iio3?Zv-^^INVqkK>BKZknt
zW&@e#SQGy{{6sN#*7@I6{@A
zZKzAA<55lN6_ryYrSX-5H9dez08n-|2|G11H9CgfT-q~QFu;N@i5@8lErgyLVAUe}
z5-=N!XM6izF%%P+f~+WA_z};Fy#TdPUp#NeU6M2iHR+QCR>B@>9k+?@Q+o4UAbStu
zxu5z6Nb^5c-?(+2l^SO5!9S?0Kc6Q)?^o4zb!4}Y_