- 博客(24)
- 收藏
- 关注
原创 linux进程管理-1-基础概念
在linux中有个nice值,越低则进程优先级越高,0~139的范围,0~99给实时进程使用,100~139给普通进程使用。//基于静态优先级和调度策略计算的优先级。//动态优先级,调度类考虑的优先级。CFS //由CFS调度 100~139优先级进程调用 调度策略 NORMAL BATCH IDLE。realtime //实时进程 IRQ线程化 0-99优先级 调度策略 FIFO RR。deadline //有时间限制的进程 -1优先级 调度策略 DEADLINE。
2024-04-14 23:49:16 444
原创 linux 内存管理 --- 2
内存 具备统一结构可以统一 寻址存在多个内存节点和多个cpu 簇,假设有CPU 1 ,2,cpu2可以访问cpu 1 簇的内存节点,但是速度会比访问本地内存来的慢 (这个在某些嵌入式soc也会存在,多个cpu 不同内存域,并不是像网上说的服务器用,这个容易被误导)书籍 : 奔跑吧linux内核。
2024-04-14 17:01:19 873
原创 linux 内存管理-----1
动态分区法: 假设一个进程需要装载到内存中:假设存在一个32MB的内存,进程A 10MB ,进程B 6MB C 8MB 操作系统占 4MB,余 4 MB , 此时需要加载进程D ,则换出进程B ,这样就出现了一个1 MB的内存空洞分段机制: 简单说是将程序所需的内存虚拟地址映射到某个物理空间中,也就是增加一个虚拟内存的概念,将进程分为若干段,代码段 数据段 堆段等,这里段的物理地址可以不连续,这样解决了内存碎片问题,但是还是会产生外部碎片。分页机制: 分段虚拟地址到物理地址
2024-04-08 00:25:27 194
原创 解析动态库的几个指令
comm -12 <(sort testA.txt) <(sort testB.txt) 即可求得这两个库符号的交集。有时候会存在一个可执行程序使用多个库的情况,但是有些库可能存在相同名字函数,从而导致程序崩在一些莫名其妙的地方。解析动态库的几种方式:nm 指令, objdump指令, readelf。记几个解析动态库的指令,可以用来对比库中的符号。objdump 参数如下。
2024-02-27 16:21:43 360
原创 反编译dtb
Dts:DTS即Device Tree Source,是一个文本形式的文件,用于描述硬件信息。一般都是固定信息,无法变更,无法overlay。Dtsi:可以理解为dts的公共部分,添加、变更非常灵活。Dtsi包含在dts中。dtbo-base:指定overlay是以哪个dtb为base来覆盖的。Dtbo:Overlay编译出来的二进制。Dtb:Dtb编译出来的二进制。命令如下,需要dtc工具。Property:属性。
2023-07-21 10:28:32 935 1
原创 LinuxUSB子系统-gadget驱动-UVC设备端驱动1
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言在linux内核中driver-USB-gadget中可以找到webcam.C,感兴趣可以去看看提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示.
2022-11-19 20:17:36 2191
原创 failed to merge target specific data of file
failed to merge target specific data of file可能是没make clean
2022-05-28 00:30:36 3007
原创 usb uvc协议 1
USB描述符设备描述符 PID VID 子类协议 usb协议版本 配置的数量配置描述符 供电模式 电流值 接口数量接口描述符 接口类型 接口子类型 接口协议 字符串的索引值端点描述符 端点地址 传输属性 轮询间隔 数据包大小USB传输方式usb的传输模式USB 令牌包-数据包-/握手包 的传输机制,在令牌包中指定数据包去向或者来源的设备地址和端点,从而保证了只有一个设备对数据包/令牌包作出响应。握手包表示了传输的成功与否,等时传输没有握手包令牌包总是由主机发送,...
2021-12-31 15:30:40 1504
原创 x264 [info]: using cpu capabilities: none
Netwide Assembler (简称 NASM)是一款基于x86架构的汇编与反汇编软件。它可以用来编写16位(8086、80286等)、32位(IA-32)和64位(x86_64)的程序。 NASM被认为是Linux平台上最受欢迎的汇编工具之一。./configure disable了下载nsamhttps://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2./configure make make .
2021-12-22 12:04:23 744
原创 h.264及rtsp笔记
环境相关:将rtsp源码放在mpp下 (能找到lib 和include)cd/sample_rtsp make cd/venc可以看到sample_venc(在makefile中修改sensor)执行sample_venc 可以在vlc中打开网络串流就可以看到播放 和原来sample中写到文件编码出三路h264码流区别就是通过网络传输和不用写进文件里。写进文件其实只是个裸流,需要专业播放器播放-----------------------------------------------------.
2021-09-07 22:18:47 881
原创 HI3518e学习笔记
服务端关闭后 socket发送fin位给客户端 客户端处于close_wait client 没有终止也没有发送fin服务端处于fin_wait客户端发送fin位后,服务端会处于time_wait状态等待俩个msl(4分钟)保证最后一个ack能接收...
2021-09-06 22:16:56 276
原创 IO多路复用
首先是为什么需要io多路复用处理事件有很多方式 最经典就是轮询模式while(ture){read()//阻塞write()//阻塞} 这样的话就相当于while里一直空转read转完write才能转 效率较低 可以有一种方法效率更高,就是假设read他会有个状态1/0write也会1/0当其中某一个为1时等5秒 超过不等了先干下一件事 (可能说得不太好)进行下一个循环,这样就不会说会一直以阻塞的方式卡在read上,read没准...
2021-08-25 01:28:51 129
原创 力扣322 C语言以及理解
题目如下给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回-1 。你可以认为每种硬币的数量是无限的。示例1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1],...
2021-08-20 17:23:24 676
原创 字节序复习
复习笔记 :字节序分为大端和小端我们正常人存一个数字123 是1百2十3而机器它是321 ,区分点就在于高位在前还是低位在前 。而主机字节序就是在用一个机器上的字节序,相当于我的电脑坠机堡垒你的也是我们俩沟通;存个123就是123。如果你的电脑不是坠机堡垒而是战神那说不定我的123到你那就是321了 。(linux是小端字节序)所以为了解决这个问题TCP/ip协议规定了大端的沟通方法,就是你们怎么存都行 ,要走我走过路就是得是123。 就是说不管你是高位字节放在低地址还是高地址 都要把高位放在前。
2021-08-14 04:52:16 297
原创 力扣 15题 三数之和 c语言思路
题目:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思路 :首先二级指针可以看作一个二维数组:例如【a,b,c】 ...
2021-08-01 21:37:28 278
原创 链表头插法尾插法理解
帮助其他小伙伴更容易理解链表头插new->next=head->next head->next=newhead->next现在假设为NULLnew->next=head->next的意思是头节点的下一个指向head节点的下一个所以现在new的next为NULLhead->next=new的意思是把新节点指向head的next所以现在head的next等于new...
2021-07-31 15:36:38 190
原创 力扣 167 俩数相加
给定一个已按照 升序排列的整数数组numbers ,请你从数组中找出两个数满足相加之和等于目标数target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。来源:力扣(LeetCode)链接:https://leetcode-...
2021-07-31 15:35:31 78
原创 warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]这个警告出现在我编译驱动程序中,解决方法是将printk放在定义变量句子后边具体原因不清除 但是变量放printk后边准没错hh...
2021-06-28 19:59:45 1771 3
原创 insmod: ERROR: could not insert module hallo.ko: Invalid module format
这个原因可能是交叉编译工具链导致的 可能是arm的然后ko文件加载到x86
2021-06-13 15:29:32 1213 4
原创 assignment from incompatible pointer type
因为比较菜 出现这个错误发现是函数声明写错了 希望对你有帮助struct inputcommand*写成了struct inputcommand *
2021-04-21 21:00:35 7227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人