泉盛UV-K5/K6固件编译教程

news2024/9/25 13:14:10

0.准备的硬件

  • win11/win10电脑
  • 泉盛UV-K5/K6
  • k口写频线

1.准备的文件(点击链接下载)

  1. gcc arm编译器 链接: gcc-arm-none-eabi-10.3-2021.10-win32
  2. Make 链接:Download make-3.81.exe (GnuWin)

2.编译过程(这里以Losehu固件为例子)


0.安装软件

  • gcc arm编译器:这个一路next,最后有一个add path environment请你勾选
  • Make :这个一路next
  • Git安装:Git 详细安装教程(详解 Git 安装过程的每一个步骤)_git安装-CSDN博客

1.在一个英文目录下打开cmd

2.输入 下面命令(这里需要你安装了Git):

git clone https://github.com/losehu/uv-k5-firmware-custom.git

3.然后该目录下用编辑的方式打开如下文件 win_make.bat

4.打开该文件,修改下面设置(设置成你安装的目录,GnuWin32是Make)

这是我的修改后 (不可参考)

5.修改下面这里 

修改成下面命令(full是作者的发布固件编译选项,all是编译单个固件)

make clean
make all

 6.保存该文件,点击运行(下面的错误不要在意,作者没有加判断),即可编译成功

7.如何自定义固件内容?生成的固件位置?自定义固件内容在Makeflie,固件位置如下(losehu129.bin是由fw-pack.py混淆加密后的固件)

 8.打开makefile文件,推荐用Vscode打开

上面的 英文选项 在ReadMe文件中有解释

 我可以修改 ?=0 修改成 =1 的方式启用该功能

9.如何修改固件名?打开makefile,如下位置,修改固件名称

3.编译选项解释(Readme有这个,下面可以直接替换到MakeFile文件)

# ---- COMPILER/LINKER OPTIONS ----
# 使用clang编译器而非gcc,实验性质,如果启用此选项,LTO将被禁用
ENABLE_CLANG                  ?= 0
# 使用CPU的SWD端口,用于调试/编程
ENABLE_SWD                    ?= 1
# CPU FLASH相关内容,通常不需要
ENABLE_OVERLAY                ?= 0
# 启用链接时间优化,减小编译固件的大小,但可能会破坏EEPROM读取
ENABLE_LTO                    ?= 1

# ---- STOCK QUANSHENG FEATURES ----
# 启用串口功能,用于通过PC配置无线电
ENABLE_UART                   ?= 1
# 启用AirCopy无线复制功能
ENABLE_AIRCOPY                ?= 0
# 启用收音机功能
ENABLE_FMRADIO                ?= 1
# 启用NOAA功能,主要用于美国
ENABLE_NOAA                   ?= 0
# 启用语音播报功能
ENABLE_VOICE                  ?= 0
# 启用VOX声控发射功能
ENABLE_VOX                    ?= 1
# 启用TX警报功能
ENABLE_ALARM                  ?= 0
# 启用开机密码功能
ENABLE_PWRON_PASSWORD         ?= 0
# 启用DTMF拨号功能,支持呼叫发起,接收,群组通话,联系人列表等
ENABLE_DTMF_CALLING           ?= 1
# 启用顶部手电筒LED灯功能(开启,闪烁,SOS)
ENABLE_FLASHLIGHT             ?= 1
# 启用引导加载程序功能
ENABLE_BOOTLOADER			  ?= 0

