- 博客(14)
- 收藏
- 关注
原创 PyQt5 Windows开发模板:一站式桌面应用开发解决方案
本文介绍了一个专为Windows优化的PyQt5开发模板,通过Makefile实现自动化构建流程。该模板具有智能环境检测功能,支持多种包管理器,提供完整的开发工作流(环境配置、UI设计、调试和打包发布)。项目采用标准PyQt5应用结构,包含主程序入口、应用逻辑类和UI文件,Makefile实现了环境检查、UI编译和PyInstaller打包优化。模板优势包括跨包管理器兼容、PyQt5打包优化、开发效率提升和专业项目结构,适用于Windows桌面应用开发、教学演示和快速原型开发等场景。
2025-11-21 15:45:52
316
原创 极简FIFO队列实现:资源占用少,支持多数据类型
在嵌入式系统开发中,特别是在资源受限的微控制器(如51系列单片机)上,高效的内存管理和数据结构实现至关重要。今天给大家分享一个极其精简的FIFO(先进先出)队列实现,它通过巧妙的宏定义和数组实现,不仅占用资源极少,还能适应不同的数据类型。这个极简FIFO队列实现以其出色的资源效率和灵活性,特别适合资源受限的嵌入式环境。通过宏定义的巧妙运用,它既保证了类型安全,又提供了良好的性能表现。无论是简单的数据缓冲还是复杂的状态管理,这个实现都能提供可靠的解决方案。优点总结✅ 极低的内存占用✅ 支持任意数据类型。
2025-10-29 16:57:10
703
原创 探秘 icesugar-nano-psm6 项目:FPGA 开发的实战之旅
摘要:icesugar-nano-psm6是一个基于iCESugar系列FPGA开发板的开源项目,通过Verilog硬件描述语言实现了PSM6处理器设计。项目包含RTL核心代码(如处理器SoC、测试平台)、应用层程序(C语言)及编译工具链(PBCC/pblaze-cc),支持自动化构建、烧录和仿真验证。文件结构清晰,涵盖综合脚本(synth.ys)、Makefile管理及BSD3协议授权。该项目为开发者提供了完整的FPGA开发实践案例,助力学习处理器设计与嵌入式系统开发。开源地址:https://gitee
2025-07-04 14:33:05
376
原创 探索 MCL51 Verilog 项目:FPGA 开发的奇妙之旅
摘要:本文介绍了基于Verilog实现的MCL51处理器项目,该项目兼容51指令集,适用于多种FPGA开发板。采用纯verilog描述一个8051软核,可以移植到到任意FPGA平台。文章详细讲解了开发环境搭建(包括Icarus Verilog、GTKWave等工具)、项目编译与仿真流程,以及项目目录结构。同时展示了中断处理和外设操作的具体实现方法,并分享了开发过程中遇到的问题及解决方案。该项目为FPGA开发提供了完整的学习平台,作者建议有兴趣的开发者尝试并扩展该项目功能。项目代码托管在Gitee平台。
2025-06-24 15:53:14
590
原创 SDCC编译STC15虚拟串口输出打印示例程序
单片机从 Keil 迁移到 SDCC上进行开发时,直接使用 Keil上使用的中的软件模拟串口,通信出现错误,但是同样的代码在 Keil 上编译后下载到单片机执行没有问题。这也侧面说明了 SDCC和Keil之间编译时存在一些差异的。
2023-06-20 15:08:00
919
原创 Veriog之DHT11温湿度,拿来就用模块
拿来主义者,复用主义者,然而找了一圈没找到合适的,这个模块一搜能搜到很多关于该模块的代码,但是不同项目,设计的FPGA系统时钟可能不一样,换一个时钟频率就要改代码,麻烦。假设DH11模块使用的系统时钟频率为50MHz,而当前FPGA设计的主时钟为33MH在,而除了DH11之外,其它部分没有使用到50MHz的时钟,如果为了使用DH11的现有代码,就要PLL倍频时钟产生一个50MHz的时钟,这样就浪费了一个PLL资源,不划算;...
2022-08-06 02:32:37
727
原创 verilog常用模块
说明这是一个使用iverilog+gtkwave为基础,管理基本的verilog模块的仿真项目,方便之后做项目时快速实现项目。适合win和linux下使用。目前项目下收集了一些常用模块,包括串口,简单FFT,算数运算单元,计数分频器等等。windows下环境配置 cygwin安装 iverilog gtkwave cygwin环境下的 graphviz(选择性安装) yosys-综合verilog文件的,可以不需要 win下需要将iverilog
2021-03-30 19:49:20
1590
1
原创 Verilog实现一个适用于不同时钟的串口模块
说明经常使用FPGA调试模块,需要和上位机实现通信,或者使用串口在板上验证自己的模块是否能正常工作,因为硬件上的时钟存在差异,因此好几次重新修改了串口模块去适应。为了解决这个问题,我自己写了一个模块,可以只修改两个参数就能实现适应不同FPGA硬件。特点配置简单 适应大部分时钟 自定义了一个PC-->FPGA的指令格式,且模块可以实现解码,方便PC向FPGA发指令部分实现示例`timescale 1ns / 1ps// *****************************
2020-12-27 14:37:50
409
转载 System Verilog的基本数据类型
原文地址内建数据类型 逻辑(logic)类型 双状态数据类型 定宽数组 数组的遍历 数组的比较与复制 使用数组位下标和数组下标 合并数组 动态数组 队列 关联数组 链表 数组的方法 sum方法:数组求和 product方法:数组求积 min,max方法:最大值最小值方法 unique方法:排除重复数值 size方法:获取数组大小 find方法:数组定位方法 数组排序方法:reverse,sort,rsort,shuffle 结构数组
2020-11-03 01:56:48
3116
原创 linux上实现与树莓派,FPGA等通信的串口脚本
目录前言linux下串口操作针对嵌入式串口调试的bash脚本连接方法FPGA学习笔记前言最近做开发工作已经逐步转到Linux系统上来了,linux上的终端是很方便的工具,在做开发的时候我们往往会用串口来和电脑通信,比如做FPGA开发,我们调试的时候想看一下FPGA内部的寄存器值,或者获取FPGA内部经过数字电路后的输出结果,我们就可以在FPGA里面加入串口模块,实现与PC的通讯,当然,对于树莓派,licheepi,ARM等的调试,我们都可以这样做。在windows下我们经常
2020-08-11 22:09:04
1518
转载 如何优雅的在windows(含win7)上执行linux脚本
前言习惯了linux的指令操作,在使用windos总是不舒服,于是我们可以在windows上安装cygwin来运行linux上的shell脚本。Cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件。Cygwin就是一个windows软件,该软件就是在windows上仿真linux操作系统 ,简言之,cygwin是一个在windows平台上运行的 linux模拟环境,使用一个Dll(动态链接库)来实现 这样,我们可以开发出Cygwin下的
2020-08-03 16:10:49
2269
转载 deepin15.11(linux)下搭建system verilog的vcs仿真环境
deepin15.11下搭建system verilog的vcs环境
2020-05-30 01:29:39
695
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