Linux
文章平均质量分 82
xlous_chen
已经转行啦,不做技术了。本老6跑去搞电商了,这个暂不更新了,有缘再说哈哈
展开
-
Gerrit部署(Ubuntu+Gerrit+Nginx)
Gerrit部署1 Gerrit简介Gerrit是一个基于web的代码评审工具,它基于Git版本控制系统,由Google内部编写用于代码评审管理。Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个提交进行审阅。Gerrit提供了一个临时区域,将本地提交与远程仓库隔离开,开发人员将更改上传到Gerrit,在它们被审阅通过前并不会直接上传到远程仓库。要了解Gerrit如何帮助强化开发人员的工作流程,请考虑如下一个典型的项目。该项目有一个中心源存储库作为项目内容的权威副本,例如Git版本控制系原创 2022-02-17 10:41:50 · 3496 阅读 · 1 评论 -
从0到1学会Buildroot根文件系统构建
需要注意的是,以下文档内容由于自己水平有限,避免不了错误。所以要保持一个思考的头脑,遇到问题能够尽快解决并且积累经验。1、 buildroot简介官网首页对buildroot的定义,和特点有非常明确的介绍。1)、buildroot的宗旨为了让嵌入式linux开发更容易。2) 、管理一切!为嵌入式设备生成交叉编译工具链,文件系统,交叉编译bootloader和kernel image。3) 、易用!所有配置通过像linux一样的menuconfig,gconfig和xconfig。4)、支持丰富的原创 2022-02-17 10:15:03 · 3426 阅读 · 0 评论 -
RV1109--LCD黑屏问题
RV1109–LCD黑屏问题1、问题描述平台:RV1109需求:兼容一块10.1寸mipi的LCD屏(1218-A101NL66-28K),是rv1109的第10块屏幕,使用lcd_index=10(lcd_index涉及到我司兼容LCD方式)来标志这块屏。问题:设备开机后,在uboot阶段显示正常,启动kernel后屏幕逐渐熄灭变黑。2、问题根因在uboot的时候,LCD屏的初始化序列正确,故能在uboot阶段正常显示。但是在kernel阶段由于错误地使用timimg参数,导致屏幕逐渐熄灭变黑原创 2022-01-12 09:49:42 · 744 阅读 · 0 评论 -
buildroot之package重新编译
【遇到的问题】在rk1109平台里,我需要添加一个WiFi的package,进而实现将我在内核的编译出来的ko驱动模块,编译时自动打包到根文件系统里 。但是我修改完相关package后,编译不生效,也就是没有将ko文件打包到指定的文件系统里,也没任何语法错误。如下图所示:【原因】buildroot不会去检测自己哪部分被改动需要去重新编译。因为要使用一种完全可靠的方式去检测某一部分被改变的是非常困难的,所以buildroot开发者没有去尝试检测功能。而且不像yocto那样有包管理。【解决办法】解决原创 2021-10-09 15:31:00 · 2594 阅读 · 0 评论 -
linux驱动之nand flash
linux驱动之nand flash1、 Nand Flash一些名词的解释1.1 (Bad) Block Management(坏)块管理Nand Flash由于其物理特性,只有有限的擦写次数,超过那个次数,基本上就是坏了。在使用过程中,有些Nand Flash的block会出现被用坏了,当发现了,要及时将此block标注为坏块,不再使用。于此相关的管理工作,属于Nand Flash的坏块管理的一部分工作。1.2 Wear-Leveling负载平衡Nand Flash的block的管理,还包括原创 2021-06-29 17:13:32 · 2581 阅读 · 0 评论 -
嵌入式Linux --修改文件后重启还原
嵌入式Linux --修改文件后重启还原1、现象最近几天,由于测试测出我写的代码的一个bug,在设置完USB的PID后,重启完,有概率性的不生效。2、原因在查看shell脚本读出PID值和该文件被修改的时间,发现在重启前,可以确定该文件已被修改,但是重启以后,发现这个文件被还原了。因此,这个bug的原因是目标文件被修改后重启,会被还原。3、解决办法在查看相关资料后,发现是在Linux里write某一文件还不够,还需要sync一下。具体我是在write以后fdatasync了一下。如下图:4、原创 2021-06-04 11:12:37 · 1976 阅读 · 0 评论 -
Linux usb驱动(一)--简单介绍
Linux usb驱动(一)-简单介绍一、引言在这就不多说usb的来源以及它的发展史了,只要知道虽然这个很难,但是用处很大,值得花精力去研究,也值得你花两到三分钟去看这篇文章。因为能用上USB的设备太多太多,比如常见的鼠标,键盘,摄像头,U盘,手机,电脑等等,你能想到的消费级电子产品基本都用上了USB。二、USB系统概述很多人会问USB到底是什么?USB是Universal Serial Bus的缩写,意思就是通用串行总线,再说的通俗易懂些,就是一种能适用特别多的设备的有线串行(一位一位通信)通信。原创 2021-05-28 15:24:27 · 564 阅读 · 0 评论 -
内存管理之堆与栈
内存管理之堆与栈一、概念在C语言里,定义了4个内存区间:代码区;全局变量和静态变量区;局部变量区,即栈区;动态存储区,即堆区。堆区(heap)——一般有程序员分配释放,若是程序员不释放,程序结束时可能由操作系统释放,但是容易造成内存泄漏。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。栈区(stack)——由编译器自动分配释放,存放函数的参数值,局部变量值等。其操作方式类似于数据结构的栈。全局区(静态区)(static)——全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量原创 2021-04-20 16:20:03 · 167 阅读 · 0 评论 -
嵌入式Linux:开机抓启动log
嵌入式Linux:开机抓启动log由于公司工作需要,经常需要抓取启动log,但是dmesg的buf又有限,它会循环覆盖头部log。因此,需要一个开机抓取log的脚本来抓取完整启动log,以此来分析出现的bug。适用对象嵌入式Linux系统主要思路编写一个shell脚本,将dmesg的log信息输出到文件中,还可以将logread -f读出来的信息也输出到文件中将编写好的脚本添加到开机自启动那,也就是inittab里脚本编写#!/bin/shloop_flag=1原创 2021-04-13 09:48:56 · 939 阅读 · 0 评论 -
openwrt之ubus机制
openwrt之ubus机制最近工作上的项目使用的是openwrt,并且我负责的某一任务要获取网络状态,因此需要使用到ubus,以下内容仅为学习笔记。1、openwrt简介OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。 同时,它还提供了100多个已编译好的软件,而且数量还在不断增加,而OpenWrt SDK 更简化了开发软件的工序。OpenWRT不同于其他许多用于路由器的发行版,原创 2021-03-29 16:31:50 · 6417 阅读 · 0 评论