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

..21-Aug-2025-

applications/21-Aug-2025-

drivers/21-Aug-2025-

figures/21-Aug-2025-

libraries/21-Aug-2025-

.config A D21-Aug-202551.4 KiB1,5981,479

Kconfig A D21-Aug-2025396 2415

README.md A D21-Aug-20255.8 KiB237158

SConscript A D21-Aug-2025305 1511

SConstruct A D21-Aug-2025853 3325

ft_aarch32.lds A D21-Aug-20252.3 KiB11297

make.sh A D21-Aug-2025407 163

rtconfig.h A D21-Aug-202511.5 KiB542186

rtconfig.py A D21-Aug-20251.5 KiB6040

README.md

1# ft2004 四核开发板 BSP 说明
2
3## 简介
4
5本文档为 飞腾技术公司 ft2000/4 开发板的 BSP (板级支持包) 说明。
6
7主要内容如下:
8
9- 开发板资源介绍
10- BSP 外设支持
11- 使用方法
12- 相关实验
13
14### 1. 开发板资源介绍
15
16FT-2000/4 是一款面向桌面应用的高性能通用 4 核处理器。每 2 个核构成 1
17个处理器核簇(Cluster),并共享 L2 Cache。主要技术特征如下:
18
19- 兼容 ARM v8 64 位指令系统,兼容 32 位指令
20- 支持单精度、双精度浮点运算指令
21- 支持 ASIMD 处理指令
22- 集成 2 个 DDR4 通道,可对 DDR 存储数据进行实时加密
23- 集成 34 Lane PCIE3.0 接口:2 个 X16(每个可拆分成 2 个 X8),2 个 X1
24- 集成 2 个 GMAC,RGMII 接口,支持 10/100/1000 自适应
25- 集成 1 个 SD 卡控制器,兼容 SD 2.0 规范
26- 集成 1 个 HDAudio,支持音频输出,可同时支持最多 4 个 Codec
27- 集成 SM2、SM3、SM4 模块
28- 集成 4 个 UART,1 个 LPC,32 个 GPIO,4 个 I2C,1 个 QSPI,2 个通
29  用 SPI,2 个 WDT,16 个外部中断(和 GPIO 共用 IO)
30- 集成温度传感器
31
32### 2. BSP 外设支持
33
34| 外设名   | 支持情况 | 备注                   |
35| -------- | -------- | ---------------------- |
36| ft_gicv3 | 支持     | gicv3 中断控制器       |
37| ft_gmac  | 支持     | ft gmac 千兆网卡控制器 |
38| ft_i2c   | 支持     | FT I2C                 |
39| ft_qspi  | 支持     | FT qspi 控制器         |
40| ft_sd    | 支持     | FT mmcsd 控制器        |
41| ft_uart  | 支持     | PrimeCell PL011        |
42| ft_spi   | 支持     | FT spi 控制器          |
43| ft_gpio  | 支持     | FT gpio 控制器         |
44| ft_can   | 支持     | FT can 控制器          |
45
46### 3. 使用方法
47
48#### ubuntu 上环境搭建
49
501. 在 ubuntu 环境下通过指令,下载并安装交叉编译链
51
52```
53sudo apt-get install gcc-arm-none-eabi
54```
55
562. 安装之后,通过指令,确定交叉编译链安装完毕
57
58```
59arm-none-eabi-gcc -v
60```
61
623. 搭建 tftp 环境
63
64   - 在主机安装 tftp 服务
65     > 使用 ubuntu 完成下列操作
66
67   ```
68   sudo apt-get install tftp-hpa tftpd-hpa
69   sudo apt-get install xinetd
70   ```
71
72   - 新建 tftboot 目录,如:
73     `/mnt/d/tftboot`
74
75   > 需要给 tftboot 目录执行权限`chmod 777 /**/tftboot`
76
77   - 配置主机 tftpboot 服务
78
79   新建并配置文件/etc/xinetd.d/tftp
80
81   ```
82   # /etc/xinetd.d/tftp
83
84   server tftp
85   {
86   socket_type = dgram
87   protocol = udp
88   wait = yes
89   user = root
90   server = /usr/sbin/in.tftpd
91   server_args = -s /mnt/d/tftboot
92   disable = no
93   per_source = 11
94   cps = 100 2
95   flags = IPv4
96   }
97   ```
98
99   - 启动主机 tftp 服务
100
101   ```
102   sudo service tftpd-hpa start
103   ```
104
105   - 修改主机 tftp 配置
106     修改/etc/default/tftpd-hpa
107
108   ```
109   sudo nano /etc/default/tftpd-hpa
110   # /etc/default/tftpd-hpa
111
112   TFTP_USERNAME="tftp"
113   TFTP_DIRECTORY="/mnt/d/tftboot"
114   TFTP_ADDRESS=":69"
115   TFTP_OPTIONS="-l -c -s"
116   ```
117
118   - 重启主机 tftp 服务
119     > 每次开机要重启一次
120
121   ```
122   sudo service tftpd-hpa restart
123   ```
124
125   - 测试主机 tftp 服务的可用性
126     > 登录 tftp 服务,获取一个文件
127
128   ```
129   $ tftp 192.168.4.50
130   tftp> get test1234
131   tftp> q
132   ```
133
134#### 执行
135
1361. 将本 bsp 包拷贝至 RT-THREAD bsp/目录下
137
1381. 在 Ubuntu 终端下,切换至 bsp 目录
139
140```
141cd rt-thread/bsp/ft2004
142```
143
1443. 使用 scons -c 清空工程缓存
145
1464. 使用 scons --menuconfig 配置需要的外设
147
148![](./figures/onchipPeripheral.png)
149
1505. 使用 scons 编译代码,得到 rtthread.bin,并将 rtthread.bin 放入之前配置的 tftp 路径下。
151
1526. 连接开发板对应串口到 PC, 在终端工具里打开相应的串口(115200-8-1-N)。
153
1547. 将开发板网线接入局域网中
155
1568. 本开发板自带 uboot,使用 uboot 自带 指令进行将 bin 文件下载至 ram 中
157
158```
159setenv ipaddr 192.168.x.x      # 设置开发板ip
160setenv serverip 192.168.x.x    # 设置tftp服务器ip
161setenv gatewayip 192.168.x.x   # 设置网关ip
162tftpboot 80100000 rtthread.bin # 在主机 /tftpboot目录中的rtthread.bin文件下载到开发板内存的80100000地址中。
163```
164
1657. 执行跳转指令,便可以正常执行
166
167```
168bootvx32 80100000
169170boot32 80100000
171```
172
173![](./figures/启动演示图.png)
174
175### 5. 相关实验
176
177#### 网卡
178
179- 主机 ping 本机 指令 sudo ping 192.168.3.20 (默认)
180
181- rtt ping 主机 指令 ping 192.168.x.x (根据实际情况)
182
183- 通过界面
184
185![](./figures/rttPing通过界面.png)
186
187#### sd 卡调试
188
189- 通过基本命令进行,mv ,echo ,ls ,cd ,rm ....
190
191![](./figures/rttsd调试.png)
192
193#### spi flash 卡调试
194
195- 找一块有 spi flash 插槽的 ft-2004 开发板,插入 sf25s 或 gd25q 系列 spi flash
196- 配置 rt-thread 的编译选项,打开 BSP_USE_SPI 和 BSP_USE_GPIO 配置,关闭 BSP_USE_QSPI 配置,打开 rt-thread 的 SFUD 调试开关
197- 编译 rt-thread,加载版本启动,启动后显示 spi flash probe 成功
198- 执行 sf 基本操作,read, write, erase
199
200#### 推荐指令
201
2021. sf probe S25FS256
203
2042. sf read 0x1FFF000 16
205
2063. sf write 0x1FFF000 16 25 68 78 95 15 75 20
207
2084. sf read 0x1FFF000 16
209
2105. sf erase 0x1FFF000 16
211
212#### can 测试
213
2141. 使用 scons menuconfig 选中 Enable Can
215
2162. 然后选中 Enable can0 ,Enable can0 work in loop back
217
2183. 烧录程序并且烧录
219
2204. 打开 can 盒,将波特率设为 1000000
221
2225. 然后通过 can 盒发送对应的数据(标准帧,扩展帧),就可以看见回复同样的内容
223
224## 6. 参考资源
225
226- ARM Architecture Reference Manual
227
228- FT-2000/4 软件编程手册-V1.4
229
230## 7. 联系人信息
231
232请联系飞腾嵌入式软件部
233
234huanghe@phytium.com.cn
235
236zhugengyu@phytium.com.cn
237