自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

快跑Bug来啦!

好好学习,天天向上

  • 博客(115)
  • 资源 (2)
  • 收藏
  • 关注

原创 zynq操作系统:petalinux的编译使用(上)官方推荐篇

常规环境下petalinux的使用(xilinx官方推荐篇)一.最小系统的构建整个开发流程如下,不一定每一步都要执行。通过 Vivado 创建硬件平台,得到 hdf 硬件描述文件;运行 source <petalinux 安装路径>/settings.sh,设置 Petalinux 运行环境(在安装篇已经设置了别名,可以相对简单了)确定一个工作目录,通过 petalinux-create -t project 创建 petalinux 工程;petalinux-create -t

2021-04-04 18:33:34 8876 2

原创 Git新手入门篇

参考了廖雪峰的教学整理得,亲自试验过,方便上手 更详细的原文地址在https://www.liaoxuefeng.com/wiki/896043488029600/8960670743384961.简介  不用分布式管理的代码和文档,不是常常丢失就是一大堆,一个都舍不得扔,看见介绍里那张清晰分明的修改记录并且可以随时进入任何版本的图片,顿时有了一定要学会git的念头  这样的版本管理,谁不爱呢,尤其是在明明感觉我没修改什么呀上一版好用这一版怎么突然就挂了呢的前提下。2. 安装git   Lin

2021-04-04 18:05:01 560

原创 1553B基础常识篇

1553B总线概述1.1 历史背景  在 20 世纪 60 年代以前,飞机机载电子系统没有标准的通用数据通道,各个电子设备单元之间连接往往需要大量的电缆。随着机载电子系统的不断复杂化,这种通信方式所用的电缆将会占用很大的空间和重量,而且对传输线的定义和测试也较为复杂,费用较高。为了解决这一问题:  1968 年:美国 SAE A2K(Multiplexing for Aircraft Committee 多路复用技术航空委员会)委员会在军方和工业界的支持下决定开发标准的信号多路传输系统。  1973

2021-02-09 15:09:22 23278 13

原创 QT:不同UI间数据,信号的交互

接上文,手动绘制的矩形框毕竟还是在上位机的播放界面内,想要把数据发送给3559还是需要通过串口或者网口发送,没有部署在一个界面就需要不同UI间数据和信号进行交互了,数据还好说,全局变量都可以做到,信号的话使用connect将信号和槽连接起来就可以了,对于槽函数和信号发起者和槽的接收者一定要注意匹配。

2024-05-01 12:00:00 1075

原创 QT:界面上重写鼠标事件(画框,鼠标更改)

接上一篇的rtsp播放器,有需要在播放界面手动跟踪,就需要在播放界面绘制矩形框,并把当前鼠标绘制区域的宽高坐标进行换算发送给3559,做进一步处理。绘制矩形框共分为两种,第一种是左键拖动绘制,第二种是直接在鼠标位置绘制固定的矩形框,用鼠标滚轮调动框的大小,再加上退出功能,需求就可以实现了。对于qt来说也比较简单,重写对应的事件即可。

2024-02-06 20:36:40 1055

原创 QT上位机:串口调试助手

上位机的简单编写可以帮我们测试并完善平台,QT作为一款跨平台的GUI开发框架,提供了非常丰富的常用串口api。本文先从最简单的串口调试助手开始,编写平台软件的串口控制界面。

2024-02-06 20:36:03 1349

原创 Windows映射网络驱动器访问虚拟机

为了开发方便,可以直接将虚拟机文件网络共享到windows,方便打开编辑,不用在虚拟机安装过多应用。

2024-02-06 20:35:36 554 1

原创 BT656视频传输标准

凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢?本文将主要介绍 标准的 8bit BT656(4:2:2)YCbCr SDTV(标清) 数字视频信号格式,主要针对刚刚入门模拟视频采集的初学者入门之用。

2024-02-06 20:31:10 1268

原创 复旦微固化流程

