【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.tpcf.cn/news/912130.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel学习05

员工排班表 通过之前的学习,目前的我们已经具备了Excel的初步制作能力。接下来将从实际出发制作一个员工排班表。在制作排版表之前,先来看我们要用到的函数。 DATE函数 date函数是Excel中处理日期的核心函数之一,它能够将单独的年、月、日…

黑马JVM解析笔记(五):深入理解Java字节码执行机制

1.从字节码的角度分析i /** * 从字节码角度分析 a 相关题目 */ public class Demo3_2 {public static void main(String[] args) {int a 10;int b a a a--;System.out.println(a);System.out.println(b);} }a 和 a 实际上代表了两个不同的操作,它们分别对应自增…

从社交媒体到金融“超级应用”,马斯克X平台将上线投资交易服务

报道称,马斯克旗下的X平台将推出“超级App”,提供投资和交易服务,另外,X也在探索引入信用卡或借记卡。作为金融服务布局的第一步,X平台已宣布将推出X Money——一项数字钱包和点对点支付服务,Visa将成为其首…

【入门第2课】Splunk数据接入

前言 Splunk支持多种多样的数据源,比如它可以直接上传文件,可以监控本地的任何目录或文件,也可以配置通用转发器等方式来完成数据接入。Splunk所有的设置都可以通过Web页面、使用Splunk CLI命令,甚至是直接修改配置文件,以此来完成设置。 那么,如何接入数据呢?我们通过…

【数据挖掘】关联规则算法学习—Apriori

关联规则算法学习—Apriori Apriori算法是关联规则挖掘中的经典算法,用于发现数据集中的频繁项集和强关联规则。其核心思想基于先验性质:若一个项集是频繁的,则其所有子集也一定是频繁的。该算法通过逐层搜索的迭代方法高效挖掘关联规则。 要…

助力高考,利用python获取本专科专业选考科目要求

大家好,今天我们来利用python技术助力高考,获取网上的本专科专业选考科目要求,用到的Python模块有:Requests、Json、BeautifulSoup、Pandas ,主要思路是Requests获取接口请求,利用BeautifulSoup 解析网站的…

Python 商务数据分析—— NumPy 学习笔记Ⅱ

一、 数组元素值的替换 我们可以使用索引或 where () 函数来替换 NumPy 数组中的元素值。 1.1 方式一:索引 import numpy as npnp.random.seed(42)a3 np.random.randint(0, 10, size(3, 4))print("原数组:\n", a3)a3\[1] 0 # 将a3数组第一行数据全…

遥感图像语义分割1-安装mmsegmentation

参考: mmsegmentation: 安装并使用自定义数据集进行训练_mmsegmentation安装-CSDN博客 最新Windows配置安装mmcv与mmsegmentation,以及mmsegmentation的验证_mmcv安装-CSDN博客 GitCode - 全球开发者的开源社区,开源代码托管平台 参考: …

【菜狗的记录】模糊聚类最大树、图神经网络、大模型量化——20250627

每日学习过程中记录的笔记,从各个网站整理下来,用于当日复盘。 如果其中的知识点能帮到你,也很荣幸呀。 -------------------------------------------------------20250622------------------------------------------------------------- …

《短剧平台开发指南:技术方案、核心功能与行业趋势》

一、短剧行业现状与系统开发价值 近年来,短剧市场呈现爆发式增长,成为数字内容领域的新风口。数据显示,2023年国内短剧市场规模已突破300亿元,用户规模达到4.5亿。这种以"短、平、快"为特点的内容形式,凭借…

[FPGA]嵌入式系统FPGA设计资源

嵌入式系统FPGA设计资源 一、供应商 https://www.altera.com- Altera FPGA 供应商网站 https://www.altera.com/events/northamerica/intel-soc-fpga-developer-forum/overview.html- SoC 开发人员论坛 https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/li…

ClickHouse 可观测性最佳实践

ClickHouse 介绍 ClickHouse 是一款高性能、列式存储的开源分析型数据库,专为在线分析处理(OLAP)场景设计。它能够处理海量数据,支持实时查询和复杂的数据分析,具备极高的读写性能和数据压缩能力。ClickHouse 提供了强…

Android Framework设置时间为24小时制

文章目录 定位源码实现附录12 小时制与 24 小时制的详细解析一、基本定义与核心区别二、转换方法与示例三、应用场景与文化差异四、延伸知识:特殊计时制与历史背景 目的是把设置中使用默认语言区域关掉,并把使用24小时制打开 如下图为原始的:…

基于STM32设计的扫地机器人

一、前言 1.1 项目介绍 【1】项目开发背景 随着社会节奏的加快和人们生活方式的改变,智能家居产品逐渐走入千家万户。作为智能清洁系统的重要组成部分,扫地机器人凭借其自动化、高效性和便捷性,成为现代家庭中不可或缺的智能设备之一。传统…

什么是接口测试?

2025最新Jmeter接口测试从入门到精通(全套项目实战教程) 接口测试概念 接口测试是项目测试的一部分,它测试的主要对象是接口,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交…

JDY-23蓝牙模块与电脑的连接方式

JDY-23蓝牙模块支持多种连接方式,包括SPP(串口通信)模式和BLE(低功耗蓝牙)模式。以下是与电脑连接的具体方法: 1. 通过SPP模式连接 JDY-23模块支持SPP协议,可以通过串口与电脑通信。以下是连接…

【网络】Linux 内核优化实战 - net.core.rmem_max

目录 参数作用与原理默认值与查看方法调整场景与方法适用场景调整方法 与其他参数的协同性能影响与注意事项典型案例总结 net.core.rmem_max 是 Linux 内核中控制 套接字接收缓冲区(Receive Buffer)最大允许值 的参数。它与 net.core.rmem_default&#…

设计模式 | 工厂模式

工厂模式(Factory Pattern) 是创建型设计模式的核心成员,它通过将对象创建的逻辑封装起来,实现了创建与使用的解耦。本文将深入探讨工厂模式的核心思想、实现技巧以及在C中的高效实现方式。 为什么需要工厂模式? 在软…

数字孪生技术驱动UI前端变革:从静态展示到动态交互的飞跃

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在数字化转型的深水区,数字孪生技术正以破竹之势重构 UI 前端的技术逻辑与设计理念…

Django实战:自定义中间件实现全链路操作日志记录

文章目录 一、中间件介绍激活中间件生命周期 二、自定义中间件中间件钩子函数基于类的中间件 三、实战案例操作日志功能参考资料 一、中间件 介绍 在 Django 中,中间件(Middleware)是一组轻量级、底层的插件系统,用于全局地改变…