详解STM32+SX1276 Linux下的编译环境搭建
时间:2022-07-25
本文章向大家介绍详解STM32+SX1276 Linux下的编译环境搭建,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、cmake安装
使用apt-get工具安装的cmake版本是3.5.0的,版本比较低,在这里需要安装高版本的cmake工具,因此直接在cmake官网下载最新的工具(https://cmake.org/download/)。
1.1、下载安装文件
cmake官网提供了两种方式,源码安装和二进制安装,我们使用二进制安装:
1.2、放到合适的位置,例如/usr/local/cmake目录:
1.3、解压:
tar -xzf cmake-3.16.0-Linux-x86-64.tar.gz
1.4、添加环境变量:
sudo vim /etc/profile
在最后输入:
export PATH=$PATH:/usr/local/cmake/cmake-3.16.0-linux-x86_64/bin
1.5、重启,最好是重启linux
1.6、查看cmake是否安装成功:
cmake --version
2、git 安装
2.1、安装
sudo apt install git
2.2、查看是否安装成功
git --version
3、源码下载
git clone https:github.com/Lora-net/LoRaMac-node.git
4、构建stm32交叉编译工具链
4.1、下载安装
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt-get install gcc-arm-embedded
依次输入以上命令,等待安装完成。
4.2、查看版本
安装成功之后,输入arm-none 就可以看到以arm-none开头的工具
输入
arm-none-eabi-gcc -v
可以查看版本,表示工具链已经安装完成。
5、编译工程
5.1、进入工程目录,新建build文件夹
mkdir build
5.2、进入build目录,运行cmake工具,生成Makefile文件
cmake -DCMAKE_TOOLCHAIN_FILE="cmake/toolchain-arm-none-eabi.cmake" ..
5.3、编译
make
等待编译完成,生成hex文件、bin文件:
至此,编译环境搭建完成,我们可以配合vscode在Linux下编辑代码,来完成开发。
- 仿淘宝的交易到计时JS
- 继小程序之后“小游戏”也来了,微信为此再次开启神秘入口
- (Head First 设计模式)学习笔记(3) --装饰者模式(StarBuzz咖啡店实例)
- 我的Js代码-按钮按下时判断是否选择了最后一行,给出提示
- (Head First 设计模式)学习笔记(2) --观察者模式(气象站实例)
- Spring Boot使用HandlerInterceptorAdapter和WebMvcConfigurerAdapter实现原始的登录验证
- 一条视频获C+融资 两个域名神助攻
- ExtJs与WCF交互:生成树
- JavaScript大略
- 加点的心得
- Markdown
- 介绍linux下利用编译bash设置root账号共用的权限审计设置
- 分享一例脚本发版和tomcat重启脚本
- 2018年小程序的红利趋势预测,或许你将成为下个富翁
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 写JavaScript函数不得不知的高级技巧
- Android编程视频播放API之MediaPlayer用法示例
- Android实现点击缩略图放大效果
- Android 应用签名的两种方法
- Android 关闭多个Activity的实现方法
- 我从Vue源码中学到的一些JS编程技巧
- 组复制升级 | 全方位认识 MySQL 8.0 Group Replication
- 浅谈关于Android WebView上传文件的解决方案
- Android对图片Drawable实现变色示例代码
- 排序|优先队列不知道,先看看堆排序吧
- Android关于FTP文件上传和下载功能详解
- Android中封装RecyclerView实现添加头部和底部示例代码
- Python 十六进制hex-bytes-str之间的转换和Bcc码的生成
- android中实现手机号码的校验的示例代码
- Android ListView实现下拉加载功能