
嵌入式开发,
文章平均质量分 75
define_me_freedom
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ESP32连接xbox手柄
简单介绍一下如何使用ESP32连接xbox的蓝牙手柄,使之变成一个相对通用的遥控器。原创 2024-06-10 11:24:11 · 3255 阅读 · 6 评论 -
深度解析NRF24L01
本文将深度解析一款烂大街的无线芯片,NRF24L01(及国产完全兼容的SI24R1)。实在是现在网上很多写NRF24L01的文章抓不到重点,一些冷门用法没人写,就写了这个文章。推荐选用SI24R1,原因是功能完全相同,但SI24R1内置PA,最大输出是7dbm,而挪威原版的NRF24L01+最大输出只有0dbm。因为2.4G是ISM频段,功率即正义!以下以SI24R1为例进行说明读写控制...原创 2020-03-09 21:20:05 · 5218 阅读 · 9 评论 -
[GN] 生成bin和hex
gn对于工具链的配置只到可执行文件就结束了,在我们之前配置的armcc中,最终生成axf就算结束了,但对于一些应用场景来说,bin和hex是必须的,因此还需要执行额外的步骤来实现bin和hex的生成,对于bin和hex,arm工具链中提供了fromelf来做这件事情。构建后动作gn提供了目标action来做工具链之外的动作,action可以接受python脚本,因此我们的选择就是在pyth...原创 2020-02-06 16:26:05 · 1209 阅读 · 0 评论 -
[GN] 让构建更快更快以及更快
基于GN+ninja的构建系统已经在构建系统层面将速度提升到了极致,但对于编译来说远远没有!我们可以通过对于不常改动的文件编译为lib的方式来避免每次清理后的重复构建,这样直接把编译的过程都省掉了,构建就可以变得更快。静态链接库编译一个静态链接库对于gn来说简直是小菜一碟static_library("stm32f103c8t6") { sources = [ "co...原创 2020-02-06 16:15:40 · 1078 阅读 · 0 评论 -
[GN] 工程架构
前面说到了怎么配置一个可用的armcc的工具链,这篇文档将基于其工具链架构一个真实可用的具体工程。环境依赖首先需要下载gn.exe和ninja.exe两个程序,每个程序只有几百k,相对于cmake来说真的是清爽,而且无需安装,可以直接嵌入你的工程,两者均可以在chromium的原码中找到。 下载并安装python3,该步骤并不是必须的,但是gn支持的外部脚本只有python,原生并不支持...原创 2020-02-06 15:55:32 · 1917 阅读 · 3 评论 -
[GN] 配置armcc工具链
对于gn来说,工具链被抽象为一系列的工具描述,我们要做的就是写对应的工具描述文件出来。首先在工程根目录建立一个文件.gn(注意文件的名字为空,后缀为.gn),文件中配置工具链描述文件所在的路径buildconfig = "//build/buildconfig.gn"该变量定义了构建工具链描述文件所在的路径,//表示工程根目录。在buildconfig.gn中定义工具链。s...原创 2020-02-06 14:47:29 · 3039 阅读 · 2 评论 -
[GN] 官方文档
介绍本页面描述了许多语言的细节和行为。使用内置的帮助!GN有一个广泛的内置帮助系统,为每个功能和内置变量提供参考。这个是gn文档的主要来源!gn help设计理念 编写构建文件不应该是一个创造性的努力。理想情况下,两个人应该产生相同的构建文件来实现相同的需求。除非绝对需要,否则不应有任何灵活性。做越多的事情越可能产生致命的错误。 定义应该比代码更像代码。我不...转载 2020-02-06 14:09:14 · 4048 阅读 · 0 评论 -
[GN] 使用GN+Ninja替代MDK进行编译
背景在单片机开发者中,使用MDK一直是一个较为普遍的选择,但是当工程变的越来越大之后,MDK开始力不从心,编译速度下降,配置复杂,编译过程中添加自定义行为困难等问题开始显露出来,因此选择一个更好的编译工具就变成了一个需要提上日程的需求。工具选择make make属于第一代构建系统。经常在linux下开发的开发者对于makefile应该相当熟悉,使用makefile来做工程编译管理是很...原创 2020-02-06 13:30:20 · 4090 阅读 · 2 评论 -
一种相对高效的按键消抖方法
按键软件消抖自我接触单片机开始就已经存在这个问题了,网上的办法无非是延时消抖和定时轮询。对于写裸机的我来说这两种方法都不可避免的会有资源浪费掉,今天突然有了灵感,想到了一种相对高效的办法来解决消抖问题。硬件平台:STM32F103RCT6开发板开发环境:WIN7-64bit+MDK5+STD库按键消抖的必要性在此我就不多说了。直接步入正题。在使用本方法前请注意,本方法需要一个全原创 2017-09-29 20:43:20 · 8571 阅读 · 3 评论