![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM
文章平均质量分 50
Joker.Mao
"你所有的烦恼都是因为你读书少"
Gzh:ADAS之眼。
传感器、嵌入式、FPGA、ISP领域耕耘者~
展开
-
nvidia jeston 设备树使能SPI
nvidia jeston 使能SPI function原创 2022-12-24 21:39:53 · 1754 阅读 · 1 评论 -
NVIDIA Jeston GMSL Camera Driver实现
NVIDIA GMSL Driver原创 2022-12-05 09:42:36 · 860 阅读 · 5 评论 -
vivado无法导出hls ip问题
【代码】vivado无法导出hls ip问题。原创 2022-11-20 21:53:11 · 356 阅读 · 0 评论 -
Zynq7000 OPENAMP 实验
前言Zynq7000 openamp实验,最近想做一个多cpu异构系统,后面会用zynqmp去做,先拿zynq7000试一下首先说明,openamp是开源异构多处理通信框架。现在cpu不再像以前单个cpu,而是越来越复杂,比如TI的TDA4芯片,4个A72、两个R5、四个DSP,再比如XILINX的ZynqMP,四个A53,两个R5。一般做法都是A72、A53跑linux或者QNX,R5跑RTOS,在一些实时性较高的场景。环境:PETALINUX2020.1开始首先参考官方的APP UG1186原创 2021-10-27 21:01:30 · 4419 阅读 · 1 评论 -
Linux下VCU控制软件C++转C[一]
前言开学t瞄的一个一个月了,这肺炎真的恶心啊,感觉要毕不了业了,下面说一下vcu c++转c的简单过程开始转c其实就是把C++的机制在c下实现,如类的构造、析构灯简单举个例子原来c++简单定义一个数据EncoderSink enc;用c来实现 //编码器实例 EncoderSink enc; { //构造 encSinkStructFunc_init((void *)&am...原创 2021-05-28 23:57:24 · 546 阅读 · 1 评论 -
zynq ubuntu桌面LCD移植实现
前言目的:在Zynq上点亮OLED以及SPI LCD做开发显示使用开始使能SSD1306以及9341的驱动&spi0 { status = "okay"; ili9341@0 { compatible = "ilitek,ili9341"; reg = <0>; spi-max-frequency = <50000000>; rotate = <270>; bgr; fps = <30>; buswidth =原创 2021-05-15 23:18:48 · 1060 阅读 · 1 评论 -
zynq7000 AMP双核IPC+SharedMem通信
开始接着上文,然后做双核通信,参考大佬driver:/* dbox-ipc-dev.c - The simplest kernel module.* Copyright (C) 2013 - 2016 Xilinx, Inc** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as pu原创 2021-05-09 20:16:50 · 952 阅读 · 2 评论 -
Zynq7000 Linux+Bare Rtos实现
前言**环境准备petalinux2019.1 viavdo2019.1开始CPU0:Linux + uart0正常建目录,然后划分空间,memory setting修改一下支持启动参数修改修改设备树/include/ "system-conf.dtsi"/ { amba { remoteproc0: remoteproc@0 { compatible = "xlnx,zynq_remoteproc"; reg = < 0x10000000 0x0f00000原创 2021-04-24 19:09:15 · 659 阅读 · 2 评论 -
Zynq7000 Ps&PL i2c驱动器使用
Zynq7000 Ps&PL i2c驱动OLED前言主要想做点东西,先把i2c在裸机下调通,确保硬件逻辑没问题,然后再到Linux下开发。开始PS下I2c使用Block design如上,这里我把emio用来扩展i2c,并且还搞了一个axi i2c然后sdk demo如下:#define IIC_DEVICE_ID XPAR_PS7_I2C_0_DEVICE_ID/* * The slave address to send to and receive from. */#de原创 2021-04-10 21:30:51 · 1059 阅读 · 0 评论 -
IS_ENABLE
Linux内核中IS_ENABLE(macro)是一个比较常见的宏,有时候在代码中也会判断宏是否定义或者开启,其具体定义如下所示#define __ARG_PLACEHOLDER_1 0,#define config_enabled(cfg) _config_enabled(cfg)#define _config_enabled(value) __config_enabled(__ARG_PLACEHOLDER_##value)#define __config_enabled(arg1_or_jun原创 2020-08-07 00:51:26 · 982 阅读 · 0 评论 -
Zynq UltraScale Linux A53和裸机 R5共享内存通信
A53&R5 Shared Mem通信原创 2020-03-14 10:29:52 · 4184 阅读 · 8 评论 -
Zynq UltraScale+ A53 Linux+R5裸机
环境PetaLinux2019.1(不要用19.2,19.2产生的镜像存在SD卡错误)Ubuntu16.04Vivado19.1参考手册Ug1209开始1、准备好hdf文件,然后创建工程petalinux-create --type project --template zynqMP --name amp_test2、配置hdf文件petalinux-config --get-...原创 2020-03-12 22:08:40 · 4074 阅读 · 3 评论 -
Zynq FreeRtos下开启其他中断(定时器Uart)系统崩掉的问题
FreeRtos下开启其他中断(定时器Uart)系统崩掉的问题问题来源比如我开了freertos然后想用uart中断,然后就发现系统正常工作不了,多任务失效,只有一个任务在跑,调度器工作失败问题原因主要是全局中断实例只能同时存在一个,因为再初始化中断实例的时候会关闭其他中断,源码如下:s32 XScuGic_CfgInitialize(XScuGic *InstancePtr, ...原创 2020-01-04 19:50:40 · 2194 阅读 · 3 评论 -
ZCU106 VCU Linux驱动转裸机驱动篇(四)
开始首先上一张编码器的图:从图中可以看出,编码器由一个MCU控制,然后通过AXI总线和外面数据交互,然后APU通过邮箱和MCU进行数据通信以及交互下面是我们开修改过的probe函数,用在裸机上的,然后虽然名字没变,但里面内容以及大变,我们一次往下看static int al5e_probe(device* pdev){ int err; static int current_min...原创 2020-01-03 10:03:20 · 1032 阅读 · 6 评论 -
ZCU106 VCU Linux驱动转裸机驱动篇(三)
ZCU106 VCU Linux驱动转裸机前言之前感觉都是在做应用层的分析,今天来个驱动层面的吧开始前两篇都是应用层分析,今天分析驱动层面的,首先加载开机打印项[ 7.488846] xilinx-vcu-core a0140000.vcu: No reset gpio info from dts for vcu. This may lead to incorrect functi...原创 2019-12-15 17:34:47 · 1241 阅读 · 0 评论 -
ZCU106 VCU Linux驱动转裸机驱动篇(二)
VCU Linux驱动转裸机驱动前言上一篇说到了上层函数调用硬件驱动,驱动文件libCommon/HardwareDriver.c中,这一片讲一下C++上层控制逻辑,注意大部分数据传输都是调用的的PostMessage~开始系统配置信息1、首先进入主函数: ConfigFile cfg; SetDefaults(cfg); auto& FileInfo = cfg...原创 2019-12-02 20:19:54 · 1346 阅读 · 2 评论 -
ZCU106 裸机NR SHELL移植
ZCU106 裸机NR SHELL移植许久没更了,画了一个月的板子,终于初版画完了,剩下的和师兄对一下接口、然后细节问题就可以投板了,接下来就继续我的裸机VCU了~裸机(用RTOS了其实)没有shell的情况就感觉很别扭,每次下程序又比较麻烦,所以这里便用一个shell去控制,网上有开源了的,所以这里移植一个在我的ZCU106板子上方便后续开发源码github:https://codeloa...原创 2019-11-28 16:18:54 · 880 阅读 · 1 评论 -
IMX283 QT4.73电子相册
IMX283 QT4.73电子相册前言系上一篇移植了4.13以后,板子上有个显示屏,天天放着感觉浪费,就想做个显示图片的,额,正好zlg的文件系统有Qt4.7.3所以就直接做了一个,啥都不说了,先上展示图,由于只能5M,凑合着看~开始环境用的zlg的开发qt环境,然后其实就是qt那一套,待会上源码,尝试过命令行输出图片路径,但是不知道为啥在开发板上就不行,然而在主机上却可以,后来直接写死...原创 2019-11-15 16:10:29 · 438 阅读 · 0 评论 -
Imx283 Uboot2017+Linux3/4/5系统内核移植
Imx283 Uboot2017+Linux3/4/5系统内核移植前言用的周立功的EasyArm283,实习的时候买的,一直没咋弄,前几天突然看到了想玩一下,感觉2.34的内核有点老所以就移植了4.13参考链接:https://www.lijingquan.net/3213/这里的linux下载链接:uboot下载链接:其实都是官方的开始工具链:...原创 2019-11-12 23:32:42 · 2092 阅读 · 4 评论 -
Zynq VCU 实时转码测试
Zynq VCU 实时转码Demo性能测试准备视频源: petalinux.xilinx.com/sswreleases/video-files视频帧率转换工具:fmpeg帧率转化命令行:r后面是输出的帧率 ffmpeg.exe -i .\bbb_sunflower_2160p_30fps_normal_hevc.mkv -r 35 out35.mkv视频转图像: ffmpeg -...原创 2019-11-07 23:15:35 · 1438 阅读 · 0 评论 -
ZCU106 VCU Linux驱动转裸机驱动篇(一)
ZCU106 VCU Linux驱动转裸机驱动前言由于某某某原因,本人的毕设上最好用裸机驱动VCU编解码,故应该把Linux驱动单独拿出来驱动,下面开始拿出来了哈哈准备1、vcu_ctrl_sw源码,这是上层控制VCU驱动的,可以直接编解码的,源码链接https://github.com/Xilinx/vcu-ctrl-sw2、准备驱动源码https://github.com/...原创 2019-11-02 19:50:28 · 1824 阅读 · 1 评论 -
Zynq UltraScale+ MPSoC EV系列VCU应用通路搭建
ZCU106开发板VCU应用通路搭建前言编译换了台主机,果然快了很多,下面说一下VCU通路的搭建。其中最主要的是给VCU部分提供时钟,下面说一下开始1、首先看整体的block框图,首先是系统的si570_user输入,这个是板载芯片输出的差分信号,然后输入到VCU_CORE中,VCU核MPSOC通过AXI连接在一起,然后MPSoC和自己写的gpio连接在一起2、打开VCU_CORE,如...原创 2019-11-01 15:40:38 · 3401 阅读 · 2 评论 -
Zynq UltraScale+ MPSoC配置DDR4参数
Zynq UltraScale+ MPSoC配置DDR4参数前言自己做自己的嵌入式产品一般要选择合适的DDR,而这里开发板给的是4GB的UIMM的DDR4,也就是电脑上用的,所以用不了,只能自己挂载Component,这里说一下配置的过程,如何从PDF中拿出参数来开始Zynq DDR控制器1、首先看一下Zynq MPSoC支持的DDR,这里的手册是UG1085,首先是最大支持多少可以...原创 2019-10-29 20:50:22 · 13055 阅读 · 23 评论 -
Petalinux对zcu106编译自定义驱动模块
Petalinux对zcu106编译自定义驱动模块平台ubuntu16.04petalinux2018.3vscode编辑器前言之前写过imx28的驱动,这次因为毕设要用zcu106的vcu,涉及到驱动的部分,所以再来回顾下开发流程,petalinux工具提供了极大的便利,对于开发来说,但也有自己的坏处,每次编译贼慢,想直接载kenrel中编译写makefile又出问题,算了就这样吧。...原创 2019-10-18 15:02:50 · 4510 阅读 · 6 评论 -
win10下CMAKE交叉编译ARM-LINUX
WIN10下CMAKE交差编译ARM64-LINUX平台准备(接上一篇文章)win10cmakearm-linux-gcc(aarch64-linux-gnu-gcc-7.3.1.exe)arm-linux-g++(aarch64-linux-gnu-g++.exe)makezcu106开发板vscode编辑器开始首先设置好win10下make、cmake、arm-linux-...原创 2019-10-05 21:48:33 · 5738 阅读 · 1 评论 -
Petalinux踩坑记录-ZCU106开发板
PETALINUX开发zcu106 linux开发环境Ubuntu16.04(注意,个人使用过18.04,会出现莫名问题,后来换了16.04好了)Petalinux2018.3开发板ZCU106过程首先就是在Vivado下搭建自己的硬件平台,这里最简单的arm为例,接着导出文件file-》export hardware,然后找到hdf文件。创建petalinux工程,这里的步骤按...原创 2019-10-05 14:32:07 · 2194 阅读 · 0 评论 -
ARM代码重定位分析
问题来源,NOR FLASH虽然可以XIP执行,但是像全局变量/静态全局变量这种需要进行修改的话,NOR FLASH便不是一个很好的方案,只能在RAM里面修改,代码以及常量在NOR里面读取,数据在RAM里面,首先我们讲一下相关概念1、位置有关码当前的指令访问绝对物理位置,如:ldr pc ,#0X100000 mov pc , #0x10000这里位置0x10000绝对固定这样代码数据或者...原创 2019-08-27 14:53:42 · 590 阅读 · 0 评论