3.编译工程后SDK\system_platform\HelloWorld\Debug\Exe路径下HelloWorld.out,1.编译FSBL工程后SDK\system_platform\FSBL\Debug\Exe路径下的FSBL.out。如图所示,psoc下的create boot image,选择文件配置路径output bif,任意命名。如图所示psoc下的program flash,选择我们第一部生成的boot.bin。切换至qspi模式程序即可独立运行。点击右侧add,分别添加三部分。

2023-12-13 23:15:00 1643 1

原创 复旦微裸机SD卡移植

退出调试界面后面, 特别注意的是 IAR 打断点退出 debug 还会继续往前运行的,这个是 IAR 的 bug, 在线调试的话,如果硬件板子不好修改 boot mode 的跳线的话,即 MIO5 从高变低(qspi falsh 启动模式切到 jtag 启动模式)可以直接把用来初始化 DDR的 fsbl 的强制修改为 jtag 启动,这样的话这个 fsbl 也就不会去 qspi 加载后续镜像了,特别是可以避免 qspi 里的程序有问题会导致 cpu 挂死等问题导致 jlink 断链。

2023-12-12 19:15:34 946

原创 复旦微在线调试DDR

Jtag模式Jtag模式用于在线调试,烧写,红色箭头所示拨码开关,拨上为jtag模式Qspi模式Qspi模式用于独立运行,红色箭头所示拨码开关,拨下为Qspi模式级联模式当PL侧代码不用修改时可以用级联模式,jtag烧写器直接插到开发板上。黄色箭头所示拨码开关拨上为级联独立模式PS和PL都要接仿真器联调时用独立模式,PS的JTAG接到飞线处黄色箭头所示拨码开关拨上为独立。

2023-12-12 19:14:45 1398

原创 QT:编译opencv4.5.3

opencv下载:https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/qt下载:http://download.qt.io/archive/qt/参考之前的QT安装,需要注意的是当前版本qt自带的mingw是32位的版本。cmake下载:https://cmake.org/files/需要文件:cmake-3.15.3-win64-x64.msi。PS:安装完成后需要重启电脑,环境变量添加才会生效。mingw 530(32位)

2023-10-24 19:01:13 403

原创 海思3559:MMZ内存、OS内存配置

海思3559的DDR最大支持到8GB(1)分配的OS内存和MMZ内存加起来的总大小不能超过实际物理内存的大小;(2)OS内存和MMZ内存互相之间的内存地址不能重合,否则会产生内存踩踏;(3)总的物理内存大小不变的情况下,OS内存和MMZ内存之间的分配是此消彼长,两者之间分配的份额需要取得平衡,以达到最优性能;也就是说将实际物理内存分成两部分——OS内存和MMZ内存,两部分内存的管理是彼此独立的;

2023-06-30 19:00:00 1713

原创 复旦微7045环境安装

复旦微FMQL7045的环境安装,和Xilinx的有所区别,为了避免文档的来回查阅,总结详细完整的安装过程

2023-06-25 20:00:00 1487

原创 h264结构与码流

  H264视频压缩后会成为一个序列帧,帧里包含图像,图像分为很多片,每个片可以分为宏块,每个宏块由许多子块组成

2023-06-16 19:30:00 1154

原创 海思3559万能平台搭建:SPI输出h264码流

面对各种各样的客户需求,spi接口也是一种传码流的形式,spi同步422可以保证抗干扰能力强的同时传输距离也很长,本文会介绍海思平台spi作为主机的发送功能以及发送码流的处理方式

2023-06-14 11:09:58 1199 1

原创 海思3559:BT656调试笔记

海思3559a的sdk例子是没有提供BT1120和BT656视频接入的,但实际上硬件是可以支持接入的。不过前提是只支持逐行方式输入,不支持隔行视频,如果想输入PAL制式的隔行视频,请先用芯片转成逐行再接入。不知道是官方手册有意无意的忽略还是太简单约定俗成,例程没有手册相关描述又非常模糊,这里给出SDK2.0.3.1版本的BT656输入调试笔记,输入由adv7280逐行给出。

2023-02-10 21:30:00 4649 2

