- 博客(40)
- 资源 (4)
- 收藏
- 关注
原创 zynq7045在flash烧写时报错,CPU resetting...
自己生成的fsbl有问题,网上找了一个万能fsbl.elf可以正常正常烧写。但是后续有点问题,用网上的fsbl生成的boot.bin无法正常flash启动,需要用本地的fsbl.elf生成boot.bin,用网上的fsbl引导下载flash,可以正常启动。遇到zynq7045烧写flash的时候,报错,cpu resetting未知跑死;uboot部分报错。
2025-03-19 10:37:18
94
原创 stm32不接jtag串口打印乱码,接上打印正常
由于板卡串口没有单独引出地线引脚,所以串口助手没有接地,但是在接jtag的时候,由于串口助手和jtag同时都是接在电脑上,他们共地(也就是和板卡共地),所以打印正常。stm32板卡有电源和jtag两个供电入口,jtag拔掉,在只有电源供电的情况下,串口打印乱码。拔掉jtag后,串口没接地,造成乱码现象。
2024-09-03 14:29:02
374
原创 petalinux jtag在线运行问题:Warning: APU-only restart is not supported if FSBL boots on RPU
FSBL is running on RPU.Warning: APU-only restart is not supported if FSBL boots on RPU
2024-07-22 15:43:04
246
原创 petalinux烧写image.ub报错
xinlinx SDK烧写petalinux生成的BOOT.BIN和image.ub时,BOOT.BIN烧写正常,image.ub烧写报错如下。petalinux-config 配置窗口下如下图路径,修改bootenv大小,从0x20000修改为0x100000。保存修改,petalinux-build编译后可正常烧写。
2024-02-26 15:56:10
706
1
原创 Python字符串中插入变量
f’string’ 是 Python 中的一种字符串格式化方式,被称为 f-string(格式化字符串字面值)。它允许你在字符串中插入变量值、表达式等内容,以一种简洁的方式进行字符串格式化。字符串中插入变量并赋值,然后转化成有规律的字符串。定义5个变量,变量名的后缀为1-5,如下。
2023-08-31 14:52:26
485
原创 microblaze生成download.bit 报错:Program FPGA failed Reason: couldn‘t open......
microblaze生成download.bit 报错
2023-07-11 15:54:56
1237
原创 platform_device_register 和platform_driver_register;有些驱动里没有platform_device_register
platform_device_register和platform_driver_register是Linux内核中用于注册平台设备和平台驱动程序的函数。platform_device_register函数用于注册平台设备。pdev是一个指向platform_device结构体的指针,表示要注册的平台设备。调用该函数将向内核注册指定的平台设备,并将其添加到平台设备列表中,以便与驱动程序进行匹配和加载。platform_driver_register函数用于注册平台驱动程序。
2023-05-16 15:11:31
1166
原创 基于zedboard(zynq7020)使用命令行(sysfs )读取、控制AXI_GPIO开关、led和PS MIO
linux gpio 从内核空间导出到用户空间petalinux 在制作Linux 系统时,会自动的将gpio 从内核空间导出到用户空间,在用户空间下可以通过sysfs 方式控制gpio;用户空间位置在 /sys/class/gpio,在该文件夹下能看到gpiochipX,X 代表gpio的base从那里开始。
2023-05-15 15:14:32
1304
原创 linux驱动中的__init和__exit
当一个驱动程序或内核模块被加载时,其包含的 __init 函数会被调用。类似地,当一个驱动程序或内核模块被卸载时,其包含的 __exit 函数会被调用。该宏使用了 GCC 的属性语法,将函数的代码段标记为 .init.text,以便在模块被加载时进行初始化操作。使用 __init 宏可以确保在模块被加载时对驱动程序或内核模块进行必要的初始化操作,例如分配需要的内存、注册设备等。使用 __exit 宏可以确保在模块被卸载时对驱动程序或内核模块进行必要的清理操作,例如释放分配的内存、关闭设备等
2023-04-27 14:17:02
1513
原创 基于设备树的platform驱动之LED(平台设备驱动)
platform 驱动框架分为总线、设备和驱动。总线:是 Linux 内核提供的,不需要我们这些驱动程序员去管理。我们在编写驱动的时候只要关注于设备和驱动的具体实现即可。设备、驱动:在没有设备树的 Linux 内核下,我们需要分别编写并注册 platform_device 和platform_driver,分别代表设备和驱动。在使用设备树的时候,设备的描述被放到了设备树中,因此 platform_device 就不需要我们去编写了,我们只需要实现 platform_driver 即可。
2023-04-26 16:33:36
1047
原创 Linux内核知识点总结
Linux内核是Linux操作系统的核心部分,它是操作系统的最底层部分,主要负责管理硬件资源、提供系统调用接口、进程管理、内存管理、文件系统管理等核心功能。Linux内核通过设备驱动程序来管理系统上的所有硬件资源,包括磁盘、网络、输入输出设备等。每个进程都有一个唯一的进程标识符(PID),内核使用这些PID来跟踪每个进程的状态,并管理它们的资源。Linux内核管理系统上的所有内存,包括物理内存和虚拟内存。Linux内核在启动时会进行一系列的初始化操作,包括初始化硬件资源、建立内核数据结构、加载内核模块等。
2023-03-15 10:14:30
402
原创 基于keil的stm32工程修改设备
如本示例需要添加stm32l151xd.h文件。原stm32l151xb.h可删除。以把stm32l151c8修改为stm32l151rd为例。如下图步骤,看flash是否匹配,不匹配的话就删除重新添加。如图1、2、3步,选择对应的设备。下图路径下添加设备的库文件。如图对应区域修改设备型号。修改图示区域为要用的设备。
2023-02-28 17:46:12
877
原创 基于STM32的oled屏长时间显示异常问题
现象:开始显示数据正常,经过一段时间之后显示异常。原因:可能是由于长时间没有刷新屏幕产生溢出的原因。解决方式:可根据现象通过定时刷新屏幕解决。
2023-02-01 13:46:23
1408
原创 microblaze调试遇错 error while launching program:Cannot stop MicroBlaze.Stalled on memory access.
error while launching program:Cannot stop MicroBlaze.Stalled on memory access.
2023-02-01 09:42:40
3723
原创 python:list assignment index out of range.
list assignment index out of range
2022-07-15 15:37:48
1412
原创 python列表执行clear函数会清空之前赋值的列表
a = [1,2,3,4]b = aa.clear()代码执行后列表b为空,可以使用copy函数a = [1,2,3,4]b = a.copy()a.clear()执行后b = [1,2,3,4]
2022-05-16 16:23:11
689
原创 基于xilinx zynq 计算软件运行时间
/* Global Timer is always clocked at half of the CPU frequency */#define COUNTS_PER_SECOND (XPAR_CPU_CORTEXA9_CORE_CLOCK_FREQ_HZ / 2)int main() { XTime tEnd, tCur; u32 tUsed; XTime_GetTime(&tCur); //获取开始时间 usleep(1345); //
2021-10-11 15:30:09
2461
2
原创 自定义串口printf()、scanf()函数
IAR等一些软件printf 和scanf函数对应的是虚拟终端。想通过自己的串口打印就需要自己写输入、输出函数。前提:对应串口已经完成初始化,包好对应的读写函数。#include "my_print.h"#include <stdio.h>#include "stdarg.h"#include "usruart.h"#include "uart.h"#include "utypes.h"void my_print(const char *ptr,...)
2021-10-11 14:26:07
907
原创 串口初始化不通过问题
FGpioPs_T* gpios;这种实例定义可能会遇到gpios没分配空间的问题,造成初始化不通过等,我遇到的问题是,在初始化前定义变量会影响初始化,如代码: int Status = 0; FGpioPs_T* gpios; FGpioPs_Config* gpio_cfgPpr; gpio_cfgPpr = FGpioPs_LookupConfig(FPAR_GPIOPS_2_DEVICE_ID); FGpioPs_init(gpi...
2021-08-05 16:20:44
2390
原创 getchar() 读取回车问题
问题描述,制作一个菜单,使用getchar()函数,如果只用一个getchar()输入的回车会影响到下一个getchar();如果用连续两个getchar()函数,以便第二个可以把回车读取掉,会遇到问题:在多输入一个回车的情况下会出现识别不到输入的字符的情况。例如下面代码会一直打印主菜单无法跳转到下一个选项。char c = 0;while(1){ printf("choise please\n"); printf("1:menu1\n"); printf("2:menu2\n"); c
2021-07-09 14:46:43
9732
1
转载 应用程序无法正常启动(0xc000007b)解决
注:本文对0xc000007b的问题本质进行了说明,可以说对网上杂七杂八的声音做了一个统一。问题情景:vs2013 写的一个64位的exe程序,release后带着来自系统目录C:\Windows\SysWOW64\msvcr120.dll 到一个没有runtime的win7环境去运行,没有用到MFC,所以带着这个msvcr120.dll就足够了但是拷贝过去后一运行就出现如下对话框:首先怀疑msvcr120.dll还不够,于是也拷贝了msvcp120.dll和vccorlib120.dll,问题依
2021-06-21 13:42:45
17251
2
原创 cannot determine URI for ‘‘
cannot determine URI for ‘’重新加载一下工程file -> import -> General -> Existing Projects into Workspace -> next ->在 “Select root directory” 选择自己工程路径-> Finish.如果只是一部分文件丢失的话可以用:file -> import -> General ->File System 导入指定文件...
2021-06-04 09:59:56
6729
6
原创 petalinux设计——使用petalinux定制linux系统
设计流程以上设计流程不是按部就班的每一步都执行一遍,可以根据使用场景有选择的执行。一般设计流程通过 Vivado 创建硬件平台,得到 hdf 硬件描述文件;运行 source <petalinux 安装路径>/settings.sh,设置 Petalinux 运行环境通过 petalinux-create -t project 创建 petalinux 工程;使用 petalinux-config --get-hw-description, 将 hdf 文件导入到 petalin
2020-08-26 18:04:11
3699
7
原创 petalinux定制linux系统和pc串口文件传输
串口工具:secureCRTpetalinux版本:2015.4文件:串口收发可执行文件rz、sz步骤设置petalinux环境petalinux安装目录下执行: source settings.sh建立petalinux工程:新建工程目录cdmkdir -p work/petalinux/创建名为zynq_linux的工程petalinux-create -t project --template zynq -n zynq_linux配置工程cd zynq_linuxp
2020-08-26 17:14:23
1102
4
原创 Windows和Ubuntu建立本地共享文件夹
在VMware虚拟机建立Ubuntu和Windows本地共享首先在Windows系统下的任意盘新建一个文件 share如下图点击虚拟机设置在弹出的菜单中,选择“选项”,在该界面中,单击“共享文件夹”,在右边界面中选择“总是启用(E)”,如下图所示:添加我们指定位置的share文件夹。默认勾选“启用此共享”,如果不想该文件夹内的内容被修改,可以勾选只读,此处我们不勾选“只读”,点击“完成”按钮。现在如果我们需要向 Ubuntu 系统传文件,就可以直接将该文件复制到 share 目录就可
2020-07-14 14:54:38
2051
1
原创 ZYNQ7000开发板(zedboard)定时器中断实验——LED闪烁
vidoda设计和gpio_mio实验硬件相同PS-PL Configuration ->generalSDK设计#include <stdio.h>#include "xparameters.h"#include "xgpiops.h"#include "xstatus.h"#include "xplatform_info.h"#include <xil_printf.h>#include "sleep.h"#include "xscutim
2020-05-15 14:47:01
762
原创 ZYNQ 开发板(zedboard)QSPI flash烧写
以ZYNQ 用PL按键通过中断控制PS端LED亮灭实验为例#vivado设计使能QSPI控制器在 Vivado 界面左侧选择 Open Block Design, 然后在右侧的 Diagram 界面中双击 ZYNQ Processing System 模块修改其配置。 使能 QSPI , 如下图所示:设置完成后点击“OK” 。 然后在 Diagram 窗口空白处右击,然后选择“Validate Design”验证设计。验证完成后弹出对话框提“Validation Successful”表明设计无
2020-05-13 10:51:41
5520
2
原创 ZYNQ7000启动模式确定
ZYNQ SoC 使用多个模式引脚来决定配置器件的类型,软件的存储位置以及其他的系 统设置,这些引脚共享 PS 端的 MIO 引脚。总共有 7 个模式引脚, 分别为 MIO[8:2]。其中,前四个引脚定义启动模式,第五个引脚(MIO5)定义是否使用 PLL,第六个(MIO6)和第七(MIO7)个引脚定义上电过程中 MIO bank0 和 bank1 的 bank 电压。如下图所示:例如:JTAG模式,MIO[5:2] 0000NOR Boot MIO[5:2] 0010...
2020-05-12 14:49:25
1770
原创 读取引脚状态函数会触发中断响应问题
使用zedboard开发板,做GPIO中断触发实验功能:按键BTN8(MIO50)触发中断,运行中断函数。完成:中断初始化;中断函数实现:出现问题,在读取按键状态时直接触发中断。出现问题位置解决状态:NONE#include <stdio.h>#include "xparameters.h"#include "xgpiops.h"#include "xstatus.h"#include "xplatform_info.h"#include <xil_p
2020-05-11 17:53:55
666
1
原创 ZYNQ 用PL按键通过中断控制PS端LED亮灭
关键词:AXI-GPIO;中断;PL按键;PS端LED实现功能:PL端五个按键,可以触发中断,改变LED灯的亮灭状态开发板:zedboardvivado硬件连接如图:AXI Interconnect:实际是一个开关,管理和只会axi接口之间的通信(包括一对一、一对多、多对一、多对多)processing_system7_0:为整个处理器系统提供复位信号axi_gpio:软核GPIO,即由FPGA搭建,而不是硬件出厂配置好的配置: axi_gpio:位宽1;...
2020-05-11 17:51:15
2470
1
CP210x_Windows_Drivers
2021-07-08
ug1144中英文数据手册-petalinux-tools-reference-guide
2021-02-25
MPC8548用户参考手册-中文版pdf
2020-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人