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

变色龙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 是一个广泛使用的构建工具,主要用于编译和管理软件项目中的文件。它通过读取名为 Makefilemakefile 的脚本文件来确定如何编译和链接程序。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编译,待补充

http://www.xdnf.cn/news/9407.html

相关文章:

  • Python爬虫实战:抓取百度15天天气预报数据
  • Dropout 在大语言模型中的应用:以 GPT 和 BERT 为例
  • Oracle RMAN 备份脚本
  • 【GraphQL】深入解析 Apollo Client:从架构到实践的一站式 GraphQL 解决方案
  • [java八股文][JavaSpring面试篇]Mybatis
  • 英语写作中“表达、表述”expression statement 的用法
  • 题海拾贝:P1208 [USACO1.3] 混合牛奶 Mixing Milk
  • 构建安全高效的邮件网关ngx_mail_ssl_module
  • 4.8.1 利用Spark SQL实现词频统计
  • 2025人脸识别备案新规:企业个人权益保障
  • 青少年编程与数学 02-020 C#程序设计基础 08课题、字符和字符串
  • HTTP代理的实际用处有哪些?HTTP代理强在哪里?
  • 解决“无法打开或关闭Windows功能”问题
  • 如何区分防爆手机与普通手机?
  • XGBoost与SHAP深度解析:从算法原理到实战价值
  • 打卡第31天:模块和库的导入
  • DrissionPage:重新定义Python网页自动化,让爬虫与浏览器控制合二为一
  • LVS-DR群集
  • Linux之守护进程
  • 无法删除/重装VirtualBox,提示缺少msi安装包
  • Jenkins+Docker 实现一键自动化部署项目
  • 学习STC51单片机18(芯片为STC89C52RCRC)
  • 干货|VR全景是什么?
  • 并发解析hea,转为pdf格式
  • Unity数字人开发笔记——讯飞超拟人语音
  • uniapp|实现多端图片上传、拍照上传自定义插入水印内容及拖拽自定义水印位置,实现水印相机、图片下载保存等功能
  • 实测!横屏影视素材转竖屏 无损转换 +参数可调 抖音 快手竖屏视频一键适配
  • C++ 复制构造函数:创建对象的 “拷贝大师”
  • Ajax(Asynchronous JavaScript and XML)
  • 无人机分布式协同算法解析!