
ARM5718-RK3588
文章平均质量分 60
ARM5718-RK3588
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
毛毛虫的爹
这个作者很懒,什么都没留下…
展开
-
DRM应用编程–atomic接口
如下图所示: 上图的Properties并非全部的Properties,这里只列举了drm程序里通用的几个Properties, 如果想要知道更多的Properties,后面的程序分析会有讲到。当开发者有新的功能需要添加时, 无需增加新的函数名和IOCTL,只需在底层驱动中新增一个property, 然后在自己的应用程序中获取/操作该property的值即可。Property把前面的legacy接口传入的参数单独抽出来,做成一个个独立的全局属性。通过设置这些属性参数,即可完成对显示参数的设置。原创 2025-02-21 09:51:18 · 51 阅读 · 0 评论 -
基于drm框架的drmModeAtomicSetCursor接口的用法,以及完整的代码示例
这个示例代码演示了如何使用drmModeAtomicSetCursor函数来设置cursor的位置。它首先找到可用的CRTC,然后创建一个cursor plane和一个buffer,最后将cursor移动到指定位置。在执行完毕之后,程序会清理所有资源并退出。原创 2025-02-21 09:48:05 · 44 阅读 · 0 评论 -
RK3588---doubleBuffer、page-flip
drmModePageFlip()的功能也是用于更新显示内容的,但是它和drmModeSetCrtc()最大的区别在于,drmModePageFlip()只会等到VSYNC到来后才会真正执行framebuffer切换动作,而drmModeSetCrtc()则会立即执行framebuffer切换动作。所以将新帧画面绘制到framebuffer时,需要绘制到一个新buffer,而不是front-buffer(即正在使用的buffer),避免这种现象发生的技术称为double-buffering。原创 2024-12-13 15:57:32 · 122 阅读 · 0 评论 -
RK3588--DRM overlay OSD叠加、旋转、缩放
【代码】RK3588--DRM overlay OSD叠加、旋转、缩放。原创 2024-12-07 13:25:24 · 368 阅读 · 0 评论 -
RK3588--解码H264(mpp-dec-h264-to-yuv-file)
当解码器中数据读取到结束标志位时进入mpp_frame_get_eos()分支,设置over变量,最终循环终止,解码结束。dump_frame_to_file:这个函数将从解码器获取的MppFrame保存到指定文件,当解码器第一次返回时通常会走进mpp_frame_get_info_change()分支,在这个分支里可以设置图像内存分配以及交互模式模式,如果使用纯内部模式,则直接调用ret = mpi->control(ctx, MPP_DEC_SET_INFO_CHANGE_READY, NULL);原创 2024-12-07 13:10:04 · 205 阅读 · 0 评论 -
RK3588----ffmpeg音视频硬件编解码
【代码】RK3588----ffmpeg音视频硬件编解码。原创 2024-12-04 10:35:32 · 200 阅读 · 0 评论 -
RK3588---编解码之mpp解码demo解析:mpi_dec_test,源码讲解
1. 简介mpi_dec_test 是rockchip官方解码 demo本篇文章进行mpi_dec_test 的代码解析,解码流程解析2. 环境介绍硬件环境:ArmSoM-W3 RK3588开发板软件版本:3. mpp解码流程解析图3.1 RKMPP解码器接口为用户提供了输入码流,输出图像的功能mpp_create :获取 MppCtx 实例以及 MppApi 结构体mpp_init: 初始化MppCtx 的编解码类型与格式。原创 2024-12-04 10:33:39 · 646 阅读 · 0 评论 -
RK3588-DRM例子(modetest、modeset-single-buffer)
【代码】RK3588-DRM例子(modetest、modeset-single-buffer)原创 2024-11-27 16:42:44 · 356 阅读 · 0 评论 -
RK3588-MPP 库编译与使用
此函数先初始化一个buffer,然后将输入文件的info,data等信息放到这个buffer里面,再调用 mpp_create 实例化一个MppCtx 然后使用 mpp_init 初始化它,再使用 mpp_enc_cfg_init 设置一下,最后在 test_mpp_run 中调用 mpi->encode_put_frame(ctx, frame);mpi_enc_test_cmd_update_by_args函数就是逐个参数解析,并检查参数,然后把不全的参数补齐。然后cd到mpp的工程目录下,分别执行。原创 2024-11-27 16:17:39 · 501 阅读 · 0 评论 -
RK3588-LinuxSDK安装
镜像文件说明 boot.img 内核镜像,包含内核和设备树 MiniLoaderAll.bin DDR 初始化镜像和 U-Boot SPL 镜像 misc.img misc 镜像 oem.img oem 镜像,存放用户数据,挂载至文件系统的"/oem"目录 parameter.txt 分区表,update.img 按照此分区表存放各个镜像 recovery.img recovery 镜像,用于系统升级 rootfs.img 根文件系统镜像 uboot.img U-Boot 镜像。原创 2024-11-26 15:26:21 · 300 阅读 · 0 评论 -
RK3588-nfs配置
【代码】RK3588-nfs配置。原创 2024-11-26 15:31:58 · 122 阅读 · 0 评论 -
利用MFC的CFtpConnection类实现递归下载文件夹
一、用到的CInternetSession、CFtpConnection类的接口二、编码实现/*参数说明:remotefile 要下载的ftp目录或文件,如"/杭州/滨江/五水共治.rar"localpath 保存到本地的目录,如"D:\Download"isDir 指明要下载的是文件还是文件夹ftpaddr ftp服务器地址username 登陆ftp服务器的用户名ftpPass 登陆f密码/BOOL DownloadFromFTP(原创 2021-08-27 19:17:47 · 722 阅读 · 0 评论 -
arm5718下基于KO驱动程序的led闪灯程序(发送物理地址)
【代码】【无标题】原创 2023-01-12 09:35:47 · 146 阅读 · 0 评论 -
arm5718下基于KO驱动程序的led闪灯程序(发送数据)
【代码】arm5718下基于KO驱动程序的led闪灯程序。原创 2022-12-30 10:37:05 · 159 阅读 · 0 评论 -
AM57x平台开发板的默认调试串口为UART3改为uart1
AM5728是TI Sitara系列高性能SOC,得益于异构多核处理架构,CPU内集成了多核DSP、多核PRU、IVA-HD、GPU等协处理单元,通过硬件加速的方式极大增强CPU的数据、多媒体处理能力,可满足工业协议支持、大数据计算、实时控制等应用需求,同时采用先进的28纳米生产工艺,极大降低处理器的功耗,能耗比更加突出。打开U-boot源码“board/ti/am57xx”目录下的Kconfig文件,按照下图方法将文件中的参数“3”修改为“1”,表示将MLO启动过程中的打印信息从UART1输出。原创 2022-12-28 10:01:42 · 597 阅读 · 0 评论 -
arm5718的ipc-dsp,ipc-ipu通讯
arm5718的ipc通讯原创 2022-12-02 14:28:29 · 216 阅读 · 0 评论 -
arm5718下的h264编码、解码测试
【代码】arm5718下的h264编码、解码测试。原创 2022-12-02 14:25:32 · 456 阅读 · 0 评论 -
linux命令之systemctl 详解
Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。##一、命令systemctl是 Systemd 的主命令,用于管理系统。原创 2022-11-01 09:59:00 · 1740 阅读 · 0 评论 -
基于arm linux的shell函数定义、函数调用及函数返回值用法
1、函数定义linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。Shell 函数定义的语法格式如下:[function] funname [()]{}格式1:简化写法,不写 function 关键字:函数名(){函数体}格式2:这是标准写法,也推荐大家使用的写法:function 函数名(){命令序列}这样方便做到一看就懂。格式3:如果写了 function 关键字,也可以省略函数名后面的小括号:function 函数名{命令序列}说明:function 是 Shell 中的关原创 2022-06-13 18:43:49 · 573 阅读 · 0 评论 -
基于armlinux的shell之文件路径截取
最近写脚本,需要对脚本中函数传递的路径参数进行截取,发现了以下比较好用的方法,记录下:file=/dir1/dir2/dir3/my.file.txt我们可以用${ }分别替换获得不同的值:${file#*/}:拿掉第一条/及其左边的字串:dir1/dir2/dir3/my.file.txt${file##*/}:拿掉最后一条/及其左边的字串:my.file.txt${file#*.}:拿掉第一个.及其左边的字串:file.txt${file##*.}:拿掉最后一个.及其左边的字串:txt${file%/*原创 2022-06-13 18:40:50 · 296 阅读 · 0 评论 -
armlinux下Shell判断字符串包含关系的几种方法
下面是直接copy的内容: (本来是不打算copy的,但是每次用到或看的时候都要跳转,感觉挺麻烦的。就直接copy了。)方法一:利用grep查找1 strA=“long string”2 strB=“string”3 result=$(echo strA∣grep"strA | grep "strA∣grep"{strB}")4 if [[ “$result” != “” ]]5 then6 echo “包含”7 else8 echo “不包含”9 fi先打印长字符串,然后在原创 2022-06-13 18:39:36 · 157 阅读 · 0 评论 -
基于arm5718的Shell脚本参数传递的2种方法
前言平时会遇到很多脚本都有参数选项,类似:./test.sh -f config.conf -v --prefix=/home这种脚本怎么写呢?一、Shell 特殊参数解释首先来看几个特殊变量:$0, $#, $*, $@, $?, $$, $_示例1:新建一个test.sh的文件#!/bin/bashecho $0 # 当前脚本的文件名(间接运行时还包括绝对路径)。echo $n # 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1 。echo $原创 2022-06-13 18:36:27 · 211 阅读 · 0 评论 -
arm linux下的FTP初始化文件.netrc使用技巧
FTP初始化文件.netrc使用技巧FTP(文件传输)和E-mail(电子邮件)、Telnet(远程登录)一样,是Internet的三大主要功能之一。因为使用频繁,用户往往会遇到各种各样的问题,合理利用FTP命令的初始化文件.netrc,使运行FTP后自动执行某些FTP的内部命令,可有效地克服各种使用中的不便,极大地方便FTP的使用者。FTP中有几十个命令,在.netrc中应该设置的大致有如下几条:1.default loginpassword在Internet中,存在......原创 2022-06-13 18:29:21 · 933 阅读 · 0 评论 -
gstreamer开发之--- gst-inspect-1.0
这个工具有下边功能,1,罗列所有可用element类型。2,查找指定plugin的element。3,查看指定element的所有信息。This tool has three modes of operation:Without arguments, it lists all available elements types, this is, the types you can use to instantiate new elements.With a file name as an argume原创 2022-05-17 09:37:30 · 591 阅读 · 0 评论 -
gstreamer开发之--- 常用element
一、bin,这些bin在内部包含了element,但是在外部还是把它看做一个element。1、playbin:它会处理播放器从source经过解复用、解码到显示的过程,同时它也非常灵活,有很多的设置项。2、uridecodebin:从一个uri获取数据,然后解码成原始数据。二、文件输入和输出1、filesrc:读取一个本地文件然后用caps输出媒体数据2、filesink:这个element把所有收到的媒体数据存成文件,用location来指定文件名gst-launch-1.0 audiote原创 2022-05-17 08:34:27 · 524 阅读 · 0 评论 -
gStreamer 官方教程资源大全
https://blog.youkuaiyun.com/quicmous/article/details/115748391入门教程:Basic tutorials这里列一个GStreamer入门课程清单,大家按需选择吧。基础教程1:Hello world!—— 惯例性的 “Hello world” 程序基本教程2:GStreamer概念基础教程3:动态管道基础教程4:时间管理基础教程5: GUI工具包集成基础教程6:媒体格式和Pad功能基本教程7:多线程和Pad可用性基础教程8:管道短路操作原创 2022-05-07 14:14:09 · 346 阅读 · 0 评论 -
gstreamer(一)入门和概述
一.概述在音视频领域接触最多实现的方案通常是通过ffmpeg(PC和sever端居多)或者硬件厂家的的SDK实现特定硬件的编解码功能(机顶盒,电视等嵌入式设备)。这里我们介绍一个在国内不太常用的解决方案----gstreamer媒体库二.Gstreamer 的特点:gstreamer跟ffmpeg一样,也是一个媒体框架,可以实现采集,编码,解码,渲染,滤镜等一条龙的媒体解决方案。跟ffmpeg一样,也是有命令行工具进行测试验证。同时还可以通过代码框架直接封装命令来做工程开发,这一点ffmpe原创 2022-05-06 17:29:04 · 832 阅读 · 0 评论 -
【ARM-Linux开发】TI 关于Gstreamer使用的几个参考
http://processors.wiki.ti.com/index.php/Example_GStreamer_Pipelines#H.264_RTP_Streaminghttp://processors.wiki.ti.com/index.php/GStreamerYour first applicationhttps://github.com/GStreamer/gst-exampleshttps://github.com/GStreamer/gst-rtsp-server/tree原创 2022-05-06 17:28:03 · 379 阅读 · 0 评论 -
Gstreamer官方教程汇总1---Hello World
这个教程是建立在已经安装并配置好gstreamer sdk的基础上的,如果没有安装好gstreamer sdk,请参看:http://docs.gstreamer.com/display/GstSDK/Installing+the+SDK代码及操作示例将下面代码copy到一个命名为basic-tutorial-1.c的文件中。#include <gst/gst.h>int main(int argc, char *argv[]) {GstElement *pipeline;GstB原创 2021-10-26 08:17:15 · 374 阅读 · 0 评论 -
arm57xx dsp下的定时器、pwm
void setTimer2(){ //timer 2 *(unsigned int*)0x4A0034D0 = 0x7;//N6 pinmux *(unsigned int*)0x4A009738 = 0x2;//prcm *(unsigned int*)0x48032010 = 0x1;//reset while(( *(unsigned int*)0x48032010)&(0x1) )//复位成功 ...原创 2022-03-23 16:20:09 · 1034 阅读 · 0 评论 -
am5728 中断的使用
一. am5728与中断相关的知识点(参考手册)1. crossbar。由于am5728的中断数太多,难以管理,现在引入crossbar来集中管理am5728中的中断。每个crossbar的中断线对应一个中断,对应关系见手册 17.3.12,以下列出部分仅供参考2. 每个cpu核心拥有多个irq,在手册中已经编好号。比如 dsp的中断DSP1_IRQ_0等,对应关系见手册 17.33. 与中断相关的寄存器。此处以 mailbox3 的中断寄存器为例,以下列出了mailbox所有中原创 2022-03-17 08:53:47 · 515 阅读 · 0 评论 -
基于arm5718的交叉编译gstreamer移植
https://blog.youkuaiyun.com/naaaa/article/details/25132047https://blog.youkuaiyun.com/Sephoenix/article/details/5637473https://blog.youkuaiyun.com/zxr1521904712/article/details/82323185原创 2021-10-26 08:42:14 · 578 阅读 · 1 评论 -
详细的GStreamer开发教程
详细的GStreamer开发教程什么是GStreamer?GStreamer架构2.1 Media Applications2.2 Core Framework2.3 PluginsGStreamer组件3.1 Element创建一个 GstElement3.2 箱柜(bin)元件的状态3.3 衬垫(Pad)元件链接(Pad link)Pad CapabilityPad Capability for filtering精灵衬垫(ghost pad)动态衬垫( Dy原创 2021-10-25 17:39:15 · 1141 阅读 · 1 评论 -
最简单的DRM应用程序 (plane-test)
在上一篇 最简单的DRM应用程序 (page-flip)中,我们学习了drmModePageFlip()的用法。而在更早的两篇文章中,我们还学习了drmModeSetCrtc()的使用方法。但是这两个接口都只能全屏显示framebuffer的内容,如何才能在屏幕上只显示framebuffer的一部分内容呢?本篇我们将一起来学习DRM另一个重要的刷图接口:drmModeSetPlane()。在学习该函数之前,我们首先来了解一下,什么是Plane?在开篇 DRM (Direct Rendering Manag原创 2021-10-15 08:38:32 · 982 阅读 · 0 评论 -
Linux DRM Developer‘s Guide
https://landley.net/kdocs/htmldocs/drm.html#drm-kms-properties原创 2021-10-14 11:51:52 · 452 阅读 · 0 评论 -
移植USB、CH340驱动到arm板,并作测试
一、安装usbserial驱动1.获得usbserial驱动2.加载usbserial驱动二、安装ch340驱动1.获得ch340驱动源码2.编译ch340驱动源码,生成ko驱动3.加载ch340驱动三、编写程序验证驱动能否正常使用linux-arm开发板在引出USB接口的时候,可外接U盘、键鼠等USB设备。同时,单片机开发中常用CH340芯片进行TTL转USB从而连接windows下的COM口,那么linux-arm开发板如何也能像电脑一样,插入TTL转USB模块后通过USB与TTL电平通原创 2021-09-27 18:25:27 · 1237 阅读 · 0 评论 -
FTP用户权限的限制配置方法
在ftp中创建用户时,对其权限进行限定。使创建的用户只能在指定文件夹下上传文件和下载文件,这样可以加强ftp的安全性。具体操作步骤如下:<1> 创建用于ftp的帐户:#mkdir /home/ftp #创建ftp根目录#useradd -d /home/ftp -s /sbin/nologin ftpuser #创建用户(注意家目录和非登陆)#passwd ftpuser原创 2021-08-24 16:10:41 · 9712 阅读 · 0 评论 -
am57xx Demo根文件加载过程
am57xx_env根文件加载过程/etc/inittabThe default runlevel.id:5:initdefault: /默认启动级别为5/si::sysinit:/etc/init.d/rcSWhat to do in single-user mode.~~:S:wait:/sbin/sulogin/etc/init.d executes the S and K scripts upon change of runlevel.Runlevel 0 is halt;原创 2021-08-19 15:55:52 · 234 阅读 · 0 评论 -
libdrm tutorial
http://dvdhrm.wordpress.com/2012/09/13/linux-drm-mode-setting-apihttp://dvdhrm.wordpress.com/2012/12/21/advanced-drm-mode-setting-apiThe Direct Rendering Manager (DRM) is a subsystem of the linux kernel that manages access to graphics cards (GPUs). It is原创 2021-08-18 10:14:45 · 340 阅读 · 0 评论 -
基于arm5718的 DRM库libdrm移植
一、代码下载libdrm下载网址:https://dri.freedesktop.org/libdrm/libdrm-2.4.89.tar.bz2解压命令:tar -jxvf libdrm-2.4.89.tar.bz2在代码解压后,可以使用git命令创建本地git仓,方便代码管理,创建方法后续介绍。二、代码编译代码完成解压后,按如下命令编译:./configure --prefix=/opt/ --host=aarch64-linux-gnumake && make insta原创 2021-08-17 11:03:45 · 1084 阅读 · 0 评论