# ---- CUSTOM MODS ----
# 启用大号字体显示频率
ENABLE_BIG_FREQ               ?= 1
# 保存内存频道时保持频道名称
ENABLE_KEEP_MEM_NAME          ?= 1
# 启用全频18MHz至1300MHz接收
ENABLE_WIDE_RX                ?= 1
# 当RX设置为AM时允许TX(通常为FM)
ENABLE_TX_WHEN_AM             ?= 1
# 启用收音机的隐藏频率校准菜单
ENABLE_F_CAL_MENU             ?= 0
# 使用标准CTCSS尾部相移,而不是QS独有的55Hz音调方法
ENABLE_CTCSS_TAIL_PHASE_SHIFT ?= 0
# 启动时为用户提供音频反馈,指示音量旋钮的位置
ENABLE_BOOT_BEEPS             ?= 0
# 充电时显示电池充电水平
ENABLE_SHOW_CHARGE_LEVEL      ?= 0
# 在状态栏上镜像电池符号(正极在右侧)
ENABLE_REVERSE_BAT_SYMBOL     ?= 0
# 禁用32秒CTCSS/DCS扫描超时
ENABLE_NO_CODE_SCAN_TIMEOUT   ?= 1
# 在AM模式下动态调整前端增益,防止AM解调器饱和
ENABLE_AM_FIX                 ?= 1
# 将静噪电平调得稍微敏感一些
ENABLE_SQUELCH_MORE_SENSITIVE ?= 1
# 增加频道扫描速度
ENABLE_FASTER_CHANNEL_SCAN    ?= 1
# 启用以dBm/Sn为单位的RSSI条形图水平,取代小天线符号
ENABLE_RSSI_BAR               ?= 1
# 启用将当前频道设置复制到频率模式的功能
ENABLE_COPY_CHAN_TO_VFO       ?= 0
# 启用频谱分析仪功能
ENABLE_SPECTRUM               ?= 1
# 使中等和低功率设置更低
ENABLE_REDUCE_LOW_MID_TX_POWER?= 0
# 启用额外的BYP(旁路?)和RAW解调选项
ENABLE_BYP_RAW_DEMODULATORS   ?= 0
# 启用频率扫描的扫描范围模式
ENABLE_SCAN_RANGES            ?= 1
# 启用MDC1200发送功能
ENABLE_MDC1200                = 1
# 启用MDC显示首尾音参数
ENABLE_MDC1200_SHOW_OP_ARG    = 1
# 启用MDC侧音
ENABLE_MDC1200_SIDE_BEEP      = 0
# 启用MDC联系人功能
ENABLE_MDC1200_CONTACT        = 1
# 禁用MDC编辑功能
ENABLE_MDC1200_EDIT			  ?= 0
# 启用以读写BK4819寄存器的额外命令
ENABLE_UART_RW_BK_REGS 		  ?= 0
# 启用默认语音条样式
ENABLE_AUDIO_BAR_DEFAULT      ?= 0
# 启用EEPROM类型功能
ENABLE_EEPROM_TYPE        	   = 0
# 启用全中文功能
ENABLE_CHINESE_FULL 		   = 0
# 启用英文功能
ENABLE_ENGLISH				   = 0
# 启用DOCK功能,允许通过电脑控制手台,无屏幕显示
ENABLE_DOCK 		          ?= 0
# 启用自定义侧键功能
ENABLE_CUSTOM_SIDEFUNCTIONS   ?= 1
# 启用自定义侧键发射功能
ENABLE_SIDEFUNCTIONS_SEND     ?= 1
# 启用EEPROM上锁功能
ENABLE_BLOCK                  ?= 0
# 启用拼音功能
ENABLE_PINYIN 				   = 0
# 启用TURN功能
ENABLE_TURN                    ?= 1
# ---- DEBUGGING ----
# 显示AM修复的调试数据
ENABLE_AM_FIX_SHOW_DATA       ?= 0
# 显示ACG参数
ENABLE_AGC_SHOW_DATA          ?= 0
# 启用定时器功能
ENABLE_TIMER		          ?= 0
# 启用警告提示音
ENABLE_WARNING 				  ?= 1
# 启用发送和接收短文本消息功能
ENABLE_MESSENGER              			= 0
# 启用接收消息时向发送方发送通知的功能
ENABLE_MESSENGER_DELIVERY_NOTIFICATION	= 0
# 启用收到消息时播放声音的功能
ENABLE_MESSENGER_NOTIFICATION			= 0
# 启用4732功能
ENABLE_4732                     = 0
# 启用4732SSB功能
ENABLE_4732SSB                  = 0
# 多普勒功能
ENABLE_DOPPLER                  = 0

