当前位置: 首页 > news >正文

【FR801xH】Ubuntu24.04搭建富芮坤FR801xH系列开发环境教程

00. 目录

文章目录

    • 00. 目录
    • 01. FR801xH概述
    • 02. FR801xH特性
    • 03. gcc-arm-none-eabi-10.3-2021.10概述
    • 04. gcc-arm-none-eabi-10.3-2021.10下载
    • 05. gcc-arm-none-eabi-10.3-2021.10安装
    • 06. FR801xH-SDK编译
    • 07. 附录

01. FR801xH概述

在这里插入图片描述

FR801xH 系列芯片是面向 SOC(片上系统),易于 快速开发的低功耗蓝牙芯片。基于 Freqchip 的蓝牙 智能固件和协议栈的支持,完全兼容蓝牙 V5.3(LE 模式)协议。同时用户可以基于芯片内置的 ARM CorteM3 嵌入式 32 位高性能单片机开发各种应用程 序。

蓝牙智能固件包括 L2CAP 服务层协议、安全管理器 (SM)、属性协议(ATT)、通用属性配置文件 (GATT)和通用访问配置文件(GAP)。此外,还 支持应用程序配置文件,例如接近度、健康温度计、 心率、血压、血糖、人机界面设备(HID)和 SDK (包括驱动程序、OS-API 等)。SDK 还集成了用于 网络应用程序的 SIG Mesh 协议。

采用 Freqchip 的创新技术,将 PMU(锂电池充电 器+LDO)、带 XIP 模式的 QSPI FLASH ROM、 I2C、UART、GPIO、ADC、PWM 集成在一块芯 片中,为客户提供:

  • 竞争力的功耗
  • 稳定的蓝牙连接
  • 极低的 BOM 成本

02. FR801xH特性

CPU 和存储器

CPU

  • 内置 32 位 ARM Cortex-M3 内核,支 持最高 48MHz 的时钟频率

存储器

  • 256KB/512KB/1MB Flash 用户软件和数据存储
  • 48KB SRAM
  • 128KB ROM
  • BOOT 启动代码
  • 控制器(controller)协议栈

ROM 固件

  • BLE Profile & Protocol: GATT, LM, LC

  • API 驱动

  • SIG MESH 协议栈

蓝牙

  • 蓝牙 V5.3 LE 标准

  • 支持 2M/1M/500K/125K 数据速率

数字接口

  • 通用 GPIO

  • Timer

  • Efuse 128bit

  • SPIM

  • SPIS

  • UART(FIFO 深度 16/32)

  • SPI/QSPI

  • I2C (FIFO 深度 8/32)

  • PWM

  • PDM

03. gcc-arm-none-eabi-10.3-2021.10概述

gcc-arm-none-eabi-10.3-2021.10-x86_64-linuxARM 官方维护的嵌入式专用工具链,适用于无操作系统的 Cortex-M/R 开发。其优势在于:
✅ 开源免费,兼容主流裸机场景;
✅ 集成 newlib 库,资源占用低;
✅ 支持 GCC 10.3 的现代优化特性(如 LTO 压缩)。

启用硬件浮点(如 Cortex-M4F):编译参数添加 -mfloat-abi=hard -mfpu=fpv4-sp-d16

在这里插入图片描述

工具链对比

特性gcc-arm-none-eabiarm-linux-gnueabiarmcc
适用系统裸机/RTOSLinux 应用层裸机/RTOS(Keil/ADS)
C 库newlib(轻量级)glibc(完整功能)专用库(闭源)
浮点处理默认 softfp(兼容 soft/hard)10可选 softfphard9****10依赖芯片 FPU 配置
许可证开源(GPL)开源(GPL)商业收费

04. gcc-arm-none-eabi-10.3-2021.10下载

下载:gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.rar

下载:gcc-arm-none-eabi-10.3-2021.10-aarch64-linux.tar.bz2

下载:gcc-arm-none-eabi-10.3-2021.10-src.tar.bz2

05. gcc-arm-none-eabi-10.3-2021.10安装

5.1 解压

deng@local:~$ tar -xjvf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2

5.2 剪切到/var/opt目录下

deng@local:~$ sudo mv gcc-arm-none-eabi-10.3-2021.10 /var/opt/

06. FR801xH-SDK编译

6.1 解压FR801xH-SDK-master.zip

deng@local:~$ unzip FR801xH-SDK-master.zip

6.2 进入到FR801xH-SDK-master/components/toolchain/gcc目录中

deng@local:~/FR801xH-SDK-master/components/toolchain/gcc$ pwd
/home/deng/FR801xH-SDK-master/components/toolchain/gcc
deng@local:~/FR801xH-SDK-master/components/toolchain/gcc$

6.3 修改Makefile.posix文件

deng@local:~/FR801xH-SDK-master/components/toolchain/gcc$ vim Makefile.posix

6.4 修改Makefile.posix文件交叉编译器路径,内容如下

