- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 关于xilinx zynq petalinux 使用32MB(W25Q256)的SPI FLSH无法正常读写16M以上内存的BUG的调试过程
xilinx zynq petalinux 使用32MB(W25Q256)的SPI FLSH无法正常读写16M以上内存的BUG
2023-04-04 15:28:16
2828
8
原创 记录一下如何直接修改zynq petalinux编译出来的rootfs.cpio.gz文件内容
不用重新编译,修改petalinux的rootfs.cpio.gz文件并重新打包成image.ub和BOOT.BIN
2023-04-04 14:39:32
1750
1
原创 骚操作,尝试使用Xilinx XVC协议,通过Jlink来下载调试Xilink zynq FPGA芯片
最近一直在玩zynq芯片,手头使用的Xilinx Platform USB Cable 下载线真是辣鸡,速度慢如蜗牛,每次下载bit文件或者烧写flash文件都要大半天,实在是难以忍受。逻辑分析仪看了下xilinx的下载线,速度只有6.25M,并且数据间隔非常大,不懂这线的开发者咋想的,这总线利用率真是低到爆了上图为xilinx DLC 10下载线波形,惨不忍睹!为了不浪费生命在下载等待时间上,我打算找找看有没有别的仿真调试选择。经过一番查找后发现Xilinx的仿真器好像选择不是很多,要么贵死要
2022-04-06 10:53:12
9343
13
原创 linux openssl 16进制的模数n和指数e转换成pkcs.pem证书秘钥格式
rsa加解密在pc电脑端已经有了非常广泛的应用,但是在pc端进行rsa加解密大多数都是使用base64编码格式,而在嵌入式开发中一般进行数据加解密都使用16进制的数据格式,因此要在嵌入式开发中使用rsa加解密就有一个编码转换的问题。通常我们在嵌入式单片机开发时用的rsa秘钥都是16进制的hex数组,类似于下面这样char pubkey_n[128]={ //1024 bit RSA 公钥 模数0x01,0x02,0x03,0x04 ......}char pubkey_e[4]={ //1
2021-08-09 15:33:38
1829
1
原创 zynq petalinux AMP双核运行linux+ucos(或者裸机)之间进行 IPI 软中断通讯的实现
前几天试验了xilinx官方remotporc AMP程序,运行是运行起来了,但是感觉太复杂了,我只想要一个能启动停止cpu1,能在两个cpu之间方便通讯的功能就行了,看着remotproc框架一堆的代码,编译出来的elf文件体积还超级大心里就非常不爽,想着干脆自己实现一个简单处理驱动程序算了,so...经过几天的痛苦研究,也算完整实现了想要的功能由于linux应用程序不能处理硬件中断,因此这个IPI通讯只能在驱动层进行处理,所以第一步,要编写一个驱动程序,实现cpu1的bin(不是elf)文件加载,控
2021-04-14 17:40:32
4028
14
原创 关于zynq petalinux 2020.2版本交叉编译环境工具链的搭建和使用备忘
用过xilinx zynq petalinux的人都知道petalinux编译一次非常慢,即使下载了sstate和download包之后编译还是很慢很慢,真是让人难以接受了。。。。so....经过我一番艰苦研究之后终于弄明白了如何使用petalinux生成的sdk来编译自己的驱动程序,步骤如下:第一步:vivado搭建硬件环境,编译出xsa,在petalinux下创建工程,按照官方指导步骤最后 petalinux-build 编译一次生成整个linux工程第二步:使用petalinux-buil
2021-04-14 17:09:59
10417
18
原创 关于 在zynq双核AMP 运行linux+ucos,echo_test,remoteproc程序提示use vmalloc=<size> to increase size内存不足的BUG 问题分析
最近在调试zynq7010 上双核运行linux和ucos的程序,经过仔细阅读官方UG1186后测试是可以跑起来了,但是有个严重问题,就是当我反复使用echo start > /sys/class/remoteproc/remoteproc0/stateecho stop > /sys/class/remoteproc/remoteproc0/state这两条命令去反复停止和重启remoteproc cpu2的程序时会内核oops崩溃,提示vmap allocation f.
2021-04-02 10:11:19
3171
3
原创 解决Xilinx zynq vitis 2019.2 环境下添加ucos软件库时编译提示 XPLAT_VERSAL undeclared的问题
这两天尝试在zynq双核运行linux+ucos,在micrium官网下载Xilinx的SDK软件包后倒入到vitis编译时总是提示XPLAT_VERSAL undeclared这个错误,如下图检查错误位置,发现是gpiops文件内有几处判断使用到了XPLAT_VERSAL这个宏定义,但是仔细检查发现程序里面xplatform_info.h这个文件是有XPLAT_VERSAL这个定义的,只不过是XPLAT_versal,后面是小写而已,然后手动改为大写,或者直接在报错的文件内重新自定义一个相同的声.
2021-03-24 17:32:03
1259
原创 简单总结下ZYNQ 7000双核AMP运行时如何让CPU0动态加载启动运行CPU1
最近玩起了Xilinx的zynq 7000系列芯片,打算用znyq的双核A9独立运行两个程序,也就是所谓的AMP模式,需求是这样的,cpu0先运行,然后cpu0从外部媒介加载cpu1的代码到特定内存区域,然后cpu0唤醒cpu1,两个cpu同时干活,完了cpu0将cpu1复位停止,等待下一次需要cpu1工作时再重新加载cpu1运行,总的来说就是cpu0代码是固定的,cpu1代码是随时可变的。由于是新接触这个双核芯片,原先对它不太熟,一顿搜索之后大概了解了啥是AMP后就动手测试起了,不得不吐槽一下...
2021-03-22 10:41:31
5055
9
原创 聊聊 Microsemi SmartFusion2 系列FPGA SOC芯片 ISP IAP 在线升级中的一些大坑
开发的产品用到SmartFusion2 的FPGA 型号 M2S010,这个FPGA芯片内部自带硬核Cortex®-M3,并且M3可以直接内部链接FPGA资源,这样对于需要灵活分配引脚功能,增加自定义FPGA硬件加速算法模块,添加N多路TIM,UART,SPI等等外设是非常好用的,唯一不好的就是比较贵。。。。最近做的东西要卖到国外,国外客户要对我们的产品进行二次开发,由于没有给产品加入在线升级功能,导致后来双方协同开发不太愉快,每次程序需要修改都要寄一次新硬件,浪费时间不说,还让客户对我们的产品产生..
2020-08-07 10:19:43
4111
7
原创 解决 Microsemi Libero 11.8 软件打开时一直卡在启动界面的问题
工作经常要用到 Microsemi 的FPGA芯片,最近打开Libero开发环境时老是卡死在启动界面很久都不能打开,如下图经过多方尝试,发现先把网卡禁用,或者拔掉网线,让电脑断网,然后再打开软件就可以正常打开了,软件打开后再开启电脑联网即可,记录一下,希望对遇到这个问题的人有所帮助!...
2020-08-06 12:05:50
2201
原创 图文并茂,动手操作一台宝马X7仪表里程校调,看看你买的二手 “新” 宝马是怎么调出来的!
生活中的每个行业里往往都有一些所谓的潜规则,二手车行业当然不例外。对于想买二手车的人呢,最怕就是两点,一个是事故泡水车,一个就是怕被调过里程表,这两点往往也是车行老板最喜欢用的增收手段。两辆相同年份的二手车,在外观差别不大的情况下,里程数的差别就是价钱的差别,越是好车,差价越大,调表可谓是成本低,见效快。XXX同志说过:只要有10%的利润,他们就会蠢蠢欲动;有50%的利润,他们就敢铤而走险;有100%的利润,它们就敢于践踏人间一切法律;有300%的利润,他们敢于冒绞刑的危险。一辆调表后的豪车,有时候可以
2020-07-08 18:41:38
7215
2
原创 解决Visual Studio 2019 在win7上无法安装的问题
前两天因为电脑升级硬件,换了主板需要重新安装系统,重装了系统之后想装一下vs2019,就到微软官网下载了Visual Studio Installer 在线安装包,没想到安装过程竟然一波三折,幸好最后搞定了,分享一下解决步骤,希望对碰到这种问题的朋友有点帮助。安装过程记录:1:直接到微软官网,下载在线安装包,双击运行,提示错误,说程序运行需要 .net 4.6 或者以上版本运行环境,好吧,先去下载个.net4.6 安装包2:装了 .net4.6之后,再次运行,好了,可以运行了,本以为OK了,
2020-06-17 15:50:03
18454
2
原创 简单实现stm32f103芯片usb模拟U盘进行IAP更新用户程序
更新单片机内的用户程序,方式一般都是仿真器,串口,网络口,usb DFU,另类一点CAN也行,但是这些方式都有一个共同点,必须要有相应的上位机配合操作,还要教会别人使用,那么能不能有更简单傻瓜化的升级方式呢? 今天二逼程序猿就来说说另类一点的USB模拟U盘进行IAP更新升级用户程序的方法!USB模拟U盘,顾名思义就是用STM32的usb device接口,根据usb massstorage大容量存
2016-05-26 14:58:38
41517
6
原创 SAE J1850 汽车总线协议 VPW 物理层驱动程序在STM32芯片上的实现
VPW(Variable Pulse Width)是一种可变脉宽调制的汽车总线通讯方式,常用于美系的福特,通用,克莱斯勒等汽车上,主要用途为车用信息中心、仪表显示、故障检测诊断等。VPW – 以数据位为基本单位进行传输,定义了一个起始位(SOF):200us 的高电平代表开始进行位传输,定义了一个结束位(EOF):280us 的低电平表示位传输正常结束,起始位之后的数据位表示方式可认为为:电平不断的
2016-05-25 16:23:11
18592
2
Jlink XVC Server程序,用于通过Jlink对Xilinx FPAG芯片下载仿真调试
2022-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人