Linux
文章平均质量分 55
StarLish0715
以后,没有结果的事,就不开始了。
展开
-
使用板载RTC定时开机
原创文章,转载引用务必注明链接。水平有限,欢迎指正。2016年3月30日 Lemuntu(Base On Jessie) 3.10.37原载于Lemaker论坛。汇总于此。看ATC2603C手册的时候发现其内置硬件时钟(Real Time Clock,RTC),并且提供alarm功能,用于把设备从低功耗状态唤醒。7.2.5章节提到,PMU提供4种省电模式,且支持多种唤醒方式,包括按键、GPIO、RTC ALARM、红外线IR等,其中RTC ALARM可在S4深度睡眠状态唤醒设备。转载 2024-01-09 15:59:26 · 209 阅读 · 0 评论 -
BitBake使用攻略
用于指定开源组件包(tar、git等)下载的存放路径,位于编译目标层的conf/local.conf.sample文件中(如有需要可在此文件中修改),这个文件将被解析到build/conf/local.conf文件中,默认情况下该变量指定的目录为build/downloads/,如果多用户在一台编译机器上使用,可以指定一个公共目录,避免重复下载,比如DL_DIR? 构建系统do_image根据需要动态生成支持的 do_image_* 任务,生成的任务类型取决于IMAGE_FSTYPES变量。转载 2023-12-04 10:21:44 · 612 阅读 · 0 评论 -
嵌入式Linux设置开机自动运行程序(基于BusyBox init)
在使用的嵌入式Linux系统中设置开机自动运行程序并不复杂,只要了解其脚本调用流程基本就可以了。转载 2023-11-16 15:34:33 · 943 阅读 · 0 评论 -
关于NAND FLASH调试的一点总结
因为你要通讯,就需要通讯的电压,时序,甚至接口命令,这些都随着不同厂商,不同制程技术而不同,你作为手机制造商或者soc厂商,想要把每种新的 nandflash 集成到你的产品中,就要根据这些新的特性来花时间设计。10.如果 main 区域的 ecc 校验码字节数比较多,并且 spare 区域足够大的话,可以对存放在 spare 区域里的 main ecc校验码进行二次 ecc,这时生成的 ecc 校验码我将其称为 spare ecc,它一般会存放在spare区域的末尾,并不是必须的;转载 2023-05-04 12:23:10 · 711 阅读 · 0 评论 -
基于Linux下的Nand (Nor) Flash读写速度测试
找到我们需要的mtd_speedtest.ko文件,当然还有其他的一些测试文件,都可以使用。当前用了mtd_speedtest.ko来进行读写速度测试。(1)dev=4指的是当前的mtdblock4所挂在的MTD设备,例如当前使用的是nor flash的MTD分区4。将mtd_speedtest.ko文件通过ftp、tftp或者nfs的方式添加到板子上,使用一下命令即可。(2)count=1000指的是循环测试的次数。转载 2023-04-25 17:07:05 · 1335 阅读 · 0 评论 -
linux CTRL+C停止线程后释放资源
如果按ctrl+c时未做一些处理 ,可能会造成一些资源未释放,比如网络端口被占用。// ctrl+c退出时执行的代码。转载 2023-04-24 12:03:59 · 537 阅读 · 0 评论 -
android测试之getevent/sendevent
首先,adb shell进入android设备,运行getevent命令得到如下信息,为各类事件的驱动设备,每部。一次touch此8行是必须的,如果是longTouch呢,在touch的基础上,重复若干次第2~6行,即看起。值得注意的是使用getevent获取的数值都是16进制的,而sendevent使用的是10进制的,需要进行。如果是drag呢,在longTouch的基础上,xy坐标从起点到终点是渐变的,其他可认为一样。EV_ABS ABS_MT_PRESSURE 00000070转载 2023-04-24 09:45:01 · 694 阅读 · 0 评论 -
最简单的 DRM 应用 & drm设备不工作
为了获取 drm 启动过程中的更多信息,在 uboot 的 bootargs 中加入 drm.debug=0x1f debug ,让内核打印 drm 的更多信息。其次是检查内核是否开启了相关的驱动,这里使用的是 lichepi nano,依赖的驱动是 SUN4I 系列的驱动。内核没有再去挂载 /panel 节点了,不过 drm 的启动还是没有成功。在设备升级新版内核后,发现没有 fb0 设备,开机没有打印 drm 相关的信息。中说的内容,将 .has_channel_1 屏蔽掉,drm 正常工作了。转载 2023-03-14 10:28:49 · 616 阅读 · 0 评论 -
《DRM 专栏》| 彻底入门 DRM 驱动
helper 函数的作用:drm_xxx_funcs 是 drm ioctl 操作的最终入口,但是对于大多数 SoC 厂商来说,它们的 drm_xxx_funcs 操作流程基本相同,只是在寄存器配置上存在差异,因此开发者们将那些 common 的操作流程做成了 helper 函数,而将那些厂商差异化的代码放到了 drm_xxx_helper_funcs 中去,由 SoC 厂商自己实现。5T技术资源大放送!包括但不限于:C/C++,Arm, Linux,Android,人工智能,单片机,树莓派,等等。转载 2023-03-13 23:48:51 · 2422 阅读 · 0 评论 -
【DRM】DRM Display Driver Guide
显示子系统是显示输出相关软件硬件的统称,它包括VOP 和 RGB 、BT1120、BT656、I8080、LVDS、MIPI DSI、EDP、DP、HDMI等显示信号输出以及与之对应的软件驱动。显示子系统硬件架构图之 VOP1.0 显示系统架构显示子系统硬件架构图之 VOP2.0 显示系统架构。转载 2023-03-13 23:28:06 · 2396 阅读 · 0 评论 -
Linux驱动开发系列:DRM(第十部分)
DRM,全称Direct Rending Manger。是目前Linux主流的图形显示框架。相比较传统的Framebuffer,DRM更能适应现代硬件。支持GPU、3D渲染显示等。DRM可以统一管理GPU、Display驱动,使得软件架构更统一、方便开发和维护。本文只介绍Display相关内容,GPU相关的,博主也不懂,无能为力,等以后学到相关的再来更新。从模块上划分,DRM可以分为三个部分:libdrm、KMS、GEM。l图1 DRM框架。转载 2023-03-13 23:03:22 · 2145 阅读 · 0 评论 -
DBUS入门与C编程
D-Bus最主要的用途是在 Linux 桌面环境为进程提供通信,同时能将 Linux 桌面环境和 Linux 内核事件作为消息传递到进程。D-Bus(其中D原先是代表桌面“Desktop” 的意思),即:用于桌面操作系统的通信总线。D-Bus的主要概念为总线,注册后的进程可通过总线接收或传递消息,进程也可注册后等待内核事件响应,例如等待网络状态的转变或者计算机发出关机指令。D-Bus是为Linux系统开发的进程间通信。转载 2023-02-15 19:54:36 · 1118 阅读 · 0 评论 -
C语言获取wifi状态
获取wifi连接状态ioctl(sockfd, SIOCGIWSTATS, &iwr),SIOCGIWSTATS有的平台不支持。理论上getWirelessStatus函数返回的ssid和ipAddr都不为NULL表示wifi连接成功。转载 2023-02-15 14:06:35 · 398 阅读 · 0 评论 -
【华为Hilink SDK Linux系统开发】第三章:华为hilink SDK Linux系统网关适配
位置:hilink-sdk-src/adapter/network_adapter/hilink_network_adapter.c。位置:hilink-sdk-src/adapter/network_adapter/hilink_network_adapter.c。位置:hilink-sdk-src/adapter/sdk_adapter/hilink_sdk_adapter.c。位置:hilink-sdk-src/adapter/sdk_adapter/hilink_sdk_adapter.c。转载 2023-02-14 22:42:07 · 446 阅读 · 0 评论 -
Linux 获取本机IP、MAC地址用法大全
ifaddrs结构体定义如下:1structifaddrs23struct/**/4char*ifa_name;转载 2023-02-14 22:41:05 · 1724 阅读 · 0 评论 -
linux 测试麦克风
如果你的系统有 /proc/asound/cards 路径,说明 ALSA 驱动已经使用上,可查看 sound devices:0[Intel也可以用 arecord 和 aplay 工具.其中 arecord 查看 microphone (capture or input device):[HDA IntelSubdevices: 1/1Subdeviceaplay 查看 speaker (output device) :$ aplay -l[HDA Intel。转载 2023-02-13 22:45:05 · 1210 阅读 · 0 评论 -
wpa_supplicant详解
在 wpa_supplicant中,有许多与外界通信的socket,它们都是需要注册到eloop event模块中的,具体地说,就是在eloop_sock_table中增加一项记录,其中包括了sock_fd, handle, eloop_data, user_data。a.因为wpa_supplicant是与网络接口对应的重要的数据结构,所以,首先分配一个wpa_supplicant数据结构的内存。g.调用wpa_supplicant_dbus_ctrl_iface_init函数初始化dbus 控制接口。转载 2023-02-13 11:15:19 · 839 阅读 · 0 评论 -
wpa_supplicant使用
wpa_supplicant是一个连接、配置WIFI的工具,它主要包含wpa_supplicant与wpa_cli两个程序。wpa_supplicant是服务端,wap_cli是客户端,一般情况下使用wpa_cli就可以操作WiFi。但是它不支持所有的驱动,可以浏览wpa_supplicant网站获得它所支持的驱动列表。另外,wpa_supplicant目前只能连接到那些你已经配置好SSID的无线网络,也就是使用前需要配置好wpa_supplicant的配置文件wpa_supplicant.conf。转载 2023-02-13 11:12:00 · 1181 阅读 · 0 评论 -
python3 pip3 安装包报错 Could not find a version that satisfies the requirement 解决方法
pip3 镜像源参考 :《python3 pip 更换国内 pypi 镜像 源》原因:pip3 镜像源问题 更换镜像源 ,当前使用的镜像源。转载 2023-02-12 03:47:23 · 6080 阅读 · 0 评论 -
ARM平台上蓝牙协议栈Bluez的移植使用和配置
蓝牙(Bluetooth),或称为蓝芽,是一种新式的无线传送协议,最初由爱立信创制,后来由蓝牙特别兴趣组订定技术标准。据说因为此技术尚在萌芽的阶段,故将Bluetooth以“蓝牙”的中文译名在台湾地区进行商业的注册,不过根据英文本身的意义直译,还是“蓝牙”较为贴切。蓝牙用于在不同的设备之间进行无线连接,例如连接计算机和外围设施,如:打印机、键盘等,又或让个人数字助理(PDA)与其它附近的PDA或计算机进行通信。目前市面上具备蓝牙技术的手机选择非常丰富,可以连接到计算机、PDA甚至连接到免提听筒。转载 2023-02-10 14:00:03 · 905 阅读 · 0 评论 -
cmake和makefile区别和cmake指定编译器(cmake -G)
其实很多公司和项目就是直接使用make的,但make代码规则严格,语法过于复杂,在做跨平台和跨编译器时的管理更加复杂,移植到不同环境的成本过大。首先cmake是项目构建生成工具,cmake的代码可以与平台系统和编译器无关。makefile 可以理解为是make工具使用的代码,make读取makefile中的配置信息来实现编译、链接和部署。工具” 只是使用这些工具其实就能够编译出所有的目标,但由于命令过于复杂,编译的流程不好控制。也就是说cmake是用来生成makefile和其他项目生成工具配置的。转载 2023-02-02 14:33:58 · 633 阅读 · 1 评论 -
OTA升级的实现原理及核心流程
在升级的时候,新固件在后台悄悄下载,即新固件下载属于应用程序功能的一部分,在新固件下载过程中,应用可以正常使用,也就是说整个下载过程对用户来说是无感的,下载完成后,系统再跳到BootLoader程序,由BootLoader完成新固件覆盖老固件的操作。升级的时候,进入bootloader程序后先擦除老固件,然后直接把新固件下载到同一个bank中,下载完成后校验新固件的有效性,新固件有效升级完成,否则要求重来。A给B发送消息,A先计算出消息的消息摘要,然后使用自己的私钥加密消息摘要,被加密的消息摘要就是签名。转载 2023-01-17 22:57:39 · 2047 阅读 · 0 评论 -
Ubuntu 修改默认启动内核(kernel)
随着我们的系统不断跟新,内核存在多个版本。grub默认选择菜单第一个,对应的时 内核和 initrd。有时需要在多个版本内核和 initrd之间切换,手动修改 /boot/grub/grub.cfg是可以,但是官方建议修改 /etc/grub/default 配置文件正确的修改方法时修改 /etc/grub/default文件的 GRUB_DEFAULT变量。转载 2022-10-30 22:42:58 · 4911 阅读 · 0 评论 -
Ubuntu18配置CUDA10.2 cudnn8.0.1(cuda_10.2.run格式+cudnn-10.2-linux-x64-v8.0.1.13.tgz格式)
将改好名字的压缩包复制到主目录下,输入以下命令进行解压,会得到一个cuda的文件夹。3.发现nvidia-driver-470是推荐的显卡驱动,所以输入以下命令。下载后,文件出现在下载里,我在下载解压的时候出现无法提取到此处,把文件名改为。3.检查是否安装成功,输入以下代码,结果如图所示,则代表安装成功。4.重启电脑,输入以下命令,如图所示则代表安装成功。,选择cudnn8.0.5,没有账号须注册才能下载。最后更新一下环境变量,使软连接生效。若如下图所示,则代表安装成功。2.进入终端,分别输入。转载 2022-10-29 16:27:12 · 788 阅读 · 0 评论 -
ubuntu20.04关闭自动休眠模式
原文链接https。转载 2022-07-21 10:45:05 · 979 阅读 · 0 评论 -
Error response from daemon: conflict: unable to delete (must be forced) - image is(镜像删除)
https://blog.csdn.net/qq_16613311/article/details/118083425 执行docker rmi f6b4c8fe4763删除镜像时, Error response from daemon: conflict: un转载 2021-10-30 12:41:56 · 1350 阅读 · 2 评论 -
Ubuntu18.04文件夹创建桌面快捷方式
ln -s /home/CZH.BSHG.COM/extkang/proj/product.avg/ Desktop/product.avg转载 2021-08-16 14:00:57 · 440 阅读 · 0 评论 -
Linux下程序的Profiling工具-性能测试工具GNU gprof
Linux下程序的Profiling工具http://blog.chinaunix.net/uid-128922-id-289972.html 我们在写程序,特别是嵌入式程序的时候,通常需要对程序的性能进行分析,以便程序能够更快更好地运行,达到实时(real-time)的目的。如果程序很 大,分析起来就很困难。如果有个工具能够自动进行程序的性能分析,那就最好了。这里介绍一种Linux下程序的Profiling工具--- GNU gprof。GNU gprof能够打印出程序运行中各个函数消耗转载 2021-06-17 11:24:39 · 2234 阅读 · 0 评论 -
通用的简易Makefile模板
APPS:= XXX_appCC:= /opt/proj/EMO/tool/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++srcs:= *.call:$(srcs)$(CC) $(srcs) -o $(APPS)clean:rm $(APPS)原创 2021-04-27 18:46:31 · 170 阅读 · 0 评论 -
GPS的NMEA数据解析
https://blog.csdn.net/zhandoushi1982/article/details/7947682?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242 &nbs转载 2021-04-25 17:19:31 · 1024 阅读 · 0 评论 -
第8章 USB-4G/LTE移植 -第3节 USB-4G移植(移远AG35开发-GPS解析及编程)
https://www.freesion.com/article/782811047/查看参考手册,移远带有GPS的芯片的USB Serial如下。 2.1应用简介1、若不使用 AT+QGPSCFG 指令对AG35进行配置,则会以默认参数开启GPS参数,NMEA端口开始上报,”gpsnmeatype”默认值为31,上报间隔为1s,每次上报所有种类的NMEA数据(GGA\RMC\GSV\GSA\VTG),若采用此默认配置,大多数使用者会觉得单次上报的数据太多且很多信息重复,建议大家使用QGPSCFG转载 2021-04-25 17:17:25 · 1793 阅读 · 0 评论 -
移远EC20 4G模块Linux驱动移植和测试
https://blog.csdn.net/u011728480/article/details/78588827 #PS:要转载请注明出处,本人版权所有 #PS:这个只是 《 我自己 》理解,如果和你的 #原则相冲突,请谅解,勿喷 EC20简介 EC20是一个全网通的4G模块,并提供了详细的驱动移植资料(源码+文档),我也仅仅是照着文档,一点点的改,并建立起来一个可用的环境。 EC20驱动移植准备 1 首先你会从厂家拿到一个资料文件,并解压(类似Quectel_GobiNetS转载 2021-04-25 15:03:10 · 1571 阅读 · 0 评论 -
迅为干货 | Linux系统移远EC20 4G模块移植方法
硬件平台:迅为i.MX6Q开发板 1. 4G网络连接 对于嵌入式Linux而言,4G网络连接是一个比较容易实现的功能,大多数的4G模块接口都是MiniPCIE接口,但是深入了解一下就会发现,4G模块的通信接口都是USB,所以4G模块的驱动就是USB驱动,只要USB驱动正常,4G模块在硬件上就能正常通信。下面看一下4G模块的硬件原理图: 在原理图中,U25是4G模块的MiniPCIE接口,然后通信引脚会接到U15的HUB芯片上,所以4G模块会被识别成USB设备,CON5是SIM卡接口,在使用4G模转载 2021-04-25 15:00:06 · 1756 阅读 · 1 评论 -
EC20模块GPS功能的使用
https://blog.csdn.net/u011195662/article/details/78624977/前言: EC20是移远一款带有GPS功能的LTE模块,本文主要讲述此模块GPS功能的基本使用方法,更多详细的指令操作细节、参数、示例可参考官网提供的手册: Quectel_EC20_GNSS_AT_Commands_Manual_V1.1 端口说明: EC20挂载系统成功后,在Windows环境下会有三个com口,分别为AT Port、DM P转载 2021-04-25 14:58:05 · 4461 阅读 · 0 评论 -
linux下多文件编译
https://blog.csdn.net/tianba8/article/details/8778899 1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们以一个实例来说明如何使用gcc编译器. 假设我们有下面一个非常简单的源程序(hello.c): int main(int argc,char **argv) {转载 2021-04-24 12:08:43 · 355 阅读 · 0 评论 -
linux下make以及makefile(一)
https://blog.csdn.net/wangqingchuan92/article/details/92832544 0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解; 如果在文章中发现代码错误或其它问题请告知,感谢! 0x01make转载 2021-04-24 12:07:59 · 273 阅读 · 0 评论 -
Linux CAN 编程详解
https://blog.csdn.net/ppdyhappy/article/details/79458458 转自:http://velep.com/archives/1181.html《Linux CAN编程详解》是一篇百度文库上的文档,主要描述了以下内容:can总线介绍及其帧类型;Linux 系统中CAN 接口配置;Linux 系统中CAN 接口应用程序开发;Linux 系统中CAN转载 2021-04-24 11:55:51 · 392 阅读 · 0 评论 -
[自学笔记] linux CAN通信学习笔记(一)功能实现(自发自收)
https://www.uisrc.com/forum.php?mod=viewthread&tid=2902 本帖最后由 ぉ沙皮狗的忧伤 于 2020-4-8 16:44 编辑 (一)、先看原理图<ignore_js_op>截图202004031725412299..png (95.73 KB, 下载次数: 100)下载附件 保存到相册2020-4-3 17:25 上传</ignore_js_op><ignore_js_转载 2021-04-24 11:51:05 · 1384 阅读 · 0 评论 -
CAN总线数据帧/标准帧/扩展帧/远程帧/错误帧的组成格式对比
https://blog.csdn.net/LEON1741/article/details/106199142/ 最近在研究CAN总线的驱动,需要详细了解数据帧/标准帧/扩展帧/远程帧/错误帧这几种帧的详细组成格式,于是收集了一下,统一放在这里进行对比和记录,以便日后需要时查阅。 1、数据帧-标准帧 CAN 标准数据帧如下图所示转载 2021-04-24 11:08:01 · 6357 阅读 · 1 评论 -
快速定位内存泄漏的套路(linux)
https://blog.csdn.net/xieyihua1994/article/details/105248362/ 背景偶然间发现一个模块挂掉了,并且没转载 2020-08-31 16:24:55 · 462 阅读 · 0 评论