rt-thread/bsp/ft2004
Man, Jianting (Meco) bb1084556f [console] 解决在没有定义RT_USING_DEVICE的情况下使用device报错的问题
* [console] 解决在没有定义RT_USING_DEVICE的情况下使用device报错的问题

* format codes

* [libc] 整理格式

* refresh projects
2022-01-09 00:20:32 +08:00
..
applications ft2004 bsp 增加gtimer 支持,修正can驱动初始化问题 2021-08-16 23:36:31 +08:00
drivers [mutex] use RT_IPC_FLAG_PRIO to replace RT_IPC_FLAG_FIFO 2021-11-17 15:57:15 -05:00
figures 修改部分格式问题 2021-05-26 16:34:37 +08:00
libraries modify time.h to sys/time.h 2021-11-23 22:38:00 -05:00
.config [console] 解决在没有定义RT_USING_DEVICE的情况下使用device报错的问题 2022-01-09 00:20:32 +08:00
Kconfig [update] 整理cortex-a kconfig菜单,并更新相关BSP的配置。 2021-05-27 17:44:44 +08:00
README.md 修改部分格式问题 2021-05-26 16:34:37 +08:00
SConscript 修改部分格式问题 2021-05-26 16:34:37 +08:00
SConstruct [update] CFLAGS 2021-12-17 14:28:40 +08:00
ft_aarch32.lds 修改部分格式问题 2021-05-26 16:34:37 +08:00
make.sh 修改部分格式问题 2021-05-26 16:34:37 +08:00
rtconfig.h [console] 解决在没有定义RT_USING_DEVICE的情况下使用device报错的问题 2022-01-09 00:20:32 +08:00
rtconfig.py ft2004 bsp 增加gtimer 支持,修正can驱动初始化问题 2021-08-16 23:36:31 +08:00

README.md

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 个 X82 个 X1
  • 集成 2 个 GMACRGMII 接口,支持 10/100/1000 自适应
  • 集成 1 个 SD 卡控制器,兼容 SD 2.0 规范
  • 集成 1 个 HDAudio支持音频输出可同时支持最多 4 个 Codec
  • 集成 SM2、SM3、SM4 模块
  • 集成 4 个 UART1 个 LPC32 个 GPIO4 个 I2C1 个 QSPI2 个通 用 SPI2 个 WDT16 个外部中断(和 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
  1. 安装之后,通过指令,确定交叉编译链安装完毕
arm-none-eabi-gcc -v
  1. 搭建 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/目录下

  2. 在 Ubuntu 终端下,切换至 bsp 目录

cd rt-thread/bsp/ft2004
  1. 使用 scons -c 清空工程缓存

  2. 使用 scons --menuconfig 配置需要的外设

  1. 使用 scons 编译代码,得到 rtthread.bin并将 rtthread.bin 放入之前配置的 tftp 路径下。

  2. 连接开发板对应串口到 PC, 在终端工具里打开相应的串口115200-8-1-N

  3. 将开发板网线接入局域网中

  4. 本开发板自带 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地址中。
  1. 执行跳转指令,便可以正常执行
bootvx32 80100000
或
boot32 80100000

5. 相关实验

网卡

  • 主机 ping 本机 指令 sudo ping 192.168.3.20 (默认)

  • rtt ping 主机 指令 ping 192.168.x.x (根据实际情况)

  • 通过界面

sd 卡调试

  • 通过基本命令进行mv echo ls cd rm ....

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-20004 软件编程手册-V1.4

7. 联系人信息

请联系飞腾嵌入式软件部

huanghe@phytium.com.cn

zhugengyu@phytium.com.cn