自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gaoyang3513的博客

真诚、谦逊、分享、成长

  • 博客(32)
  • 收藏
  • 关注

原创 VScode 支持 QNX 源码跳转

本文介绍了在VS Code中配置QNX开发环境的详细步骤。主要内容包括:1) 使用C/C++插件配置头文件路径、宏定义和编译器路径,通过编辑c_cpp_properties.json文件实现代码跳转和智能提示;2) 可选方案Clangd插件的配置方法,需生成compile_commands.json文件;3) 推荐使用QNX官方插件进行环境管理和系统监控。同时提供了两个常见问题的解决方案:C/C++插件与Clangd冲突的解决方法,以及当bear工具失效时生成compile_commands.json的Py

2025-07-27 13:47:39 938

原创 Raspi4 切换QNX系统

本文介绍了在树莓派4B平台上安装QNX操作系统的主要步骤与注意事项。内容包括SDP、VCP等术语定义,系统环境要求(QNX SDP 8.0、VCP驱动等),详细安装流程(下载BSP包、Ubuntu解压、SD卡制作、镜像替换),以及串口打印乱码等问题的排查方法。重点说明了如何通过修改config.txt文件引导QNX IFS镜像,并为开发者提供了相关参考文档链接。文章适用于需要在树莓派4B上部署QNX系统的开发人员。

2025-07-20 23:40:15 791

原创 QNX 编译框架梳理

本文基于QNX SDK 8.0 与 Raspi4B 硬件平台提供的 BSP包,梳理QNX 编译框架。

2025-06-26 23:00:31 335

原创 搭建QNX Software Center的Docker环境

本人使用 Ubuntu Server 22.04 服务器,所以没有图形界面,而 QNX Software Center 需要图形界面。为了保证服务器环境的整理,计划使用Docker部署QNX Software Center 一瓶安装图形界面。本方既是实现方案的记录。当前 Ubuntu Server 宿主机无图形界面,参考AI工具给到的建议:选用 Xvfb 虚拟显示 + VNC 客户端 的方式支持用户连接并操作。,但可以运行需要图形环境的应用程序。参考 qnx 安装的help信息,跳过交互并修改安装目录为。

2025-03-30 17:04:04 1258

原创 NFS 安装与测试

DuoS 上挂载NFS

2025-03-22 00:05:48 485

原创 USB 驱动开发 --- Gadget 驱动框架梳理(一)

Linux 内核文档翻译与总结,作为个人学习记录,可供参考。

2025-01-14 23:54:19 1636

原创 USB 驱动开发 --- Gadget 设备连接 Windows 免驱

记录 Duo 以 Gadget SourceSink Function 设备接入Win10,最终实现免驱。

2025-01-04 17:11:08 1604 2

原创 Makefile 模板 --- 内核模块

【代码】模板 --- 内核模块。

2025-01-03 23:32:55 331

原创 USB 驱动开发 --- Gadget 驱动框架梳理(二)

Legacy zero 的方法更贴近 libcomposite 框架的(直接调用相关API),手段灵活,但开发难度相对较高;Function 集成度更高,可使用 configfs 方式高效开发、调试,但可配置内容受 function 实现的内容限定;

2025-01-03 23:01:38 1275

原创 eMMC/SD/SDIO 接口辨析

通常SOC中带有eMMC/SD/SDIO 控制器(简称 MMC)用于处理对 SD 卡、eMMC 器件的读写等操作,并通过 SDIO 协议实现对扩展外设(如蓝牙、WiFi 等)的支持。但eMMC/SD/SDIO是三种不同的接口协议标准,在此经收集与总结后按:管脚、应用场景简要辨析。

2024-12-04 21:45:32 449

原创 Input子系统(一)、从内核文档入门

Input子系统的核心是input内核模块,故其需要早于其他input设备驱动优先被加载。​ 从input模块获取事件并将其传递给需要的对象,如:按键给到内核、鼠标移动给到GPM和X这样的UI框架,等等。Input子系统设计用于集合Linux下所有输入设备驱动。几乎所有输入设备的驱动都位于。节点,否则自动创建并分别接入GPM或X显示框架(详见原文档)。​ 连接硬件并上报事件到input模块;目录下,但伋有部分设备驱动位于。,之后系统通常会自动创建。

2024-11-13 21:55:42 222

原创 集成构建流程之根文件系统Buidroot

执行make,Makefile文件为:build/Makefile。通用编译脚本:build.sh。通用shell函数定义脚本。通用环境变量配置脚本。

2024-05-23 23:17:02 315

原创 U-boot 21.10 启动流程梳理(草稿状态,完成度 45%)

本文主要梳理了U-boot 21.10版本的启动流程,以便更好地实现定制化功能。在梳理过程中比较了ARM和RISC-V两个平台的差异,并总结了定制化实现中需要关注的细节。

2024-04-27 17:45:48 1048

原创 linux 4.19 Pstore版本更新

本文主要记录在Pstore的功能同步,分别从5.10适配单板,4.19升级记录。

2024-04-21 21:12:49 1659

原创 Linux 5.10 Pstore 学习之(二) 原理学习

本文主要纪录Linux 5.10下pstore模块的个人学习总结。

2024-04-15 14:23:36 1615

原创 Linux 5.10 Pstore 学习之(一) 功能测试

本文主要用于介绍Linux 5.10(Duo S)开启Pstore功能并进制测试的方法与问题解决。

