You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
236 lines
5.6 KiB
236 lines
5.6 KiB
# ft2004 四核开发板 BSP 说明
|
|
|
|
## 简介
|
|
|
|
本文档为 飞腾技术公司 ft2000/4 开发板的 BSP (板级支持包) 说明。
|
|
|
|
主要内容如下:
|
|
|
|
- 开发板资源介绍
|
|
- BSP 外设支持
|
|
- 使用方法
|
|
- 相关实验
|
|
|
|
### 1. 开发板资源介绍
|
|
|
|
FT-2000/4 是一款面向桌面应用的高性能通用 4 核处理器。每 2 个核构成 1
|
|
个处理器核簇(Cluster),并共享 L2 Cache。主要技术特征如下:
|
|
|
|
- 兼容 ARM v8 64 位指令系统,兼容 32 位指令
|
|
- 支持单精度、双精度浮点运算指令
|
|
- 支持 ASIMD 处理指令
|
|
- 集成 2 个 DDR4 通道,可对 DDR 存储数据进行实时加密
|
|
- 集成 34 Lane PCIE3.0 接口:2 个 X16(每个可拆分成 2 个 X8),2 个 X1
|
|
- 集成 2 个 GMAC,RGMII 接口,支持 10/100/1000 自适应
|
|
- 集成 1 个 SD 卡控制器,兼容 SD 2.0 规范
|
|
- 集成 1 个 HDAudio,支持音频输出,可同时支持最多 4 个 Codec
|
|
- 集成 SM2、SM3、SM4 模块
|
|
- 集成 4 个 UART,1 个 LPC,32 个 GPIO,4 个 I2C,1 个 QSPI,2 个通
|
|
用 SPI,2 个 WDT,16 个外部中断(和 GPIO 共用 IO)
|
|
- 集成温度传感器
|
|
|
|
### 2. BSP 外设支持
|
|
|
|
| 外设名 | 支持情况 | 备注 |
|
|
| -------- | -------- | ---------------------- |
|
|
| ft_gicv3 | 支持 | gicv3 中断控制器 |
|
|
| ft_gmac | 支持 | ft gmac 千兆网卡控制器 |
|
|
| ft_i2c | 支持 | FT I2C |
|
|
| ft_qspi | 支持 | FT qspi 控制器 |
|
|
| ft_sd | 支持 | FT mmcsd 控制器 |
|
|
| ft_uart | 支持 | PrimeCell PL011 |
|
|
| ft_spi | 支持 | FT spi 控制器 |
|
|
| ft_gpio | 支持 | FT gpio 控制器 |
|
|
| ft_can | 支持 | FT can 控制器 |
|
|
|
|
### 3. 使用方法
|
|
|
|
#### ubuntu 上环境搭建
|
|
|
|
1. 在 ubuntu 环境下通过指令,下载并安装交叉编译链
|
|
|
|
```
|
|
sudo apt-get install gcc-arm-none-eabi
|
|
```
|
|
|
|
2. 安装之后,通过指令,确定交叉编译链安装完毕
|
|
|
|
```
|
|
arm-none-eabi-gcc -v
|
|
```
|
|
|
|
3. 搭建 tftp 环境
|
|
|
|
- 在主机安装 tftp 服务
|
|
> 使用 ubuntu 完成下列操作
|
|
|
|
```
|
|
sudo apt-get install tftp-hpa tftpd-hpa
|
|
sudo apt-get install xinetd
|
|
```
|
|
|
|
- 新建 tftboot 目录,如:
|
|
`/mnt/d/tftboot`
|
|
|
|
> 需要给 tftboot 目录执行权限`chmod 777 /**/tftboot`
|
|
|
|
- 配置主机 tftpboot 服务
|
|
|
|
新建并配置文件/etc/xinetd.d/tftp
|
|
|
|
```
|
|
# /etc/xinetd.d/tftp
|
|
|
|
server tftp
|
|
{
|
|
socket_type = dgram
|
|
protocol = udp
|
|
wait = yes
|
|
user = root
|
|
server = /usr/sbin/in.tftpd
|
|
server_args = -s /mnt/d/tftboot
|
|
disable = no
|
|
per_source = 11
|
|
cps = 100 2
|
|
flags = IPv4
|
|
}
|
|
```
|
|
|
|
- 启动主机 tftp 服务
|
|
|
|
```
|
|
sudo service tftpd-hpa start
|
|
```
|
|
|
|
- 修改主机 tftp 配置
|
|
修改/etc/default/tftpd-hpa
|
|
|
|
```
|
|
sudo nano /etc/default/tftpd-hpa
|
|
# /etc/default/tftpd-hpa
|
|
|
|
TFTP_USERNAME="tftp"
|
|
TFTP_DIRECTORY="/mnt/d/tftboot"
|
|
TFTP_ADDRESS=":69"
|
|
TFTP_OPTIONS="-l -c -s"
|
|
```
|
|
|
|
- 重启主机 tftp 服务
|
|
> 每次开机要重启一次
|
|
|
|
```
|
|
sudo service tftpd-hpa restart
|
|
```
|
|
|
|
- 测试主机 tftp 服务的可用性
|
|
> 登录 tftp 服务,获取一个文件
|
|
|
|
```
|
|
$ tftp 192.168.4.50
|
|
tftp> get test1234
|
|
tftp> q
|
|
```
|
|
|
|
#### 执行
|
|
|
|
1. 将本 bsp 包拷贝至 RT-THREAD bsp/目录下
|
|
|
|
1. 在 Ubuntu 终端下,切换至 bsp 目录
|
|
|
|
```
|
|
cd rt-thread/bsp/ft2004
|
|
```
|
|
|
|
3. 使用 scons -c 清空工程缓存
|
|
|
|
4. 使用 scons --menuconfig 配置需要的外设
|
|
|
|
![](./figures/onchipPeripheral.png)
|
|
|
|
5. 使用 scons 编译代码,得到 rtthread.bin,并将 rtthread.bin 放入之前配置的 tftp 路径下。
|
|
|
|
6. 连接开发板对应串口到 PC, 在终端工具里打开相应的串口(115200-8-1-N)。
|
|
|
|
7. 将开发板网线接入局域网中
|
|
|
|
8. 本开发板自带 uboot,使用 uboot 自带 指令进行将 bin 文件下载至 ram 中
|
|
|
|
```
|
|
setenv ipaddr 192.168.x.x # 设置开发板ip
|
|
setenv serverip 192.168.x.x # 设置tftp服务器ip
|
|
setenv gatewayip 192.168.x.x # 设置网关ip
|
|
tftpboot 80100000 rtthread.bin # 在主机 /tftpboot目录中的rtthread.bin文件下载到开发板内存的80100000地址中。
|
|
```
|
|
|
|
7. 执行跳转指令,便可以正常执行
|
|
|
|
```
|
|
bootvx32 80100000
|
|
或
|
|
boot32 80100000
|
|
```
|
|
|
|
![](./figures/启动演示图.png)
|
|
|
|
### 5. 相关实验
|
|
|
|
#### 网卡
|
|
|
|
- 主机 ping 本机 指令 sudo ping 192.168.3.20 (默认)
|
|
|
|
- rtt ping 主机 指令 ping 192.168.x.x (根据实际情况)
|
|
|
|
- 通过界面
|
|
|
|
![](./figures/rttPing通过界面.png)
|
|
|
|
#### sd 卡调试
|
|
|
|
- 通过基本命令进行,mv ,echo ,ls ,cd ,rm ....
|
|
|
|
![](./figures/rttsd调试.png)
|
|
|
|
#### spi flash 卡调试
|
|
|
|
- 找一块有 spi flash 插槽的 ft-2004 开发板,插入 sf25s 或 gd25q 系列 spi flash
|
|
- 配置 rt-thread 的编译选项,打开 BSP_USE_SPI 和 BSP_USE_GPIO 配置,关闭 BSP_USE_QSPI 配置,打开 rt-thread 的 SFUD 调试开关
|
|
- 编译 rt-thread,加载版本启动,启动后显示 spi flash probe 成功
|
|
- 执行 sf 基本操作,read, write, erase
|
|
|
|
#### 推荐指令
|
|
|
|
1. sf probe S25FS256
|
|
|
|
2. sf read 0x1FFF000 16
|
|
|
|
3. sf write 0x1FFF000 16 25 68 78 95 15 75 20
|
|
|
|
4. sf read 0x1FFF000 16
|
|
|
|
5. sf erase 0x1FFF000 16
|
|
|
|
#### can 测试
|
|
|
|
1. 使用 scons menuconfig 选中 Enable Can
|
|
|
|
2. 然后选中 Enable can0 ,Enable can0 work in loop back
|
|
|
|
3. 烧录程序并且烧录
|
|
|
|
4. 打开 can 盒,将波特率设为 1000000
|
|
|
|
5. 然后通过 can 盒发送对应的数据(标准帧,扩展帧),就可以看见回复同样的内容
|
|
|
|
## 6. 参考资源
|
|
|
|
- ARM Architecture Reference Manual
|
|
|
|
- FT-2000/4 软件编程手册-V1.4
|
|
|
|
## 7. 联系人信息
|
|
|
|
请联系飞腾嵌入式软件部
|
|
|
|
huanghe@phytium.com.cn
|
|
|
|
zhugengyu@phytium.com.cn
|
|
|