
linux
文章平均质量分 69
大智兄
嵌入式开发,讲师
展开
-
120.龙芯2k1000-qt(19)-做了一个qt测试界面
以下是windows下的截图,大概功能就是这样吧,能想到的都想了一遍。主要接口和性能测试,主要针对的是龙芯2k1000.cpu的温度和频率采集不到,就没有放了。原创 2024-03-27 20:27:58 · 275 阅读 · 0 评论 -
119.龙芯2k1000-pmon(18)-全自动安装linux系统
由它完成: /home/dazhi/program_pmon_ls2k1000 -e /home/dazhi/normal_env.bin就是把append再次还原再次启动,就会引导硬盘中的文件系统了。原创 2024-03-12 15:58:22 · 1408 阅读 · 0 评论 -
118.龙芯2k1000-pmon(17)-制作ramdisk
目前手上这个设备装系统不容易,总是需要借助虚拟机才能实现。对生产就不太那么友好,能否不用虚拟机就能装Linux系统呢?主要是文件系统的问题需要解决,平时我们一般是用nfs挂载后,然后对硬盘格式化,之后再把文件系统解压到硬盘中,这个过程就必须借助虚拟机,而且还要求虚拟机的nfs和网络必须正常好用。这次我就想到了ramdisk,如果借助ramdisk,那么是否就可以脱离掉虚拟机,用几个命令是否就可以把系统装好呢?好,那么首先得有一个ramdisk才行。没有找到现成的,那就自己做吧。原创 2024-03-08 17:22:54 · 1231 阅读 · 0 评论 -
110.firefly-overlayroot
折腾rk3399的开发板的时候,突然发现overlayroot这个词汇。我移植一下linux5.10的内核到firefly3399开发板,结果启动之后文件系统提示只读!!!这就让我很莫名。后来看到mount文件系统的情况,感觉也是不可思议。百度了一下overlayroot,觉得这个确实还是很不错的功能,尤其是对于嵌入式。整个文件系统是只读,当开始使用的时候,他所有的数据都保存在另一个分区中/userdata目录下。原创 2023-11-20 16:03:33 · 955 阅读 · 2 评论 -
109.firefly-extboot的生成脚本
我在这个脚本中截取extboot的生成部分,自己建立一个sh文件,放在kernel目录中。在firefly的sdk 2.5.1c及以后的版本都是extboot.img(对应表中的extboot)对于sdk 2.5.1c及以后的版本,sdk直接提供命令,build.sh extboot 即可完成。但是之前的并不是,而且一个boot.img,(对应表中rkboot)只要内核编译过,dtb文件也是正确的,自动生成是没啥问题啦。前提也是内核自己编译成功的情况下哈!1.修改自己的dts文件名称!原创 2023-11-20 10:36:54 · 693 阅读 · 0 评论 -
107.am40刷机折腾记3-firefly镜像的烧写
1. 平台: rk3399 am40 4g+32g2. 内核:firefly的内核(整体镜像)3. 交叉编译工具 :暂时不编译4. 宿主机:ubuntu18.045. 需要的素材和资料:准备的情况:1.am40开发板2.ttl的usb转串口,波特率是1500000.3.12V电源输入4. 两个公头的usb 的线(能插电脑的普通的usb接口)5. RKDevTool_Release_v2.81(版本可以不同)+DriverAssitant_v4.5.zip。原创 2023-11-13 16:19:10 · 3739 阅读 · 2 评论 -
106.am40刷机(linux)折腾记2-前期的准备工作2-软件使用
那么在调试的时候,可以任意的调整Image或者resource.img文件,去验证自己的内核或者dtb文件的正确性。 比如:正常的Image+待验证的dtb,可以验证dtb是否正常 正常的dtb+待验证的Image,看看自己内核的配置是否正常,驱动是否正常?原创 2023-11-13 14:34:33 · 2832 阅读 · 0 评论 -
105.am40刷机(linux)折腾记1-前期的准备工作1
基本接口:HDMI接口 2个 (一个cpu自带的(尾部),一个是dp转的,目前内核没有驱动起来)千兆网卡 1个usb3.0 接口 2个双频wifi+蓝牙有一个tf卡槽,可用usb2.0 4个串口 4个。原创 2023-11-10 15:04:59 · 5537 阅读 · 3 评论 -
103.linux5.15.198 编译 firefly-rk3399(2)
1. 平台: rk3399 firefly 2g+16g2. 内核:linux5.15.136 (从内核镜像网站下载)3. 交叉编译工具 gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)4. 宿主机:ubuntu18.045. 需要的素材和资料:链接: https://pan.baidu.com/s/1vUW0wKibbjkXoiHFwhJCsQ?原创 2023-10-27 08:58:42 · 1632 阅读 · 0 评论 -
101.linux驱动(非ko)加载需要固件的一个小问题
2.1 开始一直是在想应该放在哪个目录才能加载呢?其实方向错了,那个时间点,文件系统还没有挂载,放哪都找不到2.2 对于Direct firmware load forxxxxxxxfailed with error -2 这种类似的错误,应该都可以用这个方法解决。2.3 cdn-dp的问题没有解决,驱动是成功加载了bin文件,但是依然是不能显示,待查吧。原创 2023-10-26 09:40:44 · 1135 阅读 · 3 评论 -
2.输入子系统学习-multi-touch-protocol-2023.02
用户空间可以通过注意到最大的支持BTN_TOOL_*TAP事件大于ABS_MT_SLOT轴的absinfo中报告的B类插槽的总数,检测到驱动程序可以报告比插槽更多的总触点。触摸区域(a)的中心是ABS_MT_POSITION_X/Y, 接近手指(b)的中心为ABS_MT_TOOL_X/Y。对于基于压力的装置,ABS_MT_PRESSURE可用于提供接触区域上的压力。如果设备支持,则ABS_MT_TOUCH_MAJOR和ABS_MT_WIDTH_MAJO可分别用于提供接触区域的大小和逼近工具。原创 2023-02-15 17:25:35 · 676 阅读 · 0 评论 -
1.输入子系统学习-struct input_dev-2023.02
内核版本:4.4.194平台相关:rk3399目前主要是看的触摸屏的代码。原创 2023-02-14 15:24:40 · 4149 阅读 · 0 评论 -
rk3399-SiS92XX series I2C Touchscreen 驱动
打开#define _DEBUG_REPORT 可以看到触摸上报的数据!特别说明一下,我的触摸屏的坐标进行了调整,请按实际情况进行适配。rk3399 上触摸屏已经能够正常使用了。主要是驱动文件的一个备份。原创 2023-02-07 15:13:34 · 564 阅读 · 0 评论 -
3399的-mipi适应多个lcd屏显示-后续2-linux内核中的修改
/接收uboot的参数 2022-12-02 zz//用于xx屏幕显示{return 1;}解析出屏的类型。原创 2022-12-14 20:21:29 · 776 阅读 · 0 评论 -
rk3399触摸屏驱动 sis
3.1driver/input/touchscreen/sis_i2c.c 文件。3.2driver/input/touchscreen/sis_i2c.h 文件。触摸屏:iic+外部中断引脚,sis,sis_touch。内核: linux4.4.19。主cpu:rk3399。原创 2022-12-12 10:16:36 · 939 阅读 · 0 评论 -
3399的一个小需求-mipi适应多个lcd屏显示
最近遇到一个问题,做了一个3399的板子,这个板子引出了一个mipi显示接口,然而,这个接口呢又需要连接不同的屏幕,比如一个5寸的,一个7寸的。我看到初始化序列,我想着能不能用初始化序列的办法,反过来读取数据呢?然而,内核直接崩了,(可能原因是不能读,或者我的方法(也是百度的)有问题)这不是难坏了我,百度了一圈,也没看到个解决方法,毕竟我对这块也不是很熟悉。客户觉得这样不便于维护,一定要我弄成一个版本,自动完成识别显示功能。软件到我手上的时候,就是分成连个内核,一个用于5寸,一个用于7寸。原创 2022-12-08 16:52:38 · 523 阅读 · 0 评论 -
firefly3399 移植linux5.15.80 - 2022-11-27
需要注意的是,虚拟机需要足够的硬盘空间,不小于15GB!!原创 2022-11-27 15:20:34 · 1816 阅读 · 3 评论 -
firefly3399专题1-uboot2022.10的移植
4.1 以上步骤只是记录我移植的过程,中间的原理没有关注,只能是说移植的步骤基本完成,但是实际每个人每个虚拟机遇到的问题应该会有差异,建议百度解决。4.2 基本还算是比较顺利,花时2小时左右吧.4.3 有什么问题也欢迎私信我讨论,但是我本人技术也很渣啦,不一定能帮大家解决。原创 2022-11-27 11:14:06 · 1506 阅读 · 3 评论 -
同名函数惹的祸
4.再次确认段错误的问题,发现msgq_send这个地址比较小,与main是比较接近的,而我的库函数(drvCoreBoardInit)的地址是大很多的,明显msgq_send不是我的库函数提供的。一看,果然是我的msgq_send出现了问题,我看了一下我的代码,这是系统提供的消息队列,怎么就出现了段错误?1. 因工作需要,我在项目中要提供一套api给客户使用,我封装为libxxx.so的形式,客户使用我提供的接口。十一期间,客户找我,给我截图说是,我提供的库函数初始化函数出现了段错误。原创 2022-10-09 14:57:59 · 404 阅读 · 0 评论 -
Linux下PIPE和FORK使用需要注意的一个问题
1. linux系统,有父子进程,本案例中,一个父进程,三个子进程。2.子进程都要使用管道与父进程通信,父进程收到的终端数据,分别通过管道(pipe)发送给3个子进程,子进程(3个)收到数据后,通过(另一个)管道(pipe)将数据(原封)发送给父进程,父进程读出管道的数据,打印到终端。3.正常情况下,管道应该是6个,父进程与3个子进程之间分别有两个管道。原创 2022-10-07 10:02:27 · 814 阅读 · 0 评论 -
linux进程间通信之msgq
这次项目中关于进程间通信的部分我一般都采用了msgq,一般信息数据量都不是很大。原创 2022-09-22 17:17:13 · 1539 阅读 · 0 评论 -
linux c 自定义记录日志文件
** 后台服务程序日志文件。* 1. 只需要调用log_init()即可* 2. 注意日志写的路径的权限问题* */使用线程和定时器完成。原创 2022-09-22 16:15:28 · 1359 阅读 · 0 评论 -
在Linux下如何实现禁止运行该程序多次?
5.2 server端,收到api的含有pid消息后,首先判断全局变量api_pid记录的进程在系统中是否存在,不存在则记录下刚刚收到的pid数据,并且给api返回0,表示允许刚刚的api进程启动。4. 使用文件锁(临时文件,空文件)的方式,实验失败,比如意外终止进程(ctrl+c)的情况下,文件锁似乎就没有成功解锁,导致想再次运行的时候就无法启动,总是提示已存在进程,实际是无法给对应的文件加锁而导致的,处理的方法则必须手动删除上锁文件,才能再次运行该程序。判断系统中是否存在某个pid的进程。...原创 2022-08-30 16:30:36 · 1112 阅读 · 0 评论 -
linux 下网络自动设置(去除)ip的问题的解决
最近遇到一点问题,就是linux下的ip问题,明明用ifconfig设置了一个临时ip地址,但是没用着两分钟,ip就自动失效了,又导致了一些麻烦,尤其是nfs的时候,突然因为断线而卡死了。这种问题出现的一般前提1.linux开发板网络连接了,但是对方没有dhcp服务。2.使用systemctl来维护系统3.使用手动设置的ip被清除。...原创 2022-07-19 09:17:12 · 2519 阅读 · 0 评论 -
mount: 只有 root 用户能执行该操作(有效 UID 为 1000)
挂载一个分区的时候出现这样的错误。明明是root用户,为何还这样呢?原来原因是这个mount的命令的拥有者不是root,而是id为1000的用户,导致无法正常执行。解决:第二条 mount的错误是由于文件系统不是别的原因导致的重新格式化就好了mkfs.ext3 /dev/sda2...原创 2022-05-23 17:00:41 · 7605 阅读 · 0 评论 -
s5pv210-nand-驱动-3(不知道能不能用)
驱动原文 s5pv210-nand-control.c/* * Copyright © 2004-2008 Simtec Electronics * http://armlinux.simtec.co.uk/ * Ben Dooks <ben@simtec.co.uk> * * Samsung S3C2410/S3C2440/S3C2412 NAND driver * * This program is free software; you can redistribute原创 2022-01-07 21:10:35 · 515 阅读 · 0 评论 -
s5pv210-nand-dm9000-dts-2
先贴出dts全文(内核linux4.19.222)分两个文件-一个是s5pv210-smdkv210.dts另个一是s5pv210.dtsi第一个dts// SPDX-License-Identifier: GPL-2.0/* * Samsung's S5PV210 SoC device tree source * * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd. * * Mateusz Krawczuk <m原创 2022-01-07 21:09:05 · 725 阅读 · 0 评论 -
11-15ov9281双摄-应用运行命令
1.单摄像头显示:gst-launch-1.0 -vvv v4l2src device=/dev/video5 ! videoconvert ! video/x-raw,format=NV12,width=640,height=400 ! kmssinkgst-launch-1.0 -vvv v4l2src device=/dev/video0 ! videoconvert ! video/x-raw,format=NV12,width=640,height=400 ! kmssink/dev原创 2021-11-15 19:21:50 · 832 阅读 · 0 评论 -
11-15.ov9281双摄-rk3399pro-续集
3399pro搭载的双摄ov9281,一直有个问题,就是第一次上电启动后,就会有一个1-2分钟的自动调整过程。调整的过程比较卡顿,似乎是在调整曝光时间等一些参数。这就有点影响使用了。但是第二次启动应用是没这个问题了(不是reboot系统,只是重新启动应用)。今天追查了一下,发现是v4l2驱动在进行参数调整加几条打印语句:static int ov9281_set_ctrl(struct v4l2_ctrl *ctrl){ struct ov9281 *ov9281 = contai原创 2021-11-15 23:15:00 · 1748 阅读 · 5 评论 -
5. Stm32f407 key查询方式示例
5. Stm32f407 key查询方式示例硬件平台: stm32f407ve软件平台: win10 (OS Name: Microsoft Windows 10 Enterprise OS Version: ...原创 2020-02-10 19:48:47 · 771 阅读 · 0 评论 -
如果linux虚拟机损坏无法启动,怎么把虚拟机的内容弄出来呢?我教你一招
如果linux虚拟机损坏无法启动,怎么把虚拟机的内容弄出来呢?我教你一招这也是很多同学在学习linux中需要掌握的一个技能,有这个技能,就不用当心虚拟机坏了。软件下载地址https://download.youkuaiyun.com/download/zhaozhi0810/12146002如何从坏的虚拟机中找回文件-2020-0204...原创 2020-02-09 18:00:25 · 630 阅读 · 0 评论