3 Star 0 Fork 1

zhugengyu / Ft2004-Freertos

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

FT-FreeRTOS v0.3.2

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. 组件

Component Version Function
FT-BSP v0.3.0 Board support and FT CPU porting
LWIP v2.1.2 A lightweight TCP/IP stack
FreeRTOS-CLI v1.0.4 A extensible framework for line input and output
FreeRTOS-Kernel v10.4.2 The real-time operating system kernel

3. 编译freertos

3.1 设置Ubuntu编译环境

  1. 使用 arm-none-eabi 10.2.1 交叉编译链进行代码编译,用户可以从Gnu ToolChain选择gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2

  2. 新建文件夹\usr\local,将交叉编译器安装包移入后解压。

$ sudo tar -vxf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
$ cd gcc-arm-none-eabi-10-2020-q4-major
$ pwd
/usr/local/arm/gcc-arm-none-eabi-10-2020-q4-major
  1. 将交叉编译器路径添加到PATH环境变量中
$sudo vi /etc/profile

# 将下列信息添加到`/etc/profile`文件的结尾 
export PATH=$PATH:/usr/local/arm/gcc-arm-none-eabi-10-2020-q4-major/bin
  1. 安装cc工具, 重启系统, 检查安装是否成功
$sudo apt-get install lsb-core lib32stdc++6
$arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
....
Thread model: single
Supported LTO compression algorithms: zlib
gcc version 10.2.1 20201103 (release) (GNU Arm Embedded Toolchain 10-2020-q4-major)
  1. 安装完交叉编译链之后,在make.sh中修改FT_CC_PATH为交叉编译器的路径。
  2. 定义编译目标的名字FT_TARGET_NAME和编译目标存放的路径FT_TARGET_PATH
    FT_CC_PATH="/usr/local/arm/gcc-arm-none-eabi-10-2020-q4-major"
    FT_TARGET_PATH="/mnt/d/tftboot"

3.2 设置Windows编译环境

  1. 使用mingw, 用户自行安装, 确保Mingw(默认为C:\MinGW\bin)安装目录在PATH环境变量中
  2. 安装下列mingw package
  • autocnf, automake, autotools, binutil, make, bash, msys-core, msys-coreutils, msys-file, msys-grep, msys-findutil, msys-flex, msys-gawk, msys-gzip, msys-make
  1. 在Mingw安装目录C:\MinGW\bin下,找到mingw32-make.exe,复制到同目录下并重命名为make.exe
$ make -v
GNU Make 3.82.90
Built for i686-pc-mingw32
Copyright (C) 1988-2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
  1. Gnu ToolChain下载gcc-arm-none-eabi-10-2020-q4-major-win32.exe,双击安装到C:\MinGW\arm路径下,确保C:\MinGW\arm路径在PATH环境变量中
$ arm-none-eabi-addr2line.exe -v
GNU addr2line (GNU Arm Embedded Toolchain 10-2020-q4-major) 2.35.1.20201028
Copyright (C) 2020 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
  1. 在make.sh中修改交叉编译器路径FT_CC_PATH和编译输出路径FT_TARGET_PATH
FT_CC_PATH="C:\MinGW\arm"
FT_TARGET_PATH="D:\tftboot"

完成编译

  • 开始编译
   # 编译cli示例
   $./make.sh -md cli  

   # 清理cli示例编译结果
   $./make.sh -md cli -c
   arm-none-eabi-objcopy -O binary -S ./obj/freertos.elf obj/freertos.bin
   arm-none-eabi-objdump -D -m arm ./obj/freertos.elf > ./obj/freertos.dis

   # 只显示编程错误和告警信息
   $./make.sh -md cli 1> /dev/null


4. 运行freertos

  • 参考板使用 uboot 启动 freertos 操作系统,使用 *.bin 文件 作为运行镜像
  • 对于 bin 文件,加载基地址为 0x80100000

4.1 PC 端设置 TFTP 服务器

  • PC机和参考板通过网口相连。在PC机上启动TFTP服务器,以windows系统为例,使用Tftpd32.exe
  • 只需要设置 Current Directory 指向freertos.bin(或freertos)文件所在的路径即可,无其他设置。

4.2 参考板设置 uboot 环境变量

  • 参考板和 PC 机通过 TTL 电平的 3 线 UART 串口连接。在 PC 机上打开终端软件(比如超级终端、TeraTerm 等), 连接此串口,波特率设置为 115200,其他无需设置。上电,在终端软件中停止 uboot 的自动启动,在 uboot 提示符中,输入如下命令:
setenv ethaddr 98:0e:24:00:11:22
setenv eth1addr 98:0e:24:00:11:23

setenv ipaddr 192.168.3.119
setenv serverip 192.168.3.118
saveenv

4.3 下载和启动操作系统镜像

  • 加载bin格式的镜像
tftpboot  0x80100000  freertos.bin

  • 在uboot里执行命令,启动操作系统

  • 登录命令行,键入ps查询当前task

5. 驱动描述

5.1 参考板支持的硬件接口驱动列表

Hardware Interface Controller Driver/Component Status
UART:0-3 PrimeCell PL011 ft_uart.c SUPPORTED
TIMER generic timer ft_generic_timer.c SUPPORTED
gic v3 Gic V3 Controler ft_gicv3.c SUPPORTED
10/100/1000MB-ETHERNET FT GAMC ft_gmac.c SUPPORTED
I2C:0-3 FT I2C ft_i2c.c SUPPORTED

5.2 串口配置

四个 PrimeCell UART 串口,默认配置为

Baud Rate : 115200 Data : 8 bit Parity : None Stop : 1 bit Flow Control: None


6. 参考资源

  • ARM Architecture Reference Manual

  • FT-2000/4 软件编程手册-V1.4

  • Mastering the FreeRTOS Real Time Kernel-A Hands-On Tutorial Guide


7. 贡献方法

请联系飞腾嵌入式软件部

huanghe@phytium.com.cn

zhugengyu@phytium.com.cn


8. 许可协议

MIT license.

The MIT License (MIT) Copyright © 2021 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

本项目是freertos版本的 FT-2000/4 参考板BSP源码。 可依此创建操作系统映像工程,编译生成freertos.bin。详细启动步骤请参考README.md文件。 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/zhugengyu/ft2004-freertos.git
git@gitee.com:zhugengyu/ft2004-freertos.git
zhugengyu
ft2004-freertos
Ft2004-Freertos
master

搜索帮助