自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (5)
  • 收藏
  • 关注

原创 Panthor 开源方案与 Mesa 图形库的技术解析

以下是对与。

2025-06-12 07:57:21 576

原创 Yocto中virtual/ 前缀的依赖关系的解耦设计哲学

Yocto中virtual/ 前缀的依赖关系的解耦设计哲学

2025-06-11 07:51:48 604

原创 Yocto 项目PROVIDES、PREFERRED_PROVIDES 和 PREFERRED_VERSION关键变量解读

PROVIDES、PREFERRED_PROVIDES 和 PREFERRED_VERSION关键变量解读

2025-06-11 07:50:31 393

原创 “硅仙人”吉姆·凯勒(Jim Keller)

初入DEC,凯勒竟与“小型机之父”戈登·贝尔(Gordon Bell)激辩技术,初生牛犊的锋芒惊动四座。随PA Semi被苹果收购后,他力排众议,摒弃“多核内卷”,提出**“大核架构为王”**的理念:“堆砌小核如群蜂乱舞,一核有难,七核围观!转战AMD,他主导K7/K8架构,首创x86-64指令集(64位计算的基石),并设计HyperTransport总线。众人哗然,讥其“狂言”。他深谙摩尔定律的物理桎梏,却以架构创新破局——从Alpha到Zen,从移动芯片到AI引擎,每一步皆直指应用本质。

2025-06-07 08:28:56 276

原创 usbutils工具的使用帮助

usbutils是Linux系统中用于管理USB设备的实用工具集,包含lsusb、usb-devices等命令,可列出设备信息、分析拓扑结构和调试HID设备。通过安装包(如apt install usbutils)即可使用,支持设备过滤(lsusb -d vid:pid)、树状显示(lsusb -t)和功耗检查等操作。常见应用包括设备识别、驱动绑定验证,配合dmesg和udev规则可解决权限问题或持久化命名。高级功能涉及USB协议分析和内核模块检查,是嵌入式开发和硬件调试的高效工具。

2025-06-06 22:00:00 381

原创 用yocto构建树莓派4镜像时出现许可证错误问题

【摘要】Yocto构建失败分析显示,因linux-firmware-rpidistro-bcm43456软件包的"synaptics-killswitch"许可证未被接受导致依赖链断裂。核心错误表明该受限许可证未包含在LICENSE_FLAGS_ACCEPTED中。解决方法为修改conf/local.conf文件,添加"LICENSE_FLAGS_ACCEPTED += "synaptics-killswitch""配置项以授权该许可。若存在其他受

2025-06-06 17:17:11 178

原创 RK3568嵌入式Linux多屏显示开发指南

摘要:本篇RK3568嵌入式Linux多屏显示开发指南详细介绍了基于Qt应用层的实现方案。文章首先概述了技术架构,说明从Qt应用到硬件显示的完整流程。然后提供了两种实现方案:推荐使用Qt内置多屏支持方案,包含完整的C++代码示例和配置文件说明;对于需要精细控制的场景,给出了基于libdrm API的底层实现方案。最后重点讨论了屏幕旋转处理和多屏协同工作模式的关键技术要点,包括扩展桌面、镜像模式等实现方法。

2025-06-06 08:09:57 905

原创 瑞芯微平台的DRM显示框架及modetest工具的深度解析

瑞芯微平台DRM显示框架与modetest工具解析摘要: 本文深入分析了Linux DRM框架在瑞芯微芯片(如RK3566/RK3588)上的实现与应用。DRM作为现代图形显示框架,通过KMS管理显示模式、多图层合成,GEM管理显存资源。瑞芯微平台通过VOP模块、多图层支持(RK3588达4个Overlay)和专用驱动优化性能。与传统FBDEV相比,DRM具备硬件加速、动态分辨率切换等优势。文章详细介绍了modetest工具的使用方法,包括设备扫描、显示设置、多图层合成等操作,并提供了常见问题解决方案和性能

2025-06-06 08:08:16 1260

原创 float转换为整型过程中关于小数部分的处理

大多数编程语言在将float转换为整型时默认会截断小数部分而非四舍五入,如C/C++、Python和JavaScript等。要实现四舍五入,需显式调用round()等函数。不同语言对负数的截断规则可能不同,建议查阅具体文档。关键点:默认截断,需主动调用函数才能四舍五入。

