- 博客(61)
- 资源 (12)
- 收藏
- 关注
原创 2-ARM Linux驱动开发-设备树平台驱动
设备树(Device Tree)是一种描述硬件的数据结构,用于将硬件设备的信息传递给操作系统内核。它的主要作用是使内核能够以一种统一、灵活的方式了解硬件平台的细节,包括设备的拓扑结构、资源分配(如内存地址、中断号等)等信息,从而减少了将硬件信息硬编码到内核中的情况,增强了内核的可移植性和可维护性。
2024-11-04 20:23:49
1079
原创 1-ARM Linux驱动开发-MIO控制
MIO也属于是字符设备,将MIO复用为GPIO可以实现对LED等外设的控制,其本质是从寄存器层面对硬件的控制。这次主要记录一下GPIO控制LED的驱动。官网ZYNQ寄存器手册ZYNQ MPSOC中包含PS-MIO(Multiplexed I/O)和PS-EMIO(Extended Multiplexed I/O),其中PS - MIO是ZYNQ MPSoc中处理系统的复用输入 / 输出接口。它提供了一种将PS与外部设备直接连接的方式,共有78个MIO引脚。PS-EMIO是PS的扩展复用输入/输出接口。
2024-11-04 10:55:14
687
原创 0-ARM Linux驱动开发-字符设备
Linux 系统中,设备被分为字符设备、块设备和网络设备等。字符设备以字节流的方式进行数据传输,数据的访问是按顺序的,一个字节一个字节地进行读取和写入操作,没有缓冲区。例如,终端(/dev/tty)、鼠标、键盘等设备都是典型的字符设备。字符设备通过特殊的设备文件来表示。这些设备文件通常位于/dev目录下。设备文件有主设备号(major number)和次设备号(minor number)。主设备号用于标识设备驱动程序,内核通过主设备号来查找对应的驱动程序;次设备号用于标识同一类型设备中的不同个体。
2024-11-03 16:40:40
364
原创 2-petalinux 问题记录-VFS: Cannot open root device “mmcblk0p2“ or unknown-block(179,2): error -30
这个问题跟前面记录的问题0和1有点类似吧,也是需要再文件树里面增加一点配置。我手上是有两块zynq,一块是xczu2cg另一块是zynq7010,也就是zynqMP和zynq,在MPSOC里面SD启动需要注意这个SD卡的读写问题。
2024-11-03 10:15:06
332
原创 1-petalinux 问题记录-根文件系统分区问题
在MPSOC上使用SD第二分区配置根文件系统的时候,需要选择对应的bootargs,但是板子上有emmc和sd两个区域,至于配置哪一种mmcblk0就出现了问题,从vivado中的BlockDesign和MLK XCZU2CG原理图来看的话,我使用的SD卡应该属于第二个设备,按理来说应该就是mmcblk1,但是实际操作折腾下来我发现我错了。SD卡作为mmcblk1的前提是前面那个emmc那个设备需要启用,不启用的话那SD卡就是mmcblk0。的时候会执行读取硬件描述文件配置的程序,那么这个时候能够在。
2024-11-01 15:23:46
684
原创 0-petalinux 问题记录-VFS: Cannot open root device fs or unknown-block(0,0): error -6
这个问题是对SD卡分区之后,ext4分区写入一个文件系统之后的现象,不能正常启动,通过log可以看出来是能找到sd卡的分区,提示需要增加引导,可是在镜像构建的时候UBoot那里面已经设置过了,参数没有传递过来。突然一想到之前网上有资料说不推荐在petalinux-config里面设置引导参数,还是建议在/home/tzh/workspace/petalinux_prj/project-spec/meta-user/recipes-bsp/device-tree/files。
2024-11-01 12:02:44
663
原创 3-ZYNQ 折腾记录 -PS_PL AXI Interfaces
Zynq UltraScale+ MPSoC集成了功能丰富的四核或双核Arm® Cortex-A53 MPCore基于处理系统(Processing System, PS)和可编程逻辑(Programmable Logic, PL)的单一设备。PS和PL可以使用多个接口和其他信号进行紧密或松散的耦合。这使设计人员能够有效地将用户创建的硬件加速器和其他功能集成到PL逻辑中,这些功能对处理器可用并且还可以访问PS中的内存资源。
2024-10-28 19:26:13
954
原创 2-ZYNQ 折腾记录 -PMU
The AMD Zyng UltraScale+ MPSoC包括一个专用的用户可编程处理器,该平台测量单元(Platform Measurement Unit, PMU)处理器用于电源、错误管理和执行可选的软件测试库(Software Test Library, STL)用于功能安全应用。配置和安全单元(Configuration and Security Unit, CSU)监测系统温度传感器。
2024-10-28 16:11:33
561
原创 1-ZYNQ 折腾记录 -APU
应用程序处理单元(Application processing units, APU)由四个Cortex-M-A53 MPCore处理器、L2高速缓存和相关功能组成。Cortex-A53 MP Core处理器是最低功耗的Arm v8处理器,能够无缝支持 32位和64位代码。它利用高效的8阶段有序流水线,结合先进的取指和数据访问技术,以实现高性能。它适合用于入门级设备的功率和面积足迹,同时能够在使用高核心密度的可扩展企业级系统中提供高聚合性能。
2024-10-28 15:36:40
1073
原创 0-ZYNQ折腾记录-启动顺序
通过拨码开关调整ZYNQ用不同的Boot模式进行启动,ARM核心就会去对应的BootROM启动,包括JTAG、Flash、SD、eMMC等等。
2024-10-27 18:37:39
385
原创 3-petalinux2018.3 摸索记录 - 命令驱动 _ 交叉编译链
对于ps端设备,在板卡的linux系统中,切换到路径下可以看到目前挂载的gpio设备。导入用户空间系统中gpio寄存器信息移除用户空间以MIO40和MIO42连接的2个LED为例,输入命令完成gpio设备的扩展,其中378=338+MIO号。查看路径,新增了两个gpio设备查看gpio378设备下可设置的信息设置GPIO方向“in”输入,“out”输出设置GPIO输出时的电平高低,“0”低电平,“1”高电平设置GPIO输入时的触发方式,“none”,“rising”,“falling”,“both”
2024-10-26 20:59:29
420
原创 4-petalinux2018.3 摸索记录 -linux 驱动 (交叉编译)
前面通过petalinux-build完成了镜像的编译生成,通过命令行完成了GPIO的驱动,接下来记录如何使用C语言在Linux通过交叉编译的方式完成xilinx-linux设备驱动的开发。学习过程中发现,大部分厂商的教程都是提供一套带脚本的环境,然后大家跟着把文件放到对应的文件夹,执行对应的脚本就可以得到镜像,完成开发等等,但是咱们学习还是需要了解一下来龙去脉的,如果开发板是非定制的,那么我们就需要知道哪里要更改并且怎么更改。
2024-10-26 20:57:44
1132
原创 2-petalinux2018.3摸索记录-petalinux rootfs
Petalinux RootFS Settings(Petalinux 根文件系统设置)Petalinux Package Groups(Petalinux 软件包组)Filesystem Packages(文件系统软件包)Image Features(镜像特性)user packages(用户软件包)apps(应用程序)
2024-10-23 16:31:15
889
1
原创 0-petalinux2018.3 摸索记录 - 快速亮机
① 需要注意 petalinux、vivado、vitis、linux 之间的版本对应关系,在 ug1144 上可以找到② 需要注意 linux 的硬件要求,运存 8G 以上不然会报错等等。
2024-10-23 15:47:59
668
原创 1-petalinux2018.3 摸索记录 -petalinux-config
Linux Compoment Selection,Linux组件选择.First Stage Bootloader和Auto update ps_init勾选会自动生成fsbl.elf,自动更新ps_init。PMU Firmware平台管理单元固件:配置Linux镜像的BOOT、Kernel等来源。
2024-10-23 15:45:45
729
原创 C盘扩容(微PE工具箱)
进入后打开Diskgenius软件,因为在PE系统里面不好截图,就拿win系统上的Diskgenius做演示,步骤一样,就是权限不一样(win是在C盘上运行的,那我运行的程序在待修改盘是有问题的,所以得在PE系统操作)。这里注意下,磁盘里面的分区,相邻的两块才可以合并,那么C盘在左边,D盘在右边,我们需要在D盘的左侧分出需要的空间,再给C盘,按照下图操作。重启会出现两个选项电脑系统和PE系统,选择电脑系统。打开电脑就可以看到C盘已经完成扩容。打开我的电脑查看分盘情况。根据自己电脑位数安装。
2023-09-19 18:50:13
3885
原创 1-FPGA-USB3.0-FT601Q简单理论
最近有一个FPGA项目中需要使用USB3.0完成高速数据收发,通过USB3.0数据线、母座、FT601Q芯片实现主从设备之间的数据传输。学习资料是米联客的USB3.0 MicroB,而为了提高稳定性和可靠性实物采用的是USB3.0 StandB,那么这篇博客针对USB3.0三种母座接口进行分析,同时对FT601Q芯片进行介绍。下图是从USB规范协议中文版中截取的,可以看出在采用了3路差分信号,传输速率有明显的提升。
2023-08-27 15:54:52
3440
2
原创 2-ZCU104-vitis_analyzer使用
runmode有normal和debug两种选择,选择debug的时候会输出更加详细的子层运行时间信息。执行完生成.csv和run_summary文件,放在一个文件夹。上述json复制到板子上可执行文件的位置,切换到该路径后执行。创建一个json文件,自行命名,此处明明为。trace这一段可以注释,不影响结果输出。smd是正常命令行运行模型的语句。复制到linux主机上,运行。
2023-08-27 01:14:42
717
原创 4-W806-MPU6050-IIC
main.c#include <stdio.h>#include "wm_hal.h"#include "6050.h"short Accel[3];short Gyro[3];float Temp;int main(void){ SystemClock_Config(CPU_CLK_160M); printf("enter main\r\n"); HAL_Init(); Gpio_Init(); MPU6050_Init(); if (MPU
2023-08-27 01:01:18
201
原创 2-W806-OLED
main.c#include <stdio.h>#include "wm_hal.h"#include "bmp.h"#include "oled.h"int main(void){ SystemClock_Config(CPU_CLK_160M); printf("enter main\r\n"); HAL_Init(); OLED_Init(); OLED_ColorTurn(0); //0正常显示,1 反色显示 OLED_DisplayTurn(0);
2023-08-27 00:55:49
195
原创 1-DPU平台搭建
这一步是因为在linux中需要找到程序的根目录下的setting.sh才可以打开程序,那么在.bashrc中添加环境变量后,在命令终端打开的时候系统会自行检查环境变量,这时就可以通过输入vivado启动vivado,不用找根目录再执行setting.sh。这里要先说明一下为什么下载完整包,官网上提供了几百M的下载包和完整包,之前有试过在线包的安装,毕竟比较小,下载也快,但是有时候会在安装即将完成的时候,验证xilinx账户时出现验证不通过的情况。不能正常HLS导出IP。
2023-08-06 15:26:48
2083
4
原创 Anaconda虚拟环境+pytorch框架+pycharm配置yolo_v5环境
首先用大白话介绍下他们各自是什么作用在深度学习的时候,需要不同版本的python等工具,如果都用base环境会出现版本不适配、不兼容无法正常工作的情况,那么Anaconda能够在pc上创虚拟环境出来,通过切换虚拟环境来安装不同深度学习工具,例如除base环境外,可以新建虚拟环境去搭建yolo环境而不影响base中的工具的版本,不存在不适配的情况。一种用于构建深度学习模型的功能完备框架,是一种通常用于图像识别和语言处理等应用程序的机器学习。在这个框架下去构建yolo。
2023-07-09 18:29:22
1503
原创 Shift_RAM ip核的使用——ROM调用mif文件、传至Shift_RAM输出
最近在做sobel、canny边缘检测需要使用shift_ram做3*3卷积模板,在这一块纠结过一阵子,最后还是想写篇博客沉淀一下。这篇博客就举例记录一下:mif文件输入shift_ram ip核,生成2条tap查看输出效果。
2023-05-07 10:25:26
1795
原创 W806(一)模拟IIC驱动0.96OLED[移植]
平头哥内核的国产开发板,资源丰富,按照官方的描述是能够吊打STM32F103C8T6的,22年刚发布的时候就买了,但是当时忙于考研,而且开发板的SDK不够完善,所以23年来填一下坑,今年我在官方群里找到了合适的SDK,感觉还不错。
2023-02-19 19:04:42
497
原创 编译报错Library reports error: __use_no_semihosting was requested, but a semihosting fgetc was linked in
编译报错Library reports error: __use_no_semihosting was requested, but a semihosting fgetc was linked in
2023-01-04 16:53:55
1159
1
原创 初学树莓派番外—(七)网线、VNC
目录前言正文接线笔记本上设置网络信息笔记本上cmd查询结尾初学树莓派番外—(六)修改用户名_会点灯的大力水手的博客-CSDN博客_树莓派修改用户名中介绍了如何修改系统用户名,然后笔者就有一段时间没有玩树莓派,发现VNC无法使用,然后查看热点下的树莓派的ip显示为Null,身边没有显示器,然后就想到了用网线+笔记本+VNC+树莓派用网线把把笔记本电脑和树莓派连接起来右键网络标志,打开网络和Internet设置更改适配器选项右键属性 设置成下图所示输入arp -a找到ip重点是找到ip,然后把ip放到VNC里面
2022-06-02 09:21:22
253
原创 初学树莓派番外—(六)修改用户名
目录前言正文设置新的用户名、密码修改成功前言看过本专栏的小伙伴应该比较清楚,笔者在最开始安装树莓派镜像的时候,设置用户名为tzh(姓名缩写),然后有小伙伴想要复制我的系统,这个时候再用我的姓名缩写作为系统名就有点不太合适了,所以本文就介绍如何修改用户名,已经实践过的哈!正文输入命令sudo rename-user设置新的用户名、密码笔者在这里把tzh修改为user0如果你是使用VNC远程控制的话,需要注意,在这个地方VNC就会重新连接,需要切换成新
2022-05-29 08:29:33
2066
2
原创 锐化pdf文件(图片形式)
目录前言正文1、使用PDF Shaper Pro拆分pdf2、使用ComicEnhancerPro处理拆分好的图片3、使用PDF Shaper Pro合并图片为pdf前言最近复习考研数学,然后买书真的是死贵死贵,第一次把网上找到的pdf打印出来后发现非常的不清晰,然后开始想办法锐化pdf,我使用的工具是ComicEnhancerPro和PDF Shaper Pro,大概的原理就是,把pdf拆分成图片放在一个文件夹里面,然后把图片进行批量处理,再把批量处理后的图片还原成pdf,工具
2022-05-27 12:48:45
4286
原创 初学树莓派——(十)ONENET数据可视化(DHT11为例)
目录前言创建可视化模板新建空白项目编辑修改样式管理数据源查看产品ID和access_key选择数据源、配置过滤器查看可视化界面前言初学树莓派——(九)DHT11数据传入ONENET已经讲解了如何通过HTTP协议将温湿度数据实时上传到ONENET平台,我们在这个基础上讲解如何使用ONENET中的数据可视化功能创建可视化模板因为是免费用户,没有充钱,所以只能创建1个项目新建空白项目修改样式管理数据源...
2022-05-17 10:02:29
2672
5
原创 初学树莓派——(九)DHT11数据传入ONENET
目录前言DHT11实现本地温湿度监测DHT11.py接线图效果图温湿度数据上传至ONENET新建产品新建设备ONENET.py测试Shell脚本配置效果图前言本文分部分实现温湿度上传至OneNet云平台,本地数据监测,数据上传新建一个文件夹,文件夹内包含DHT11.py、ONENET.py、tmp_data.txt、hum_data.txtDHT11实现本地温湿度监测DHT11.pyimport RPi.GPIO as GPIO
2022-05-16 22:02:07
2402
12
原创 初学树莓派——(八)Python小游戏(持续更新)
目录前言库的安装1、cfg2、pygame小游戏1-贪吃蛇代码效果图前言本文分为库的安装和游戏制作2部分,代码中所需要使用的所有库的命令都会放在第一部分,如果运行缺库,大家去第一部分找对应的命令库的安装1、cfg命令pip install cfg22、pygame命令pip install pygame小游戏1-贪吃蛇此处引用博主大力出奇迹、博客Python贪吃蛇 (完整代码+详细注释+粘贴即食),仅供学习使用具体代码如下,可.
2022-05-14 22:15:02
2866
9-ip-shiftram.zip
2023-05-07
w806驱动0.96寸oled+0.96oled显示屏资料
2023-02-19
树莓派官方系统教程及静态ip配置
2022-04-25
0xfd补丁.zip,用于解决无法显示中文字符的问题
2021-07-12
Image2Lcd.exe
2021-07-12
12864Disp.zip
2021-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人