2024-04-08 23:02:48 2257

原创 小核引导RTOS---RISC-V C906

借助MilkV Duo S学习小核引导FreeRTOS启动知识。

2024-04-03 23:18:27 1902

原创 网络升级固件

本文记录网络固件升级过程会涉及到的环境搭建、网络配置、固件文件等知识,旨在说明MilkV Duos上如何完成一次固件升级。

2024-04-02 22:05:19 1090 1

原创 Docker开发环境搭建

MilkV-Duo Docker开发环境搭建

2024-01-25 21:44:57 440

原创 Standalone---基础认知

导出给standalone程序使用函数多是设备无关的代码实现,所以standalone在移植到一个新设备时,唯一需要关注的是。此时,standalone使用就是替换后的malloc与free。此时,standlone程序就可以使用malloc与free。参考:doc/README.standalone。standalone程序入口先使用。standalone版本号递增更新。

2023-10-24 22:43:22 335 1

原创 U-boot下netconsole实现

上面的do-while会循环命令解析器的"命令输入解析–执行"运行模式。其中的函数run_list执行如下的函数调用流程:run_list–>run_list_real–>run_pipe_real->cmd_process。

2023-10-08 00:16:37 615 1

原创 Linux下搭建RK3568 Docker开发环境

RK3568 Docker容器开发Debian系统环境搭建

2023-09-19 23:36:17 1122

原创 Docker搭建RK3568开发环境

推荐:Ubuntu 20.04 版本Docker加速Docker容器创建。

2023-09-08 01:13:23 1474 1

原创 Milkv Duo 以太网使用与配置

Milkv Duo 网络使用与配置

2023-08-13 22:14:58 856 4

原创 Kconfig白名单问题解决

总体而言,使用check-config.sy脚本检查用户自定义的以CONFIG_为前缀的宏。增加不被实际引用的Kconfig文件Kconfig.bsp_whitelist。第三个文件猜测为:kconfig_whitelist.txt。可知,该文件是多个文件的拼接结果,并不适用于直接拼接。comm工具用于比较两个文件的内容。追加未白名单过滤的宏。测试失败,仍会报错误。

2023-03-19 21:08:20 69

原创 Linux之random子系统问题解决分享

结合与的代码跟读,整理出问题流程时序图表示如下:结合图示,复述问题过程:启动启动中,系统通过中断的方式不断向input_pool熵池填充状态随机数,而blocking_pool为空。应用程序Hicore调用系统接口getrandom()获取256个随机数而陷入内核态;此时input_pool熵池未收到阈值128 bits的随机数而处于处于未初始化状态(crng_init值为1),即crng_read()为假(crng_int值为2时,crng_read()为真)。

2023-03-18 22:41:19 691

原创 Synology搭建Gitea(Docker)

Synology搭建Gitea(Docker)

2023-02-24 23:25:28 5346

原创 PHY、MAC基础知识

文章目录物理连接归纳时序Delay不满足时表现调试手段物理连接PHY通用连接MAC直连归纳RGMII总线包含数据总线MII与控制总线MDIO;时钟由数据发起方提供;MAC-PHY连接方式,引脚名直接连接;MAC-MAC连接方式,TX\RX交叉连接;SOC网络相关引脚需要复用为RGMII模式,相应DTS修改:时序Tx Delay因为调整信号传输对信号时序要求,对数据保持时间要求,Ttxd=Tclk与紧跟其后数据线边沿的时间;RGMII全速为125MHz(8ns)

2021-03-31 22:59:49 960

原创 Linux phy驱动开发总结

文章目录基础须知数据结构数据结构UML类图MAC驱动初始化简述驱动实现关于MAC连接PHYPHY驱动动态注册静态注册通用PHY参考模板IP18xx驱动调试须知:问题方案与分析总结待解决问题测试结论备注1. 关于接入libphy.ko基础须知所有PHY驱动不能单独编译成模块必须在phy目录下集合,最终集成到libphy.ko;MODULE_DEVICE_TABLE用于声明支持的设备;module_phy_driver用于声明PHY驱动信息添加到libphy.ko,做;PHY驱动的所有接口实际都为

2021-03-31 22:46:34 5014

原创 U-boot phy驱动开发总结

文章目录基础须知数据结构数据结构UML类图PHY核心 API初始化支持uclass支持legacy总结基础须知CONFIG_DM_ETH is not setNT使用 MAC(eqos) + Generic PHY,的组合方式,所以phy_register(&genphy_driver)MAC的start中会调用phy_connect,尝试probe总线MDIO上的mask内所有PHY总体流程:phy_connect => phy_config => phy_startup

2021-03-31 22:29:52 4155 1

原创 Proc使用seq_file时,参数如何传递

文章目录测试代码代码分析variable是全局变量,如何在proc操作间传递?创建节点 proc_create_dataopen阶段file 与 seq_filePDE_DATA(inode)是什么show/write 阶段,总结测试代码#include <linux/module.h>#include <linux/kernel.h>#include <li...

2019-06-08 21:35:01 839

原创 Linux 中节点(inode)、设备(cdev)、驱动(ops)如何关联

inode与cdev结构体对比(片选)struct inode { uid_t i_uid; gid_t i_gid; dev_t i_rdev; // 设备文件的设备号 union { struct pipe_inode_info *i_pipe; struct block_device ...

2019-05-30 22:54:29 3323

空空如也

空空如也

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

TA关注的人

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