首页 > 其他分享 >《痞子衡嵌入式半月刊》 第 111 期

《痞子衡嵌入式半月刊》 第 111 期

时间:2024-11-17 21:41:04浏览次数:1  
标签:选项 痞子 配置 Zephyr 嵌入式 构建 内核 111

痞子衡嵌入式半月刊: 第 111 期

这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。

本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。

上期回顾《痞子衡嵌入式半月刊: 第 110 期》

唠两句

历史上的今天:1843年11月17日,上海开埠,中外贸易中心转移。

本期共 1 个项目、4 个工具,希望对你有帮助!

项目类

1、Zephyr - 面向物联网嵌入式小型可扩展RTOS

Zephyr OS 是一个开源协作项目,旨在为物联网 (IoT) 构建实时操作系统 (RTOS)。它基于专为占用资源的系统而设计的小巧内核,从简单的嵌入式环境传感器和 LED 穿戴式设备到复杂的智能手表和物联网无线网关,应有尽有。

Zephyr 内核具有占用空间较小、高性能、多线程的执行环境及各种可用功能。Zephyr 生态系统的其余部分(包括设备驱动程序、网络堆栈和应用专用代码)使用内核的功能来创建完整的应用。

工具类

1、CMake - 一个跨平台的自动化构建系统

CMake 是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。它能够输出各种各样的 makefile 或者 project 文件,能测试编译器所支持的 C++ 特性,类似 UNIX下 的automake。只是 CMake 的组态档取名为 CMakeLists.txt。

Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。

2、Ninja - 开源的轻量级快速构建工具

Ninja 是一个小型、快速的依赖驱动的构建系统,由 Google 的 Chris Martine 开发‌。它旨在提高构建速度,通过与其他构建系统(如 CMake 或 Meson)配合使用,生成中间构建文件,从而高效地编译源代码。Ninja 的设计哲学是简化构建过程并优化磁盘和内存的使用,特别适合大规模软件工程的构建‌。

3、Kconfig - 一种用于配置系统选项和特性的配置系统

Kconfig 是 Linux 内核(以及 Zephyr)一种用于配置系统选项和特性的配置系统。它是一种配置语言和配置工具的组合,用于管理内核的各种功能和选项,使开发者能够根据其需求自定义内核的构建。Kconfig 不仅用于配置内核的构建选项,还用于配置内核中各个功能的开启或关闭状态,从而构建出适合特定硬件和需求的定制化内核。

以下是 Kconfig 的一些关键特点和概念:

- 菜单和选项: Kconfig 使用树形菜单的方式组织各个配置选项。每个菜单都可以包含一系列的配置选项或子菜单,这些选项可以是布尔值、字符串或整数等不同类型的数据。
- 依赖关系: 在 Kconfig 中,配置选项可以有依赖关系。某些选项可能只能在某些条件满足时才能被启用,这些条件可以是其他选项的状态或硬件支持情况。
- 可视化配置界面: Kconfig 提供了一个可视化的配置界面,通常通过 make menuconfig 命令启动。这个界面允许开发者在交互式环境中浏览和配置各种选项,从而生成配置文件。
- 配置文件生成: 配置界面的更改会导致生成一个 .config 文件,其中包含了用户所做的配置选项。这个配置文件可以传递给构建系统,用于指导内核的编译和构建。
- 构建系统集成: Kconfig 集成在 Linux 内核构建系统中,通过 Makefile 和其他构建工具来解析配置选项并根据配置生成适当的编译指令。

4、West - 用于Zephyr项目的可扩展命令行管理工具

West 是 Zephyr 项目提供的一款命令行工具,也被 Zephyr 官网称作”瑞士军刀“,可扩展的命令行工具,负责 Zephyr 工作区管理,管理不同的仓库,下载所有 Zephyr 源码以及其他依赖包配置工作区,通过调用其他工具,来实现工程的构建,烧写以及调试,支持添加自定义扩展指令。

欢迎订阅325228

文章会同时发布到我的 博客园主页CSDN主页知乎主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

标签:选项,痞子,配置,Zephyr,嵌入式,构建,内核,111
From: https://www.cnblogs.com/henjay724/p/18551164