原创 QT环境的搭建安装:VsCode及Qt Creator

vscode的界面美观,并且和QT一样的跨平台,所以可以选择vscode作为开发环境。QT5.9.X版本成熟,相应教程丰富,并且5.9.9版本具有生成CMake功能,所以本文以QT5.9.9版本为例,给出QT环境的搭建。平时的开发可以在qtcreator中进行界面UI设计布局,在vscode中设计代码和编译、调试。(第一行.GCC等编译工具路径 第二行.QT图形界面等库路径)

2023-01-22 11:15:00 6468 3

原创 海思3559万能平台搭建:ini定制协议输入①校正系统时间

平台的搭建除了海思本身对于音视频的处理,难免需要串口网口之类收发指令并做出处理;每个甲方爸爸对于协议的规定肯定有所差异,以最简单的校对系统时间为例,用网口发送协议,通过ini配置文件加载协议变量的方式实现免编译,只更新ini配置文件就可移植产品功能的作用。

2022-11-06 21:45:00 726

原创 海思3559万能平台搭建:VGS的画线处理

海思的OSD功能除了之前提到的第三方库,自己的VGS也可以做到一些简单的诸如画线之类的操作,这里介绍下假如类似识别时需要画矩形框的时候可以的一种做法海思的VGS 是视频图形子系统,全称为 Video Graphics Sub-System。支持对一幅输入图像进行处理,如进行缩放、像素格式转换、视频存储格式转换、压缩/解压、打 COVER、打 OSD、画线、旋转、动态范围转换等处理。

2022-11-05 23:45:00 3332 4

原创 海思3559万能平台搭建:RTSP优化buffpool的引入

在只有一路编码进行rtsp播放和保存时。之前的思路是没有任何问题的,设计比较简单,但是如果我们的运算量上来了,也不仅仅一个通道编码了,编码速率,保存速率,rtsp发送包的速率的差异会越来越大,而每一包的大小又不可能相同,这个时候就需要引入一个缓冲池来平衡输入输出的速率不一致(简单这么理解一下),且解决包大小不同的问题理论部分节选自知乎专栏https://zhuanlan.zhihu.com/p/533321012代码部分给出了缓冲池功能源码以及调用部分代码。

2022-11-04 21:45:00 967 1

原创 海思3559万能平台搭建:协议的采集和解析

做应用的话就难免和协议打交道,最基础简单的协议可能像单片机一样通篇的ifelse,虽然逻辑严谨,但是不论编写还是理解难度都非常头疼。且一旦更改协议,直呼骂人。介绍一种协议定长时的处理方法,解析包头内容和校验,这样搭配着我们之前提到的配置文件,理论上甚至变协议可以做到代码和变文档一样简单!

2022-11-03 23:15:00 354

原创 海思3559万能平台搭建:TCP网口编程

日常开发除了串口还有网口也用来作为常用的协议收发端口,补充常见的网口编程。

2022-11-02 23:15:00 1305

原创 海思3559万能平台搭建:串口编程

平常的工作使用中,总是免不了要和串口打交道,协议的收发也经常通过串口来实现,海思3559下的串口和标准的linux下串口大同小异,可以参考之前zynq的串口编程,也可以直接阅读本文。

2022-11-01 22:45:00 1968 7

原创 Makefile中常见的gcc编译参数

在修改Makefile时为了方便清楚地知道在编译时都做了哪些操作,补充下gcc编译中常见的一些参数。

2022-10-28 20:45:00 1470

转载 交叉编译简介

经常说交叉编译,交叉编译的,它究竟是什么呢?转载一篇基础知识对于没有做过嵌入式编程的人,可能不太理解交叉编译的概念,那么什么是交叉编译?它有什么作用?在解释什么是交叉编译之前,先要明白什么是本地编译。本地编译本地编译可以理解为,在当前编译平台下,编译出来的程序只能放到当前平台下运行。平时我们常见的软件开发,都是属于本地编译:比如,我们在 x86 平台上,编写程序并编译成可执行程序。这种方式下,我们使用 x86 平台上的工具,开发针对 x86 平台本身的可执行程序,这个编译过程称为本地编译。

