0.准备的硬件
- win11/win10电脑
- 泉盛UV-K5/K6
- k口写频线
1.准备的文件(点击链接下载)
- gcc arm编译器 链接: gcc-arm-none-eabi-10.3-2021.10-win32
- 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)