
arm-linux-Ubuntu
文章平均质量分 65
arm-linux-Ubuntu
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
毛毛虫的爹
这个作者很懒,什么都没留下…
展开
-
Ubuntu下v4l2采集摄像头视频
linux系统下一切皆文件,对视频设备的操作就像对文件的操作一样,使用类似读取、写入文件的方式来进行,v4l2也都是通过open()、ioctl()、read()、close()来实现对视频设备的操作。指向该缓冲区的用户空间指针。// 当 memory 为 V4L2_MEMORY_DMABUF 时,与该平面相关联的用户空间文件描述符。v4l2_format中的fmt是联合体,不同的type使用不用类型的结构体,V4L2_BUF_TYPE_VIDEO_CAPTURE使用v4l2_pix_format。原创 2024-10-09 10:00:35 · 713 阅读 · 0 评论 -
ubuntu下打开摄像头
这是一个开源的摄像头应用程序。来打开摄像头并进行简单的录制。首先确保你已经安装了。设置视频分辨率为640x480,在Ubuntu下,你可以使用。指定了使用V4L2驱动,ubuntu下打开摄像头。原创 2024-10-09 09:45:59 · 1329 阅读 · 0 评论 -
vmware下ubuntu18.04中使用笔记本的摄像头
win10系统中,在左下的搜索栏,搜索“相机”,点击进入即可打开相机,并正常显示图像。注意:如果相机连接到了虚拟机,则不能显示正常。步骤5:重新打开相机工具,可以正常显示图像。步骤1:在windows中检查相机状态。按照上述操作之后在系统中可找到设备。按照以上步骤,等待虚拟机的自动启动。步骤2:在ubuntu中连接相机。使用ubuntu自带的茄子工具,但是显示没有发现设备!步骤3:使用工具打开相机。原创 2024-10-09 09:40:54 · 807 阅读 · 0 评论 -
vc下修改txt文件中的一个数据
【代码】vc下修改txt文件中的一个数据。原创 2023-07-06 17:00:56 · 313 阅读 · 0 评论 -
C语言socket传输文件
可以传输大型文件,其基本思想为把文件名字读出来放到filename数组中,然后copy到buffer中,接着将独到的文件内容接在buffer数组中文件名称后面。然后循环读取,以后每次将独到的数据放入buffer传输。TCP服务端和TCP客户端编程,完成文件传输(客户端输入文件名,服务端接收文件数据并保存至服务端本地)此文件是在Linux系统运行的,Windows中不包含socket等头文件。关于头文件可以参考socket编程中用到的头文件。关于用到的函数可以通过查询C 语言教程。下面是客户端端的代码。原创 2023-06-29 17:09:55 · 764 阅读 · 0 评论 -
Ubuntu 18.04安装 RT-PREEMPT 实时内核及补丁【过程记录】
Ubuntu 18.04安装 RT-PREEMPT 实时内核及补丁【过程记录】1、查看当前内核版本2、下载内核和补丁3、配置内核4、编译内核5、安装 deb 包6、reboot 并验证7、参考8、给实时内核安装 nvidia 显卡驱动8.1 进入之前的非实时内核系统中查看nvidia 驱动版本号8.2 卸载 nvidia 驱动(非实时内核中)8.3 查看适配的 nvidia 版本(非实时内核中)8.4 安装推荐版本的 nvidia 驱动(非实时内核中)原创 2023-05-19 10:13:14 · 1219 阅读 · 0 评论 -
UEFI开发探索13 – 访问PCI/PCI-E设备1
从实践中知道,PCI I/O Protocol可以访问改在在主板上的所有PCI设备,而PCI Root Bridge I/O Protocol不能访问PCI to PCI桥设备。UEFI Spec中有两个protocol可以访问PCI设备,PCI Root Bridge I/O Protocol和PCI I/O Protocol。配置空间包括一系列的PCI配置寄存器,其实现位置可以在PCI配置空间中,或者IO空间,也可以直接在申请的memory空间中实现。代码中以此函数,获取所有能找到的PCI设备。原创 2023-04-23 15:48:14 · 827 阅读 · 0 评论 -
Uefi编程 检查Pcie设备是否支持ASPM功能
WritePci.c (待完善,需要保持其他寄存器值不变)对pci设备某个寄存器实现写功能。WritePci.inf文件。Aspm.inf文件。原创 2023-04-23 12:39:03 · 942 阅读 · 1 评论 -
如何在飞腾平台上安装Ubuntu操作系统
注意: 若主板上配置的是NVME硬盘,在进行内核配置时,需要将内核的NEME驱动勾选上,否则移植内核时,无法找到文件系统,进不去操作系统。可以通过rufus软件将镜像做到U盘中,本次使用版本为Rufus 3.9.124 ,其他版本也可以。不要下载live版本的,没有准备网络环境,是一个头疼的事情,笔者暂时没有实现网络安装。将U盘接到主板usb口上,接上串口,显示器,,必需串口有打印才可以安装。可以通过dd命令,将iso安装到U盘。安装的是最小系统,缺少很多命令,需要联网更新,或则更换飞腾专用内核。原创 2023-04-23 09:24:22 · 1789 阅读 · 0 评论 -
在Ubuntu18.04或者20.04下搭建edk2运行环境
4.安装OpenSSL* Crypto 库:https://github.com/openssl/openssl/archive/OpenSSL_1_1_0g.zip,下载解压至目录UDK2018\CryptoPkg\Library\OpensslLib,并命名为openssl。1.下载edk2源码https://github.com/tianocore/edk2/releases/tag/vUDK2018。也可下载最新版edk2。(最好下载Linux下的.tar.gz类型的源码文件。原创 2023-04-15 11:46:53 · 560 阅读 · 0 评论 -
Ubuntu16.04 python2.7升级python3.5
安装完成之后,你在终端中输入python,输出的信息里面会提示是2.7版本的,也就是说默认打开的并不是刚才安装好的3.5,所以还需要我们重新修改一下链接。正常情况下,你安装好ubuntu16.04版本之后,系统会自带 python2.7版本,如果需要下载新版本的python3.5,就需要进行更新。输入你的密码后会下载,刚才下载的Python程序被安装在usr/localb/python3.5 中。2.指定默认打开的是python3.5版本(你新安装的python版本)。至此,python版本更新已经完成。原创 2023-04-15 11:43:25 · 816 阅读 · 1 评论 -
Ubuntu 18.04系统中可用并行算法库的GCC-9安装
使用C++17需要gcc为7.0以上版本即可,但要使用C++ 17 STL并行算法库,必须是9.1以上版本。Ubuntu 16.04系统中使用GCC 9.1及Intel TBB库运行C++17 STL并行算法库。如果输入选项2,则会将系统默认调用的gcc版本定为9。我需要使用并行库,但gcc为7.5版本,故有此文。可以看到我这里是gcc7.5。如果还想装其他版本可参考链接。接下来TBB的安装请参考。原创 2023-04-15 11:40:31 · 1066 阅读 · 0 评论 -
UEFI 学习 - 运行第一个DXE Driver
一、 编写源代码编写C:\edkii\OvmfPkg\MyHelloWorldDXEDriver\MyHelloWorldDXEDriver.cEFI_STATUSEFIAPI1编写C:\edkii\OvmfPkg\MyHelloWorldDXEDriver\MyHelloWorldDXEDriver.inf[Defines][Sources][Packages]BaseLibDebugLib。原创 2023-03-07 20:09:55 · 708 阅读 · 0 评论 -
udk2017-EDK2设备驱动模型
在BDS阶段要把所有的Device值都初始化好,启动加载的Driver,让相应的Driver对Device进行管理。比如说我们系统中要实现一个AC97音频驱动,那么可能会有两个UEFI Driver,一个是PCI驱动(Bus Driver),一个是AC97音频驱动(Device Driver)提供音频操作的函数,那么我们可以认为PCI驱动(Bus Driver)是AC97音频驱动(Device Driver)的Controller控制器,而AC97音频驱动的实现依赖PCI驱动。原创 2023-03-06 14:38:28 · 394 阅读 · 1 评论 -
udk2017环境搭建编译步骤
1.参考minnowboard-max-rel-1-01-bin-releasenotes-for-binary-firmware-images.TXT。5.安装 python-2.7.10.amd64.msi,iasl-win-20160527.zip,nasm-2.12.02-win64.zip。7.设置环境变量OPENSSL_PATH C:\Openssl。3.复制ASL,NASM 到c:\。win10 64bit系统。编译:vs2015 cmd。原创 2023-03-04 08:46:55 · 562 阅读 · 0 评论 -
UDK2018 来了----常见编译问题
就是说,在编译过程中 GenFds在访问 build.db 的时候会出现问题。要求 VS2015(我实验用VS2013编译没问题,但是为了避免后续碰到奇怪的问题,建议老老实实用 VS2015)、NASM 2.12.01、Python2.7.x、Openssl (这个应该是第一次正式提出来作为要求,但是实验表明如果只使用 Nt32那么是完全无需安装的)仔细观察得知执行的 GenFds 是位于\BaseTools\Bin\Win32下面的GenFds.exe,这是Python编译生成的 EXE。原创 2023-03-04 08:26:59 · 549 阅读 · 1 评论 -
BIOS编译(e3845):MinnowBoard Max/Turbot 1.01 UEFI Firmware
【代码】BIOS编译(e3845):MinnowBoard Max/Turbot 1.01 UEFI Firmware。原创 2023-03-02 10:25:33 · 634 阅读 · 0 评论 -
【FT2000/4+X100】调试记录2--如何让生成X100固件
订阅专栏硬件环境FT2000/4+X100,单板结构,对外显示,运行银行麒麟操作系统。原创 2023-02-16 15:59:00 · 726 阅读 · 1 评论 -
【FT2000/4+X100】调试记录
订阅专栏硬件环境FT2000/4+X100,单板结构,对外显示,运行银行麒麟操作系统。原创 2023-02-16 15:57:40 · 1123 阅读 · 1 评论 -
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 · 571 阅读 · 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 评论 -
基于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官方教程汇总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 评论 -
最简单的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 评论 -
基于arm5718【ARM-Linux开发】DRM学习(一)
Table of ContentsIntroduction 2. DRM InternalsDriver InitializationDriver Information Driver LoadMemory managementThe Translation Table Manager (TTM) The Graphics Execution Manager (GEM)Mode SettingFrame Buffer Creation Output Polling LockingKMS I原创 2021-08-13 09:26:09 · 472 阅读 · 0 评论 -
基于am5718的【ARM-Linux开发】wayland和weston的介绍
简单地说,Wayland是一套display server(Wayland compositor)与client间的通信协议,而Weston是Wayland compositor的参考实现。其官网为http://wayland.freedesktop.org/。它们定位于在Linux上替换X图形系统。X图形系统经历了30年左右的发展,其设计在今天看来已略显陈旧。在X系统中,X Server作为中心服务,连接clien和硬件以及compositor。但时至今日,原本在X Server中做的事很多已被移到ker原创 2021-08-13 09:24:52 · 678 阅读 · 0 评论 -
Linux下使用C语言和libusb开发USB HID
玩转USB系列:Linux下使用C语言和libusb开发USB HID实验环境开发步骤安装libusb试试好用否我们来与HID设备通讯!探索、学习与注意:1.&ctx是个什么鬼2.print_devs(devs)->print_devs(&devs);3.操作端口这类程序加上sudo !4.libusb_interrupt_transfer这个函数是write和read一体的!5.找不到函数报错的时候别急查网上,把头文件打开搜索一下更管用!6.终端清屏指令实验原创 2021-08-11 19:52:26 · 940 阅读 · 0 评论 -
解决centos7中普通用户无权限访问串口设备问题
有两种方法:第一种:添加串口设备访问规则以root身份执行:vim /etc/udev/rules.d/70-ttyusb.rules内容为:KERNEL==“ttyUSB[0-9]*”,MODE=“0666”注意:内容里边的双引号不能丢,否则不会生效此方法有两个弊端:1.该方法会让所有的普通用户都具有访问这些串口设备的权限,存在一定的安全隐患2.加入此规则后,必须拔掉设备重新插入,此规则才可生效第二种:将目标用户添加至dialout用户组因tty设备隶属于dialout用户组,所以将原创 2021-08-11 10:58:04 · 1265 阅读 · 0 评论 -
CentOS7 systemctl添加自定义系统服务
版权[Service]Type=forkingExecStart=绝对路径ExecStop=绝对路径ExecReload=绝对路径以上最精简版,文件/usr/lib/systemd/system/服务.service配置文件目录systemctl脚本目录:/usr/lib/systemd/系统服务目录:/usr/lib/systemd/system/用户服务目录:/usr/lib/systemd/user/原理:CentOS7自定义系统服务CentOS7的服务systemctl脚本原创 2021-08-10 19:19:18 · 487 阅读 · 0 评论 -
CentOS7 CentOS7下创建应用程序的桌面快捷方式
1、进入/usr/share/applications目录cd /usr/share/applications2、以eclipse为例:创建eclipse.desktop文件vi eclipse.desktop3、添加数据[ Desktop Entry ]Type=ApplicationName=eclipseExec=/home/software/eclipse/eclipse (注:要创建快捷方式的程序文件地址)GenericName=eclipseComment=Java deve原创 2021-08-10 18:34:41 · 1303 阅读 · 0 评论