2025-06-06 08:05:28 398

原创 动态库版本不配问题排查步骤

库版本不匹配的排查指南: 定位问题:通过报错信息锁定库名和版本号,使用file检查文件属性,objdump查看依赖关系。 版本检查:用find搜索所有库文件,对比版本号,删除冲突版本或更新符号链接。 路径修正:确保系统能找到库文件,设置LD_LIBRARY_PATH或更新/etc/ld.so.conf并运行ldconfig刷新缓存。 预防措施:使用Docker或conda隔离环境,统一编译选项,维护版本兼容清单。

2025-05-26 21:31:25 950

原创 pkg-config的功能与作用说明

pkg-config是构建系统的核心工具,通过读取.pc文件统一管理第三方库的编译/链接参数(头文件路径、库文件路径、版本等),解决跨平台开发中的路径和版本问题。它支持自动调用和手动检查,尤其在嵌入式开发中通过设置PKG_CONFIG_PATH和PKG_CONFIG_SYSROOT_DIR确保交叉编译正确性。关键功能包括版本约束检查(如openssl>=1.1.0)和错误输出,帮助开发者快速验证依赖环境。合理配置.pc文件路径是保证构建成功的关键。

2025-05-26 21:12:51 400

原创 更多 QVariant 使用案例

在需要统一接口、动态配置或跨模块通信时,它是 Qt 生态中的关键工具。,直接处理不同字段类型。

2025-05-08 17:02:09 348

原创 QVariant 的核心用途

是 Qt 中处理异构数据的瑞士军刀,在灵活性要求高的场景下表现卓越,但需注意类型安全和性能取舍。的通用容器类,能够在不同模块间传递未知或动态类型的数据。:同一模型索引(Index)通过不同角色返回字符串、颜色等不同类型数据。:通过元类型系统支持用户自定义类型的存储和转换。统一管理对象的动态属性,支持多种数据类型。统一参数类型,接收方根据实际类型解析数据。存储配置项,支持多种数据类型。

2025-05-08 16:28:32 409

原创 C++中的CAS(Compare-And-Swap)解读

用于在多线程编程中实现无锁(lock-free)的线程安全操作。它的核心功能是:检查某个内存位置的值是否与预期值一致,若一致则更新为新值,否则不更新。线程1读取内存值为A,线程2将其改为B后又改回A。线程1的CAS操作误认为值未变,导致逻辑错误。可能在某些情况下虚假失败(如硬件架构限制),但性能更高,通常用在循环中重试。CAS(Compare-And-Swap)是一种。严格保证成功或失败,无虚假失败,但可能更耗资源。整个过程是原子性的,不会被其他线程中断。,每次修改递增版本号,确保值的唯一性。

2025-05-06 17:03:33 646

原创 原子操作的is_lock_free() 接口说明

表示该原子类型的操作直接通过硬件指令(如CAS指令)实现,无需内部使用互斥锁(mutex),因此效率更高且无阻塞风险。,则表示该类型可能需要内部加锁(如对复杂类型或某些平台不支持的无锁操作),此时原子操作可能涉及锁竞争和上下文切换。的结果选择不同的算法或数据结构(例如优先使用无锁实现的高性能路径)。这是并发编程中的一个关键信息,直接影响程序的性能和线程安全策略。在调试时输出原子类型的无锁状态,辅助分析并发性能。不同平台对原子类型的无锁支持可能不同(例如对。的支持),通过此接口可编写平台自适应的代码。

2025-05-06 16:26:04 509

原创 使用yml与Dockerfile文件配合构建docker容器-群晖nas

为了方便在nas上构建容器,现在整理将docker-compose.yml文件与Dockerfile文件放置在同一个目录。就可以自动生成docker镜像了。采用上面的方式就可以方便构建自己容器开发环境了。

2025-04-25 08:03:34 269

原创 ARM设备调试领域ADI和CoreSight技术

ARM设备调试领域ADI和CoreSight技术

2025-04-08 08:02:30 624

原创 U-Boot Sandbox特性应用案例