相关文章

  • MLLM_20241117
    Paper1题目:INFERENCEOPTIMALVLMSNEEDONLYONEVISUALTOKENBUTLARGERMODELS作者团队:KevinY.Li,SachinGoyal,JoãoD.Semedo,J.ZicoKolter(CMU)链接:https://arxiv.org/abs/2411.033121.论文试图解决什么问题?是否是一个新问题?论文试图解决VLMs推理阶......
  • 201117 noi plus 模拟赛
    省流:\(40+85+48+0\)。逆天绿紫黑黑。不能再挂分了,t1\(100\to40\),t2\(100\to85\),t3\(84\to48\)。T1给一个\(n\timesm\)的网格图,每个点只能是#或.或S或T,若这个点为#则这个点是障碍,不能到达,若是.则是空地,可以到达,S是起点,T是终点。每次你可以走四联......
  • 20241116
    T1医生厨神秘贪心题。不会。不懂。考虑当\(\maxA_i\lex\)时,可以直接从大往小干。否则需要不断扩大\(x\)使得其超过\(\maxA\)。我们考虑在一个时刻,若存在一个\(a\)使得\(a\lex\land2a\gex\),那我们直接把这个\(a\)干掉是不劣的,因为你现在干掉这个至多只会拖......
  • 20241115
    T1自闭题目条件可以扩展到任意矩形的四个顶点。则整个矩阵仅由第一行和第一列决定。容易发现最左上角的格子直接填\(0\)是一定合法的,因此只需要判断是否存在数组\(a_i,b_i\)满足\(A_{i,j}=a_i+b_j\)即可。考虑将给出的限制视为边,\(a_i,b_j\)视为点建图,显然不同连......
  • 241117-欧几里得空间与非欧几里得空间
    欧几里得空间和非欧几里得空间是描述几何学中不同类型空间的概念,用来解释我们对空间的理解方式。它们在日常生活、物理学和数学中有着重要的应用。下面我将用简单的语言来介绍这两个概念。欧几里得空间欧几里得空间是我们最熟悉的几何空间,它是基于古希腊数学家欧几里得提出的几......
  • 20241112
    T1传送门肯定是准备用传送门的时候才会开。于是打出一个传送门之后肯定是找最近的能走到的墙然后在这面墙上打一个传送门穿过去。因此每一步的决策就是四向移动或者以当前格到最近的墙的距离的代价走到四个方向上最近的墙之一。直接最短路即可。代码#include<iostream>......
  • 吐槽202401113关于监管特殊停牌炒作股票事件--兼此事件复盘
    写在前面:强者从不抱怨环境,弱者只会怨天尤人我仅以此发泄下情绪,我知道不会有人在这里看股市,所以才写在这里。自媒体的宣泄是为了博取不同人的共情,吸引流量。而我仅仅为了宣泄下不满,后面看到的人不要学我。 本次的监管特停事件是一次黑天鹅事件。 复盘2024-11-09日,周五下午......
  • [20241114]建立完善mod_addr.sh脚本.txt
    [20241114]建立完善ext_kglob.sh脚本.txt--//以前考虑使用管道问题,我考虑复杂了,看了gdb文档,实际上gdb-ex参数支持在命令行加入执行命令。--//选择使用mmon后台进程,改写如下:$catext_kglob.sh#/bin/bash#extraceobjectstringfromobjecthandleaddress#arg1=addressarg2=o......
  • 241116 noip 模拟赛
    省流:\(100+100+100+5\)。T1题意:给一个括号序列\(s\),求出长度最小的\(s\)的子序列\(t\),满足\(t\)是合法括号序列且删掉\(t\)后\(s\)是一个特殊的序列。定义特殊的序列为长度\(2n\),前\(n\)个都是(,后\(n\)个都是)。\(n\leq3\times10^6\)。可以枚举特......
  • 第十六届蓝桥杯嵌入式赛道备赛---ADC+DMA多通道读取(日志四)
    前言        ADC转换是一个比较简单的模块,但是其中有很多的细节问题需要处理到,这些问题也是我在写程序的时候遇到的。如果是用ADC+DMA,或者是ADC多通道,这些问题相信你也会遇到,接下来将详细展开讨论。    先来看一下开发板中为我们准备的对应资源---电位器。两......