2022-10-27 20:45:00 3864

原创 linux多线程同步设计

多线程的开发,不是我们随便将想要并发的内容一股脑写完各干各的就ok了,会有同步和异步的需求,比如我们不知道什么时候要来消息需要阻塞监听时可以用异步,如果我们有稳定的信息源,并且需要在同等间隔的时间内做出高性能的处理时,同步的设计会更恰当一点,多线程之间的同步除了共享内存,常见的还有锁和信号量,单纯的FLAG置位通知什么的信号量也能轻易做到,频繁加锁解锁也会对性能造成影响,选择一个恰当的方式有利于程序的稳定运行,这里介绍一种基础的利用std queue的方式同步运行的方式。

2022-10-25 22:45:00 328

原创 Dalsa相机的aarch64移植:aarch64-linux-gnu交叉编译

近日,有需求想在3559上尝试移植teledyne的dalsa网络相机,想通过交叉编译的方式移植官方的aarch64版本的sdk,由于sdk里部分API是通过静态库的方式给的,所以最终没能在海思3559上跑起来,但是可以通过标准的aarch64交叉编译工具完成。移植经历记录下来,对使用aarch64-linux-gnu交叉编译工具的朋友希望能有所帮助(像瑞芯微3588这类,甚至可以直接安装sdk不需要交叉编译)

2022-10-24 23:30:00 2322 3

原创 linux下对函数运行时间的简单估计

性能的要求一定是在慢慢的成长中一点点接触到的,比如50hz的图像,就需要我们在20ms内将数据处理完成,那我们怎么简单估算下我们代码的运行时间呢?函数"clock_gettime"是基于Linux C语言的时间函数,他可以用于计算精度和纳秒。

2022-10-19 19:45:00 471

原创 海思3559万能平台搭建:C/C++混编

应用的开发有时候用C++就是比C更方便,更直接,海思的开发环境是集成了C++的环境的,kernel也默认编进去了C++的库,我们想在原先sample的基础上,用C++和C混编,其实只需要修改Makefile和代码里关于参数检查的相关部分(看该部分需不需要用C编,如果在函数内部调用externC是没用的)

2022-10-18 21:45:00 745

原创 海思3559万能平台搭建:添加一个新的sensor

海思对摄像头的支持是只有固定的,如果我们想更换新的相机,让fpga接入通过lvds接口给3559提供视频源的话,除了相关配置,还需要添加新的sensor库,编译新的isp库,而且,如果移植不善,还可能对第三方库(SDL,FreeType,SDL_TTF等)造成影响,需要进一步修改。

2022-10-17 23:45:00 5719

原创 DDR时序

移植ddr时读到的ddr工作原理和时序分析,来自哔哩哔哩,原视频讲的很棒现在整理为文字。

2022-10-13 23:45:00 4518

原创 海思3559:uboot顶层Makefile分析

符号 \是makefile的换行符其中,|是shell语法中的管道结构,例如:XXX | YYY ,表达式XXX 的输出将作为表达式YYY的输入,YYY的输出才是整句表达式的输出uname -m 指令将输出负责编译的主机cpu架构,比如ixx86;表达式1中,方括号是固定用法,是为了突出里面表达式的作用是判断语句。$(if xxx,yyy,zzz)是makefile的判断函数,如果xxx为真,则执行yyy并返回值,否则执行zzz并返回值,由此可知如果未成功创建BUILD_DIR,就会输出错误打印信息;

2022-10-12 22:45:00 435

原创 海思3559万能平台搭建:DDR移植的一些问题

开发板是绝对无误的硬件环境,但是我们平时的开发肯定会接触自己搭建的硬件环境,难免会有这样那样的小问题,这里给出一次DDR的调试过程。

2022-10-11 23:15:00 2531 4

原创 海思3559U-Boot移植(二):更换新的SPI Nand Flash

