- 博客(17)
- 收藏
- 关注
原创 Yocto 项目下通过网络更新内核、设备树及模块
在 Yocto 项目的开发过程中,特别是在进行 BSP(Board Support Package)开发时,经常需要调整特定软件包的版本,修改内核、设备树以及内核模块。然而,每次更改后都重新刷写整个镜像不仅耗时,而且效率低下。本文主要记录一种快速迭代开发的方法,即通过网络更新内核镜像、设备树以及内核模块,以 ST 开发板为例进行详细说明。
2024-11-09 18:36:37
1174
原创 使用 Yocto 进行 OpenSTLinux 系统的构建
Yocto 项目是一个基于 Linux 的开源操作系统构建框架,专为嵌入式设备和物联网设备设计。它提供了一个全面的工具链和文档集,支持从源代码构建完整的 Linux 系统,包括内核、根文件系统、应用程序和库等。Yocto 项目的核心组件包括 OpenEmbedded 构建系统(基于 BitBake)、Poky 参考发行版以及丰富的元数据集。通过 Yocto,开发者可以创建高度定制化的 Linux 发行版,以满足不同硬件平台和应用需求。
2024-11-08 23:38:23
1480
原创 Jenkins Pipeline 部署总结
Jenkins Pipeline 是 Jenkins 提供的一套强大的工作流框架,它允许开发者以代码的形式定义整个软件交付过程,从而实现持续集成和持续部署(CI/CD)。通过 Pipeline,原本独立运行于单个或多个节点的任务可以被连接起来,形成一个完整的、可视化的工作流。
2024-10-31 23:05:05
1408
2
原创 Docker 基础入门
在云计算和微服务架构日益盛行的今天,软件开发与部署的效率和灵活性成为了企业竞争力的关键因素之一。Docker,作为一种开源的容器化平台,凭借其轻量级、可移植性和易于管理的特性,迅速成为现代软件开发和运维领域的宠儿。本文主要总结一些 Docker 的基本概念、核心优势、应用场景以及记录如何使用 Docker 来优化软件开发与部署流程。
2024-10-23 22:21:45
1184
原创 Python Flask 数据库开发
在现代 web 开发中,Python 的 Flask 框架因其轻量和灵活性受到广泛欢迎。结合数据库技术,Flask 可以高效地管理和处理数据,使开发者能够快速构建功能强大的应用程序。无论是选择 MySQL 还是 PostgreSQL,掌握数据库与 Flask 的集成至关重要。本文将探讨如何在 Flask 中设置和使用数据库,涵盖从环境配置到基本操作的各个方面,便于我们去实现数据驱动的应用。
2024-10-21 23:17:04
1681
原创 MySQL && PostgreSQL 数据库部署
随着信息技术的迅猛发展,数据库系统在数据管理和应用程序开发中扮演着至关重要的角色。在众多数据库选项中,MySQL 和 PostgreSQL 是两种广泛使用的开源关系型数据库,各具独特优势。本文旨在记录 MySQL 和 PostgreSQL 的部署过程,并提供一些客户端的简易操作建议,方便我们更好地应用这两种数据库。
2024-09-19 23:36:05
1322
1
原创 分布式系统中的跨语言通信:Protocol Buffers 和 gRPC
在现代软件开发中,跨语言和跨进程的通信是系统设计中的一个关键挑战。如何高效地在不同编程语言(如 C++、Python、JavaScript)之间进行数据交换,并实现稳定、可靠的远程过程调用(RPC),对构建复杂的分布式系统和微服务架构至关重要。为了解决这些问题,Protocol Buffers(protobuf) 和 gRPC 提供了强大而灵活的解决方案。本文将探讨这两个工具如何通过简化数据交换和服务调用,以实现高效、可靠的跨语言通信,从而优化系统设计和提高开发效率。
2024-09-16 22:36:39
1268
原创 如何使用APT推送和管理软件包升级
在现代 Linux 系统中,APT(Advanced Package Tool)作为一个强大的包管理工具,提供了集中化和自动化的软件包管理功能。通过使用 APT 推送和管理软件包升级,我们可以简化软件的部署和维护过程。APT 不仅支持自动化更新和版本控制,还能够有效处理软件包的依赖关系,从而减少手动干预和潜在的冲突。此外,APT 通过签名和认证机制增强了软件的安全性,同时为用户提供了简洁直观的命令行工具。借助 APT,我们可以创建自定义仓库,以便在组织内部分发和管理软件。
2024-09-03 23:31:21
1091
原创 嵌入式 MCU 的 Class B 安全功能实现
在家用电器及类似电气控制设备的设计和制造中,安全性始终是至关重要的。全球标准化机构,如国际电工委员会(IEC)等制定了相关安全标准,以确保电器的可靠性和安全性。其中,IEC60730 标准为电器设备的自动控制系统提供了一套全面的规范,旨在确保设备在各种使用场景中的安全性、可靠性和性能。尽管该标准最初主要针对家用电器,如洗衣机、冰箱和烤箱,但其应用范围已经扩展到商业和某些工业设备。如今,TUV、VDE、UL 及 CSA 等机构均认可并要求在认证过程中应用这一标准。
2024-09-01 18:20:24
2569
2
原创 深入了解 .deb 软件包:Linux 下的包管理基础
使用过 Ubuntu 或其他 Debian 系统的朋友都知道,我们经常会看到许多 .deb 格式的软件包。在这些系统中,.deb 文件不仅是官方软件库中提供的软件包的常见格式,而且也是许多第三方软件的首选安装包格式。这种广泛使用的包格式,承载了软件的所有必需组件,并确保了在系统上的顺利安装和管理。.deb 文件是 Debian 系统及其衍生发行版(如 Ubuntu)使用的一种软件包格式。这种格式通过一种封装机制,将软件的所有必要文件和信息打包成一个单一的文件,以便于分发和安装。
2024-08-20 23:49:38
5082
原创 分享一种好用的通信协议:UAVCAN(Cyphal)
UAVCAN 是一种高效的、轻量级的开源通信协议,专门设计用于嵌入式系统,特别是在无人机(UAV)及相关领域。最初是为无人机设计的,但它也可以用于任何需要高可靠性和实时通信的嵌入式系统。它被广泛用于飞行控制、传感器、执行器等组件之间的数据传输。现已改名为 Cyphal。
2024-08-18 19:58:45
3400
原创 PyQt 快速上手
嵌入式软件与常规应用程序的不同在于其高度依赖特定硬件,这使得软件的性能和稳定性直接受到硬件的影响。因此,嵌入式设备在生产过程中,往往都要经过 IQC(来料检验)、FCT(功能测试)、PQC(过程检验)等多种测试流程。然而,产测人员通常缺乏深厚的技术背景,他们依赖高效的测试工具来完成工作。为了提升测试效率和准确性,引入用户友好的图形界面工具变得尤为重要。这些工具提供了直观的操作界面,使产测人员能够更轻松地执行和记录测试过程,确保最终产品的质量符合标准。
2024-08-17 19:37:47
1356
原创 如何在 Zephyr 中开发驱动模块
设备驱动模型是 Zephyr RTOS 的开发中的一个核心概念,它提供了一种统一的方式来管理硬件设备和实现硬件抽象层。Zephyr 的设备驱动模型通过硬件抽象层(HAL)提供了一种抽象接口,使得应用程序和系统代码可以以一种一致的方式访问不同的硬件设备。这样,驱动程序能够提供对底层硬件的具体实现,而上层应用程序则可以使用相同的 API 进行操作,从而减少了对硬件特性的直接依赖。本文以一个虚假的 EEPROM 模块(fake eeprom)上手,了解如何在 Zephyr 上进行设备驱动开发。
2024-08-16 22:21:46
1867
1
原创 Zephyr RTOS开发环境搭建
在当今快速发展的物联网(IoT)领域,实时操作系统(RTOS)在嵌入式开发中的作用越来越重要。Zephyr 是一个功能强大且开源的实时操作系统,专为资源受限的设备设计,提供了高效、可扩展的解决方案。它支持广泛的硬件平台,并且具有灵活的配置选项,适用于从简单的传感器节点到复杂的智能设备等各种应用。在实际进行嵌入式系统开发时,开发人员需要一个完善的开发环境。这不仅能帮助加速开发过程,还能确保高质量的代码和系统性能。
2024-08-16 13:00:50
939
原创 CI/CD 环境搭建:Docker+Jenkins+Gerrit
软件开发的连续方法旨在通过自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性。从新代码的开发到部署,它们只需要较少的人为干预甚至根本不需要干预;它涉及在每次小迭代中不断构建,测试和部署代码更改,从而减少基于有缺陷或失败的先前版本开发新代码的机会。
2024-08-15 22:55:20
1906
原创 从 FreeRTOS 到 Zephyr
当我们进入嵌入式这个领域的时候,往往首先接触的都是单片机编程,单片机编程又首选 51 单片机来入门。大家说的单片机编程通常都是指裸机编程,即不加入任何 RTOS(Real Time Operating System 实时操作系统)的程序。在裸机系统中,所有的操作都是在一个main 函数的无限的大循环里轮询处理,更进进一步就是使用中断响应外部事件,组成一个前后台系统,这样也足以满足很多中小型的电子产品的需求。
2024-08-13 23:31:12
2386
1
stm32-classb-安全功能认证
2024-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人