这里你要尽可能选择必要的功能,否则会编译大小超出芯片内部falsh大小(64k)限制,情况如下:

 解决办法:取消一些不要的功能即可

4.谢谢你的观看

 点一个关注八

参考来源:

egzumer/uv-k5-firmware-custom: A merge between https://github.com/OneOfEleven/uv-k5-firmware-custom and https://github.com/fagci/uv-k5-firmware-fagci-mod losehu/uv-k5-firmware-custom: 全功能泉盛UV-K5/K6固件 Quansheng UV-K5/K6 Firmware (github.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1971247.html

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

相关文章

AI时代的职场焦虑与机遇

原文链接:https://tecdat.cn/?p37205 在人工智能的浪潮中,职场焦虑愈发显著。本杰明米勒的故事便是这一现象的缩影。2023年初,他领导着一个超过60人的团队,为一家科技公司创作推广文章和博客。然而,随着公司决定采用…

排序算法:插入排序,golang实现

目录 前言 插入排序 代码示例 1. 算法包 2. 插入排序代码 3. 模拟程序 4. 运行程序 5. 从大到小排序 插入排序的思想 循环细节 外层循环 内层循环 循环次数测试 假如 10 条数据进行排序 假如 20 条数据进行排序 假如 30 条数据进行排序 假设 5000 条数据&…

Elasticsearch服务器开发教程(第2版 电子版)