#GNU_INSTALL_ROOT ?= /usr/local/gcc-arm-none-eabi-6-2016-q4-update/bin/
GNU_INSTALL_ROOT ?= /var/opt/gcc-arm-none-eabi-10.3-2021.10/bin/
GNU_VERSION ?= 6.2.1
GNU_PREFIX ?= arm-none-eabi

6.5 切换到examples/none_evm/ble_simple_peripheral/gcc目录中

deng@local:~/FR801xH-SDK-master/examples/none_evm/ble_simple_peripheral/gcc$ pwd
/home/deng/FR801xH-SDK-master/examples/none_evm/ble_simple_peripheral/gcc
deng@local:~/FR801xH-SDK-master/examples/none_evm/ble_simple_peripheral/gcc$ ls
ldscript.ld  Makefile

6.6 编译ble_simple_peripheral案例

deng@local:~/FR801xH-SDK-master/examples/none_evm/ble_simple_peripheral/gcc$ pwd
/home/deng/FR801xH-SDK-master/examples/none_evm/ble_simple_peripheral/gcc
deng@local:~/FR801xH-SDK-master/examples/none_evm/ble_simple_peripheral/gcc$ make
mkdir build
cd build && mkdir ble_simple_peripheral
Compiling: ../code/proj_main.c
Compiling: ../code/ble_simple_peripheral.c
Compiling: ../code/user_task.c
Compiling: ../../../../components/modules/button/button.c
Compiling: ../../../../components/ble/profiles/ble_simple_profile/simple_gatt_service.c
Compiling: ../../../../components/driver/driver_iic.c
Compiling: ../../../../components/driver/driver_pmu.c
Compiling: ../../../../components/driver/driver_keyscan.c
Compiling: ../../../../components/driver/driver_pmu_qdec.c
Compiling: ../../../../components/driver/driver_rtc.c
Compiling: ../../../../components/driver/driver_uart.c
Compiling: ../../../../components/driver/driver_wdt.c
Compiling: ../../../../components/driver/driver_i2s.c
Compiling: ../../../../components/driver/driver_exti.c
Compiling: ../../../../components/driver/driver_timer.c
Compiling: ../../../../components/driver/driver_efuse.c
Compiling: ../../../../components/modules/platform/source/exception_handlers.c
Compiling: ../../../../components/modules/platform/source/app_boot_vectors.c
Compiling: ../../../../components/modules/patch/patch.ctext    data     bss     dec     hex filename100552    1660    3520  105732   19d04 build/ble_simple_peripheral.out
Generate: build/ble_simple_peripheral.bin
Generate: build/ble_simple_peripheral.txt
DONE ble_simple_peripheral
deng@local:~/FR801xH-SDK-master/examples/none_evm/ble_simple_peripheral/gcc$

6.7 编译结果

编译生成的bin文件就在当前目录中build/ble_simple_peripheral.bin。

07. 附录

SDK下载:FR801xH-SDK-master.zip

gitee下载:FR801xH-SDK-master.zip

http://www.lryc.cn/news/575415.html

相关文章:

  • 美团京东Clean Architecture实战
  • 【算法深练】栈特性的解题密码:LIFO规则在题型中的灵活运用
  • 生僻字处理工具类
  • 价格敏感带争夺战!澳洲电商双雄增长密码,3大本土护城河尚存
  • C# 项目使用obfuscar混淆
  • 华曦达港股IPO递表,AI Home生态构建智能生活新蓝图
  • 2025 Java开发生态全景图:云原生、AI与性能优化的技术融合
  • 广州华锐互动:技术与创意双驱动的 VR 先锋​
  • 基于组件的软件开发(CBSD)与面向服务的架构(SOA)的对比分析
  • Android-Layout Inspector使用手册
  • VSCode插件开发
  • Vue3 中 toRef 与 toRefs 的深度解析与实战应用
  • Sentinel 授权规则详解与自定义异常处理
  • 【机器学习第一期(Python)】梯度提升决策树 GBDT
  • 【机器学习第二期(Python)】优化梯度提升决策树 XGBoost
  • Linux命令-Searching-locate
  • Docker compoes与私有仓库部署
  • 基于vue3+ByteMD快速搭建自己的Markdown文档编辑器
  • Midscene.js:使用 LLMs.txt 快速生成 AI 自动化测试用例「喂饭教程」
  • [Andrej Karpathy] 大型语言模型作为新型操作系统
  • 华为OD 机试 2025-黑板上色
  • 【25软考网工】第十章 网络规划与设计(2)网络规划与分析、网络结构与功能
  • 如何进行 iOS App 混淆加固?IPA 加壳与资源保护实战流程
  • 如何将视频从 iPhone 发送到 Android 设备
  • 数字孪生技术驱动UI前端变革:从静态展示到动态交互的飞跃
  • uniapp 和原生插件交互
  • 小程序入门:理解小程序页面配置
  • vue + vue-router写登陆验证的同步方法和异步方法,及页面组件的分离和后端代码
  • 命名数据网络 | 数据包(Data Packet)
  • chili3d笔记23 正交投影3d重建笔记4 点到线2