变色龙Ultra编译指南:从零开始
0.项目介绍
ChameleonUltra 介绍
变色龙(Chameleon Ultra)-项目简史及对比_哔哩哔哩_bilibili
编译变色龙需要下载代码,工具包,编译器等等, 我们直接开始
1.下载代码
Github地址:RfidResearchGroup/ChameleonUltra: The new generation chameleon based on NRF52840 makes the performance of card emulation more stable. And gave the chameleon the ability to read, write, and decrypt cards.
2.解压上面下载的压缩包到英文目录下
3.安装make
Make 是一个广泛使用的构建工具,主要用于编译和管理软件项目中的文件。它通过读取名为
Makefile
或makefile
的脚本文件来确定如何编译和链接程序。Make 最初是为了C语言程序设计而开发的,但现在也可以用于其他编程语言和任务自动化。
下载make: https://gnuwin32.sourceforge.net/downlinks/make.php
下载后打开安装:
安装成功
4. 安装 nRF 工具
nRF Util 是一款专门为 Nordic Semiconductor 产品设计的统一命令行工具。它提供了多种功能,旨在简化 Nordic 芯片(如 nRF5 系列)的开发过程,特别是涉及到固件更新、设备管理以及安全相关的任务。以下是关于 nRF Util 的一些关键点:
主要功能
nrf5sdk-tools 命令: 提供了与 nRF5 SDK 相关的功能,包括设备固件更新(DFU)包生成、加密密钥的生成和管理、nRF5 SDK 引导加载程序设置生成等。支持通过多种传输方式进行 DFU,如蓝牙低能耗(BLE)、UART 上的串行通信、USB 上的串行通信、Thread 单播/多播以及 Zigbee。
device 命令: 支持列出、编程、恢复、擦除 Nordic 设备上的各种操作,并且兼容 MCUboot 和 J-Link。这对于管理和调试 Nordic 芯片非常有用。
completion 命令: 使得用户能够更容易地与 nRF Util 进行交互,提供命令、子命令及标志的自动完成功能。这大大提高了命令行操作的效率。
打开链接:nRF Util - Downloads - nordicsemi.com
下载完成后,然后在任意位置创建文件 nRF_install.bat,打开且修改成如下代码:
@echo off
setlocal:: Set the target path
set "targetPath=C:\nrfutil":: Create the folder if it doesn't exist
if not exist "%targetPath%" (mkdir "%targetPath%"echo Folder %targetPath% has been created.
) else (echo Folder %targetPath% already exists.
):: Check if PATH already contains the target path
echo %PATH% | findstr /i /c:"%targetPath%" >nul
if %errorlevel% equ 0 (echo Path %targetPath% is already in the system PATH.
) else (:: Get current PATH from registryfor /f "tokens=2*" %%a in ('reg query "HKCU\Environment" /v Path') do set "currentPath=%%b":: Add new path to system PATHsetx Path "%currentPath%;%targetPath%" /mecho Path %targetPath% has been added to the system PATH.
)echo.
echo Done! You can now use nrfutil from any command prompt.
echo Please restart your command prompt to apply the new environment variables.pause
管理员权限CMD运行:
成功 ,然后把刚刚下载的程序 nrfutil.exe 移动到如下目录:
cmd 输入 nrfutil ,显示下面安装成功:
5.下载GNU Arm Embedded Toolchain
GNU Arm Embedded Toolchain 是一个由 ARM 维护的免费软件开发工具包,专门用于开发基于 ARM Cortex-M 和 Cortex-R 系列处理器的应用程序。它包含了 GNU Compiler Collection (GCC) 的一系列工具,如编译器、汇编器、链接器和库,以及其他一些必要的工具(如调试器),使得开发者可以编写、编译和调试针对 ARM 嵌入式系统的代码。
主要组件
- GCC for ARM: 一个支持 ARM 架构的 C/C++ 编译器。
- GDB (GNU Debugger): 用于调试应用程序。
- Binutils: 包括汇编器(as)、链接器(ld)和其他工具,比如用于生成二进制文件、十六进制文件等的工具。
- Newlib 或者其他 C 库: 提供标准C库支持,适合嵌入式环境使用。
打开GNU Arm Embedded Toolchain下载链接:Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer
下载完成后,打开安装程序:
选择下面这个,添加到环境变量:
GNU Arm Embedded Toolchain安装完成.
6.Vscode
请你按照下面教程安装
从零开始:VSCode的详细安装与配置教程 - 知乎
7.安装Vscode插件
安装上面插件
8.配置Vscode环境
VsCode打开项目文件夹
在 VS-Code 中按 F1 并输入
C/C++: Edit Configurations (UI)
在这里添加配置名称输入 ChameleonUltra_GCC 然后确定
下面这里修改成GNU Arm Embedded Toolchain的gcc.exe路径(请你注意是不是你的这个安装路径):
D:\GNU Arm Embedded Toolchain\10 2021.10\bin\arm-none-eabi-gcc.exe
将 IntelliSense 模式更改为 gcc-arm (legacy)
9.编译项目
编译成功
app编译,待补充