U-Boot Sandbox通过虚拟化硬件环境,覆盖了驱动开发、安全验证、文件系统测试、网络调试、内存分析等核心场景。:开发者在修改U-Boot的I2C或SPI驱动后,需验证驱动与设备模型的兼容性。:模拟安全启动环境,避免因签名错误导致真实设备启动失败的风险。:无需物理存储设备,快速验证文件系统驱动的稳定性49。:模拟真实网络环境,验证协议栈实现,避免硬件依赖问题。:调试U-Boot的TFTP协议或HTTP下载功能。:检测U-Boot代码中的内存泄漏或性能瓶颈。:验证FIT镜像的签名校验流程是否符合预期。

2025-04-04 20:27:09 838

原创 U-Boot Sandbox特性

通过上述步骤,开发者可高效利用Sandbox加速U-Boot功能开发与验证,减少对物理硬件的依赖。(退出时写入)保存驱动状态(如SPI Flash模拟内容)12。需配置Linux RAW网络桥接权限(以root运行或添加。根据需求选择32位或64位版本(默认。支持U-Boot标准命令(如。参数指定状态文件,结合。查看完整列表110。

2025-04-04 20:23:21 697

原创 Buildroot与Yocto介绍比对

Buildroot 和 Yocto 是嵌入式 Linux 领域最常用的两大系统构建工具,它们在功能定位、使用方法和适用场景上有显著差异。

2025-04-04 18:57:06 795

原创 STL容器中不进行前置条件检查有可能导致不安全的操作

始终检查容器是否为空在调用front()back()pop_back()前使用empty()检查。避免未经验证的索引或迭代器使用at()替代operator[]进行越界检查。对关联容器使用find()检查键是否存在。注意迭代器失效规则修改容器后,重新获取迭代器。在循环中谨慎处理erase。优先使用 C++11 后的安全操作如emplace、基于范围的 for 循环。

2025-04-04 17:35:56 1367

原创 C++容器数据类型定义、测试用例

C++11 标准库提供了多种容器类型,每种容器定义了多个成员类型(如 、 等),用于与容器交互。以下详细说明各容器的数据类型定义、测试用例及注意事项。类型定义:测试用例:2. 类型定义:同 ,但迭代器为双向迭代器。测试用例:二、关联容器1. 类型定义:测试用例:三、无序容器1. 类型定义:测试用例:四、使用注意事项迭代器失效:类型差异:分配器类型:性能考量:C++11 新特性:使用 直接构造元素,避免拷贝。基于范围的 for 循环简化遍历:通过理解容器的数据类型定

2025-04-04 17:04:26 445

原创 刚毕业的大学生从事嵌入式技能列表

建议从MCU开发入手,逐步深入RTOS和Linux驱动,同时关注行业趋势(如Rust、AIoT),通过持续实践提升竞争力。嵌入式开发是软硬件结合的领域,毕业生需在。

2025-04-04 16:22:26 1024

原创 Forking Workflow 详解

Forking Workflow 是。

2025-03-31 20:31:27 938

原创 GitHub Flow与GitLab Flow的详细

【代码】GitHub Flow与GitLab Flow的详细。

2025-03-31 20:28:57 872

原创 Git Flow 分支管理详解

Git Flow 是由 Vincent Driessen 提出的一种高效的分支管理模型,适用于中大型项目或有明确发布周期的团队。其核心思想是通过和,规范化开发、测试、发布和维护流程。

2025-03-31 20:27:07 489

原创 std::reference_wrapper 和 std::function的详细介绍

两者结合使用可以构建灵活高效的抽象机制,例如在事件系统中用。性能关键场景慎用(相比虚函数有额外开销)不能替代智能指针(不管理生命周期)不能包装临时对象(悬挂引用风险)

2025-03-29 21:04:13 334

原创 unique_ptr的详细介绍

可以显著提高代码的。

2025-03-29 20:14:39 456

原创 shared_ptr和 weak_ptr的详细介绍

shared_ptr和 weak_ptr的详细介绍。

2025-03-29 20:08:01 415

原创 软件研发管理者管理团队建议

通过上述方法,管理者不仅能确保项目按时交付,更能打造一支既能深入寄存器操作,又能驾驭系统架构的嵌入式精英团队。最终目标是通过体系化建设,让团队在资源受限的嵌入式环境中持续输出高质量创新成果。作为嵌入式软件的研发管理者,想要高效管理团队并确保项目成功,需要结合技术深度、流程规范和团队协作的综合能力。

2025-03-24 21:09:36 860

原创 C++11 标准库 `find` 与 `find_if` 详解

find 与find_if使用测试

2025-03-24 20:58:38 1131

原创 《尘埃落定》读后感

尘埃落定》以诗意的笔触揭示:人生如尘埃般渺小,但个体的清醒与超脱能赋予存在以尊严。它教会我们在无常中保持清醒,在欲望中守住本心,在历史的必然中活出自由的姿态。正如书中那句:“凡是有东西腐烂的地方,就会有新的东西生长。

2025-03-24 20:36:26 510

原创 文心快码 使用体验与介绍

百度快码体验

2025-03-23 12:00:57 1134

原创 《高效能人士的七个习惯》总结与启发

以原则为中心,通过塑造习惯实现个人效能与人际效能的双重提升,最终从“依赖”走向“独立”,再迈向“互赖”的成熟境界。这本书的本质并非传授技巧,而是引导读者重构思维与行为系统。

2025-03-23 11:14:13 491

原创 《人与绩效:德鲁克论管理精华》

是管理学大师彼得·德鲁克(Peter Drucker)思想的精华合集,汇集了他60年管理学研究中的核心洞见。书中以清晰、简明的语言阐述了德鲁克关于管理、组织、领导力和人性的深刻观点,强调管理的本质是“通过人创造绩效”。德鲁克的管理哲学始终围绕“人”与“绩效”的平衡展开,强调管理的本质是实践而非理论。他提醒管理者:卓越的绩效源于对人性深刻的理解、对使命的清晰认知,以及将资源集中于创造价值的关键领域。这本书不仅是管理者的行动指南,更是思考组织与人性关系的哲学读本。

2025-03-21 21:38:47 442

原创 《沉思录》

沉思录》是古罗马皇帝马可·奥勒留(Marcus Aurelius)在戎马倥偬中写下的哲学笔记,也是斯多葛学派的重要代表作。全书以自我对话的形式,探讨了生命、死亡、责任、自然法则以及心灵的安宁。通过践行斯多葛原则,人可以在动荡世界中找到内在的秩序与自由。

2025-03-21 21:35:29 243

原创 C++11 引入了的新特性与实例说明

以上示例展示了 C++11 中一些重要的新特性,包括自动类型推导、范围for循环、Lambda 表达式、移动语义、智能指针、nullptr、多线程支持、和std::bindconstexpr以及std::array和std::tuple。这些特性极大地提高了 C++ 的现代化编程能力。

2025-03-21 21:31:35 549

原创 QSettings修改配置后强制重启应用导致配置文件大小为0问题

QSettings 默认可能直接覆盖原文件,若写入过程中程序崩溃会导致文件损坏。通过强制同步、原子写入、备份恢复三重机制,可有效避免因强制重启导致的配置文件损坏问题。在每次修改配置后,手动调用。

2025-03-21 21:27:13 413

原创 git管理时keil项目忽略文件列表

在使用 Git 管理 Keil MDK(μVision 5)工程时,需要忽略编译生成的临时文件、调试文件、用户配置等非必要内容。以下是忽略文件的详细列表及说明,可直接保存为。可保持仓库精简且跨环境兼容。

2025-03-21 21:15:39 625

原创 MDK(Keil μVision 5)的编译过程及文件类型全解

通过理解上述流程和文件类型,可以更高效地使用Keil MDK进行开发和调试。

2025-03-21 21:10:45 1262

文心快码 使用体验与介绍

使用百度快码编写c++样例

2025-03-23

TM1637中文手册以及程序

TM1637 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数 字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。本产品性能优良,质量可靠。主要应用于电磁炉、 微波炉及小家电产品的显示屏驱动。采用DIP/SOP20的封装形式。

2014-07-28

QChart点击曲线显示曲线数据

QChart显示动态曲线,可以实现动态曲线的停止和更新,点击曲线可以显示曲线数据

2017-10-30

加强版Qcharts曲线支持散点图

对原来的功能进行增加,加强版Qcharts曲线支持散点图,欢迎朋友提出建议

2017-11-01

C++的基础教程

对与初步学习C++,但由于C基础的人来说是一个不错的的教材。

2012-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除