在开发板上的折腾终归是小打小闹,真正的实践还需要从实际项目和自己参考画的板子选的器件入手,记录更换未经SDK包测试过的国产FLASH调试记录和踩到的坑,重点参考SDK文档包下的ReleaseDoc\zh\02.only for reference\software 基于Hifmcv100控制器的Flash移植指南.pdf,还有\ReleaseDoc\zh\00.hardware\chip路径下的Hi3559A╱C V100 ultra-HD Mobile Camera SoC 用户指南.pdf。

2022-10-05 19:45:00 3625 2

原创 海思3559:百兆网口的配置

海思3559的开发板网口是默认支持千兆/百兆的,这里的自适应,是从RJ45出来后和PC侧的自适应,而实际上3559对于网口的设置,默认都是RGMII模式,除了对应的软件配置,硬件部分需要通过上拉电阻的方法和phy芯片的的支持决定3559最终要选择那个模式,比如PHY芯片只支持到百兆,硬件部分就需要配置成RMII模式,对应的软件配置也需要对应的改为RMII,官方文档不知道是没有写还是太杂了没找到,这里补充完整的移植方法。

2022-10-03 18:30:00 2104

原创 海思3559万能平台搭建:OSD的自动反色

OSD功能在之前两篇中已经满足了大部分的应用场景,为了进一步提升效率和自适应环境亮度和反色,这里介绍改进方法。

2022-10-02 23:45:00 987

原创 海思3559万能平台搭建:OSD功能的优化

功能测试的OSD使用还是比较简单的,随便找个位置做个时间戳,背景还是黑色,且只能显示一行,很明显效果并不是那么理想,这里做一个升级,对海思区域叠加的配置以及osd窗口的创建等都在本文一并写了。

2022-10-01 22:45:00 2079 1

原创 海思3559万能平台搭建:RTSP实时播放的优化

之前的rtsp功能,仅仅是对demo的简单修改,(是通过保存本地文件后在读取本地文件数据再播放)。这样存在的主要问题是,如果是先保存好文件,在读取文件传给rtsp播放,有多此一举的嫌疑,而且这样人为的增加了延迟不说,有没有这么大的硬盘让我们一直实时观看呢。更好的一个方法是我们参考海思保存码流的办法,在保存前增加开关,确定是否需要保存(参考我们的配置文件,都不需要重新编译,即可选择是否保存)是否需要实时播放,将要保存的文件直接发给rtsp是个更为明智的选择。另外时间戳也不可忽视,在实时的码流中还是非常重要的。

2022-09-29 20:17:37 2388 16

原创 VsCode使用技巧:避免ubuntu版本右键菜单误点

比如我们调试时,想把某个变量添加到监视,但是单击右键菜单,老是直接就会选择了当前鼠标所在位置的选项,速度快到惊奇,经常跳转是小,要不小心做了哪些不知道的操作怕是要头疼死。而Windows版本没有这样的问题,试过重新安装,也怀疑过是否插件冲突不兼容的情况,都没有好的效果。由于问题不好描述,且多数即便描述了问题也只有长按挪走的治标不治本办法,特做个记录说明。所幸,虽然问题不常见,但吾道不孤,还是有像我一样的倒霉蛋碰见,这里用到了Easystroke。安装,打开,在偏好设置中单击手势按钮,会出现以下界面。...

2022-08-03 20:00:00 1438 17

海思3559亲测可用的rtsp库

完全免费的海思3559稳定rtsp播放码流的库,使用简单。如果遇到动态调整下载积分,请私信博主

2022-09-29

海思3559新建sensor库

免费的海思3559新建相机的sensor库,适用于海思3559 的sdk2.0.3.1版本,移植一定要仔细慎重,如果资源动态调分请第一时间联系作者。

2022-09-27

iniparser配置文件,参考海思万能平台搭建:配置文件iniparser的引入

iniparser配置文件,参考海思万能平台搭建:配置文件iniparser的引入

2022-07-18

gdb8.3,测试海思3559可在线或远程调试版本

gdb8.3,测试海思3559可在线或远程调试版本

2022-07-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除