- 博客(139)
- 收藏
- 关注
原创 zynq7010 vxworks7 出现ERROR: ipcom_drv_eth_init: drvname:gem, drvunit: 0问题解决
【代码】zynq7010 vxworks7 出现ERROR: ipcom_drv_eth_init: drvname:gem, drvunit: 0问题解决。
2025-09-03 16:32:43
22
原创 MIPS内存体系结构与龙芯1E300地址空间映射
场景选择kseg0还是kseg1?原因访问SDRAM(主内存)kseg0(优先)启用缓存提升数据访问速度,适合运行内核代码、频繁读写的数据区。系统复位/引导阶段kseg1无缓存映射确保CPU直接访问物理内存,避免缓存未初始化导致的启动失败。访问外设寄存器(MMIO)kseg1(强制)外设寄存器状态实时变化(如UART接收缓冲区、中断状态寄存器),缓存会导致读写结果不一致。
2025-09-01 13:50:05
564
原创 VxWorks 核心数据结构详解 【消息队列、环形缓冲区、管道、FIFO、双缓冲区、共享内存】
VxWorks 提供了丰富的数据结构工具集,选择时需结合线程安全需求、数据类型、吞吐量和实时性要求:结构化消息传递 → 消息队列;轻量级字节流缓冲 → 环形缓冲区(需同步);单向简单通信 → 管道;固定大小小数据 → FIFO;高频零拷贝数据 → 双缓冲区;超大吞吐量 → 共享内存(需自定义同步)。合理选择数据结构是保证 VxWorks 实时系统高效、稳定运行的关键。
2025-08-26 15:56:38
994
原创 MIPS汇编快速入门 【龙芯】
MIPS(Microprocessor without Interlocked Pipelined Stages)是一种经典的RISC(精简指令集)架构,以流水线高效、指令简洁、低功耗为特点。龙芯(Loongson)系列处理器(如LS1E、LS1F、LS2K等)早期基于MIPS架构扩展设计,因此掌握MIPS汇编是理解龙芯底层驱动开发(如BSP、设备驱动)的基础。本文结合龙芯硬件特性,从寄存器、指令格式到实战示例,快速入门MIPS汇编。
2025-08-25 17:27:56
969
原创 ZYNQ [Petalinux的运行]
安装之前先升级更新一下apt-get,输入apt-get update,保证安装的包都可以找得到,现无法安装,就先update一下,如果update之后还是无法安装,就先不用理会。生成一个可以拿到linux下使用的硬件描述文件,最后我们在linux下编译的时候需要用到。后面的需要安装的工具,如果大家发。由于我们导出硬件,生成硬件描述,启动SDK之后自动。这个文件在编译的时候需要用到,因为涉及到硬件的描述信息。配置界面启动之后如下(如果启动不了或者报错,请严格检查之前的每一步,包括包的安装是否安。
2025-08-25 16:38:11
1104
原创 VxWorks6.8 【VxBus介绍】
VxBus是Wind River为VxWorks 6.x及以上版本设计的设备驱动框架,旨在通过标准化的硬件抽象层(HAL)和驱动接口,简化嵌入式系统中设备驱动的开发、移植与管理。其核心目标是实现驱动与硬件平台的解耦,使同一驱动可在不同硬件架构(如x86、ARM、MIPS)上复用,同时支持动态设备枚举与资源分配。VxBus抽象了底层总线(如PCI、USB、PLB、I2C)的差异,驱动开发者无需关注具体总线协议,只需通过统一的接口(如vxbDevRegister、devResourceGet)与硬件交互。例如,
2025-08-25 10:33:34
453
原创 【VxWorks】龙芯上PCI设备的串口驱动开发
在VxWorks系统中,PCI设备的串口驱动开发通常有两种主流方式:直接PCI地址操作(适用于无标准驱动的自定义硬件)和基于tty设备框架(利用系统原生tty驱动接口)。本文结合实际项目代码,详细介绍两种开发流程的核心原理、实现步骤及应用场景,并对比其优缺点。VxWorks上PCI串口驱动开发需根据硬件特性选择合适的方式:直接PCI地址开发适合自定义硬件,需深入理解寄存器配置与PCI地址映射;tty设备开发利用系统框架,简化开发流程,适合标准串口控制器。
2025-08-19 14:50:45
807
原创 VxWorks入门 【VxWorks消息队列函数详解】八
功能创建一个消息队列,指定队列容量、消息最大长度及排队模式(FIFO/优先级)。函数原型int maxMsgs, /* 队列最大消息数(队列容量) */int maxMsgLength, /* 单条消息最大长度(字节) */int options /* 队列选项(FIFO/优先级) */参数说明maxMsgs:队列可容纳的最大消息数量(非0,超出后发送会阻塞或失败)。maxMsgLength:单条消息的最大字节数(发送消息时不可超过此值,否则被截断)。
2025-07-31 09:30:39
76
原创 VxWorks入门 【VxWorks命令】四
VxWorks是一个实时操作系统,广泛应用于嵌入式系统中。VxWorks Shell提供了丰富的命令集,帮助用户进行系统管理、调试和开发。以下是一些常用的VxWorks Shell命令及其使用示例。
2025-07-29 10:52:27
218
原创 VxWorks入门 【编译BSP】三
首先,我们复制一份纯净未做修改的 C:\WindRiver\vxworks-6.8\target\config\下的 pcPentium4文件夹,改名为 Pentium4(名称随便你起),再将该改名后文件夹放到config目录下,最好不要带空格或什么特殊符号。我们要修改编译 bootrom、VxWorks 的配置头文件 Config.h 中定义的一些参数,使编译出来的系统引导程序 bootrom 和 VxWorks 的映象符合我们的要求;1 修改config.h。
2025-07-29 10:37:19
659
原创 VxWorks入门 【Win7虚拟机中安装 WorkBench3.2】二
运行uiso9_cn.exe,一路默认安装UItraISO,注意选择附加任务时三项都要勾选,尤其是“安装虚拟ISO驱动器”(默认三项都勾选);2.加载DVD-R175636.1-1-00到虚拟光驱,如图1-2所示,接着打开所加载的虚拟光驱,运行setup程序;5.这一步选择Permanent activation(永久激活),将所给的.lic文件(证书)导入,如图1-4所示。4.这一步将Check都取消勾选,如图1-3所示。图1-1 UItraISO安装。图1-2 加载iso。图1-3 check。
2025-07-28 16:34:09
195
原创 QT开发技术【串口和C++20协程,实现循环发送、暂停、恢复、停止】
协程(Coroutine)是一种比线程更轻量级的并发编程概念。与线程不同,线程由操作系统进行调度,而协程由程序自身控制调度。协程可以在执行过程中暂停(suspend),并在合适的时候恢复(resume)执行,这使得编写异步代码变得更加简洁和直观,避免了传统回调函数带来的嵌套问题,也就是所谓的“回调地狱”。通过结合 Qt 的 QSerialPort 类和 C++20 协程特性,我们实现了一个功能丰富的串口数据发送程序,具备循环发送、暂停、恢复和停止的功能。
2025-07-25 16:03:47
692
原创 QT开发技术【qcustomplot 缩放平移还原以及用动态库报错error LNK2001: 无法解析的外部符号 “public: static struct QMetaObject const 】
interactions:这是一个 QCP::Interactions 类型的枚举值组合,代表用户与绘图区域交互的方式。QCP::iSelectPlottables:用户能够选中绘图区域里的可绘制对象(像曲线、散点等)。QCP::iRangeZoom:用户能够通过鼠标滚轮或者拖动矩形框来缩放绘图区域的坐标轴范围。QCP::iSelectItems:用户能够选中绘图区域的图形项(像文本标签、箭头等)。QCP::iRangeDrag:用户能够通过鼠标拖动来平移绘图区域的坐标轴范围。缩放后再次维持缩放绘制。
2025-07-24 14:38:32
285
原创 QT开发技术 【qt应用限制只能启动一个】
在开发 Qt 应用程序时,可能需要限制程序只能运行一个实例,以避免重复启动。QSharedMemory:通过共享内存检测是否已有实例运行。通过以上方法,可以有效限制 Qt 程序只能启动一个实例,从而避免重复运行的问题。提示用户:使用 QMessageBox 提示用户程序已启动,并退出当前实例。QLockFile:通过锁定文件实现进程间互斥,确保只有一个实例运行。通过共享内存判断是否已有程序运行,如果存在则退出当前实例。通过信号量和共享内存双重保护,确保单实例运行。共享内存:检测是否已有实例运行。
2025-07-07 16:33:43
287
原创 Qt开发技术【时域图通过fft转换为频域图,使用qcustomplot显示】
【代码】Qt开发技术【时域图通过fft转换为频域图,使用qcustomplot显示】
2025-07-07 11:05:39
261
原创 在 Zynq 7010 上运行 VxWorks 7.0 的详细流程【持续更新】
本文介绍了在Zynq 7010开发板上运行VxWorks 7.0的完整流程。主要包括:1)使用Vivado创建硬件设计,配置Zynq模块并生成比特流文件;2)通过Workbench 4创建VxWorks工程,配置启动参数并生成镜像;3)下载运行步骤。此外还讲解了使用Workbench 4开发VSB和VIP工程的方法,包括工程创建、配置和调试流程。文中提供了关键操作截图和注意事项,为开发者提供了完整的Zynq 7010平台VxWorks开发解决方案。
2025-06-24 15:58:00
727
原创 QT开发技术 [QXlsx 导出大量数据的崩溃大坑]
QXlsx 是一个基于 Qt 框架开发的开源库,用于读写 Excel 文件(.xlsx 格式),无需依赖 Microsoft Office 或第三方库。以下从多个方面为你详细介绍 QXlsx:主要特性读写功能:支持创建、读取和修改 Excel 文件,能处理单元格的数值、公式、格式等基本操作。样式设置:可以设置单元格的字体、颜色、对齐方式、边框等样式,还能创建自定义样式并应用到多个单元格。图表支持:支持创建多种类型的图表,如柱状图、折线图、饼图等,并能对图表的样式和属性进行配置。
2025-06-16 09:57:50
336
原创 QT开发技术【ffmpeg EVideo录屏软件 一】
修改实现了目前录制功能 ,目前只实现了录制电脑桌面视频没有加入音频,后续加入音频完善,并完成直播推流功能。
2025-06-09 16:45:01
806
原创 QT开发技术【ffmpeg + QAudioOutput】音乐播放器 完善
成功利用 Qt 和 FFmpeg 实现了一个简单的音乐播放器,掌握了音频解码、播放以及用户界面设计等相关技术。音频解码技术详解音频解码是将压缩的数字音频数据还原为原始波形信号的过程,是现代数字音频处理的核心环节。音频解码的基本流程数据输入:接收压缩的音频数据流(如MP3、AAC、FLAC等格式文件)格式解析:识别音频文件的封装格式和编码标准解码运算:根据特定算法进行解压缩运算,常见方法包括:频率域变换(如MP3使用的MDCT变换)预测编码解算熵解码(Huffman编码等)
2025-06-05 14:58:51
1224
原创 QT开发技术【ffmpeg + QAudioOutput】音乐播放器
在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音视频以其直观、生动的特性,成为信息传播与娱乐休闲的重要媒介。而在这繁华音视频世界的幕后,有一位低调而强大的“魔法工匠”——FFmpeg。FFmpeg 是一款声名远扬的开源音视频处理工具集,凭借其跨平台、功能强大等显著优势,在音视频领域占据着不可撼动的地位。
2025-06-04 16:22:31
1227
2
原创 QT开发技术【QTableView分页实现】
分页的核心思想是将大量数据分成多个较小的“页”,每次只加载和显示其中一页的数据。在 QTableView 中,这通常通过自定义 QAbstractTableModel 来实现。QAbstractTableModel 是一个抽象基类,需要我们重写一些关键方法,如 rowCount()、columnCount()、data() 等,以实现分页逻辑。
2025-05-30 10:51:55
569
原创 QT开发技术 【元对象系统反射机制高级用法】 二
简易的通过qt的元对象系统,反射创建类,可应用到项目中通过xml,对界面进行删改。当一个界面插件实现使用该方法有奇效。
2025-05-12 15:28:53
305
2
原创 QT开发技术 【元对象系统对象反射】 一
下边开始讲Qt的反射。Qt的反射是基于Qt的元对象系统的。尤其是基本语法的扩展,比如信号槽,元对象系统,让C++一个静态语言有了动态语言的特性(当然你也可以用template来实现,但是这玩意儿一般人又用不起,而且写起来也比较恶心)。moc可以理解将Qt中的一些关键词,比如Q_Object ,Q_PROPERTY等转化为c++的基本语法,所以我们在编译Qt的工程时,首先要qmake->make。Qt最大的特点就是增加了moc的过程,个人理解,Qt扩展了C++的语法,以及增强了自己的基本库。
2025-05-12 10:47:07
795
原创 QT 打包安装程序【windeployqt.exe】报错c000007d原因:Conda巨坑
【代码】QT 打包安装程序【windeployqt.exe】报错c000007d原因:Conda巨坑。
2025-04-23 14:49:43
376
原创 QT性能优化【CPU占用高】
如果是死循环没有msleep 一个线程大概在我电脑上占用20%start(1000);延长时间,如果ms比较小有高的占用。线程函数中使用msleep() 让出cpu避免死循环。重新这2个函数做刷新处理。
2025-04-15 15:58:22
360
原创 计算机系统结构自考02325 复习(简答题)
答案:翻译技术是先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上的等效的程序,然后在低一级机器级上实现的技术。解释技术则是在低级机器级上用它的一串语句或指令来仿真高级机器级上的一条语句或指令的功能,是通过对高级机器级语言程序中的每条语句或指令逐条解释来实现的技术。识记:翻译有两种,一个是编译一个是解释,就是把我们写的代码由编译器翻译成中间语言代码,再由解释器对中间代码进行解释,翻译多了道编译程序,但编译后的程序执行效率高。
2025-04-07 16:16:47
620
原创 c++ Windows [dump开启]
用VisualStudio打开dmp文件。测试时 dmp文件时本地产生的,因此VS会依据dmp文件自行找到exe,pdb和源代码的路径。因此直接点击调试,程序会出错代码行中断。通过SetUnhandledExceptionFilter设置捕获dump的入口,然后通过MiniDumpWriteDump生成dump文件。如下程序在程序异常时会自行转储一个名为Test.dmp的dump文件。
2025-03-27 14:15:56
230
原创 02325《计算机系统结构》自考复习 202410四川卷
(3)仅“执行k”、“分析k+1”与“取指k+2”重叠。(2)仅“执行k”与“取指k+1”重叠。
2025-03-25 13:54:07
728
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人