前言 本书也将讨论被称为Querydsl的查询语言,通过它可以创建复杂的查询并过滤返回的结果。除了这些,你还将看到如何使用切面技术(faceting)基于查询结果来计算汇总数据,以及如何使用新引进的聚合框架(分析…

云计算 Logstash 配置管理 Kibana数据统计分析

日志分析系统ELK 项目架构图 Logstash 是一个开源的、服务器端的数据收集引擎,与 Elasticsearch 和 Kibana 一起构成了 Elastic Stack(之前称为 ELK Stack)。Logstash 的主要功能是处理和转发数据,它可以从多种数据源收集数据&a…

Autowired自动注入Map问题

问题 昨天开发的时候遇到一个诡异的问题,通过Map注入接口下所有的子类,然后json打印出来的时候,没有子类的信息,并且去调用的时候报了空指针异常。 排查问题过长,并且涉及到源码,所以这里先说结论&#x…

2018-架构师案例(七)

问题1 性能需求指什么? 解析: 指响应时间,吞吐量,资源利用率等指标,保证系统正常运行的情况下,这些数据表示系统的性能。 问题2(9分) MemCache和Redis两种工具的优缺点&#xff0c…

js 前端 解析excel文件【.xlsx文件】信息内容

需求&#xff1a; 从excel文件中解析里面的内容 1、使用插件xlsx.full.min.js&#xff0c;地址&#xff1a;https://unpkg.com/xlsx/dist/xlsx.full.min.js实例&#xff1a; <script src"https://unpkg.com/xlsx/dist/xlsx.full.min.js"></script><i…

【机器学习基础】数据预处理

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;…

【综合案例】使用DevEco Studio编写B站视频卡片

效果展示 知识点 层叠布局 介绍&#xff1a;层叠布局具有较强的 组件层叠 能力。 使用场景&#xff1a;卡片层叠效果 特点&#xff1a;层叠操作 更简洁&#xff0c;编码效率更高。【绝对定位的优势是更灵活】 Stack容器内的子元素顺序是先写的在最下面&#xff0c;即从下到上依…

数据结构与算法-二分搜索树节点删除

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、二分搜…

关于Unity四种合批技术详解

文章目录 一.静态合批(StaticBatching)1.启用静态合批2.举例说明3.静态合批的限制4.静态合批的优点缺点5.动态指定物品合批 二.动态合批(Dynamic Batching)1.启用动态合批2.合批规则3.举例说明4.使用限制 三.GPU Instancing1.启用GPU Instancing2.启用限制3.举例说明 四.SRP Ba…

构建积极心理学资源站:从零到一的旅程

自己搭建的心理学资源站 积极心理学网站&#xff1a;致力于推动积极未来 欢迎来到kuakua.app&#xff0c;这是一个致力于积极心理学的资源站。 作为一个独立开发者&#xff0c;我与一些热爱心理学的学生合作&#xff0c;创建了这个网站。 我们的目标是通过分享心理学知识和资源…

创新就业政策:智慧校园就业管理的策略之道

在智慧校园的广阔版图中&#xff0c;就业管理板块的“就业政策”功能模块犹如一颗璀璨的明星&#xff0c;照亮着学子们的未来职业道路。它不仅是一座信息的灯塔&#xff0c;指引着学生们穿越就业政策的迷雾&#xff0c;更是一把开启梦想大门的钥匙&#xff0c;帮助他们把握机遇…

2024智慧农场土地租赁家禽认养众筹实时监控商品溯源农业积分商城秒杀助农小程序源码

后端&#xff1a;系统后端使用PHP语言开发 前端&#xff1a;前端使用uniapp进行前后端分离开发 功能简介&#xff1a;土地种植、农业认养、积分商城、农场活动、视频监控、农场商城、实时数据监控、限时秒杀、农业众筹、送货上门、一键分销、农场入驻、全部店铺 运行环境&am…

《Token Contrast for Weakly-Supervised Semantic Segmentation》CVPR2023

摘要(Abstract)&#xff1a; 在弱监督语义分割&#xff08;WSSS&#xff09;中&#xff0c;传统方法通常使用类激活映射&#xff08;CAM&#xff09;生成伪标签&#xff0c;但受限于卷积神经网络&#xff08;CNN&#xff09;的局部结构感知能力&#xff0c;往往难以识别完整的对…

深入分析 Android ContentProvider (十二)

文章目录 深入分析 Android ContentProvider (十二)Android 中 ContentProvider 的系统代码分析&#xff08;续&#xff09;1. ContentProvider 的内部实现机制1.1. ContentProvider 的创建与生命周期管理1.2. ContentProvider 的数据访问与处理1.3. ContentProvider 的权限管理…

Node Red 与axios简易测试环境的搭建

为了学习在vue3中如何使用axios&#xff0c;我借Sider Fusion的帮助搭建了基于node的简易测试环境。 Axios 是一个基于 Promise 的 HTTP 客户端&#xff0c;通常用于浏览器环境&#xff0c;但它也可以在 Node.js 环境中使用。因此&#xff0c;可以在 Ubuntu 的 Bash 环境下通过…

NPDP|传统行业产品大神都是怎样管理产品的?

在传统行业中&#xff0c;产品管理不仅是技术的较量&#xff0c;更是策略、洞察力和执行力的综合体现。那些被誉为“产品大神”的经理们&#xff0c;他们如何管理产品&#xff0c;使其在市场上脱颖而出&#xff0c;成为行业内的佼佼者&#xff1f;本文将探讨他们的一些关键管理…

触发邮件接口如何与现有CRM系统无缝集成?

触发邮件接口的性能优化策略&#xff1f;如何设计高效的API接口&#xff1f; 随着企业对自动化和个性化沟通需求的增加&#xff0c;触发邮件接口的集成变得尤为重要。AokSend将探讨触发邮件接口如何与现有CRM系统无缝集成&#xff0c;以及这种集成带来的优势和挑战。 触发邮件…

c语言第七天笔记

作业题&#xff1a; 设计TVM&#xff08;地铁自动售票机&#xff09;机软件。 输入站数&#xff0c;计算费用&#xff0c;计费规则&#xff0c;6站2元&#xff0c;7-10站3元&#xff0c;11站以上为4元。 输入钱数&#xff0c;计算找零(找零时优先找回面额大的钞票)&#xff0…