自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PT的博客

闲杂笔记

  • 博客(22)
  • 收藏
  • 关注

原创 记一次移植libjped库的坎坷

最近在写一个图片解码器的小项目,需要解码jpg图片,所以需要用到libjped库。下面说一下具体步骤和遇到的问题:一、libjped的移植 1、将下载好的压缩包放在/root/delocdporting文件夹下(文件夹自己定义) (1)经典版本v6b:https://sourceforge.net/projects/libjpeg/files/l...

2019-05-16 20:27:27 311

转载 修改Linux内核启动logo

创建logo图片:1、内核默认的logo图片为drivers/video/logo/logo_linux_clut224.ppmfilelogo_linux_clut224.ppm先得到图片的大小,然后再用gimp等工具创建一个同样大小的png图片注意:这里选取的图片不能超过lcd的分辨率2、把自己创建的png图片转换为只有224色的ppm图片在Linux系统里执行:...

2019-05-13 11:28:01 374

原创 将自己写的驱动添加到内核中

主要以自己写的leds-s5pv210.c为例: 具体步骤: 1、将leds-s5pv210.c加入到driver/leds中,但是直接放进去并不会进行编译。 2、在driver/leds中的Makefile中添加相应的依赖:obj-$(CONFIG_LEDS_S5PV210) += leds-s5pv2...

2019-04-18 17:31:34 856

原创 error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]

这个错误多为编写linux驱动程序时出现的错误,正常情况下是以警告出现的,一般有两种情况:1. 在函数体内,定义变量代码前边出现非定义的变量(此变量在其他地方已经定义了),编译时就会出现这个错误或警告2. 在定义变量代码前边出现printk函数,编译时也会同样出现这个警告或错误...

2019-04-12 08:18:03 1626 1

原创 使用insmod命令安装驱动模块出现insmod: ERROR: could not insert module module_test.ko: Invalid module format解决办法

当我们编译好一个驱动后,使用insmod安装时,有时会遇到insmod: ERROR: could not insert module module_test.ko: Invalid module format,这时,我们就要查看所对应的Makefile中的KERN_DIR变量,这个变量是指定kernel路径的,如果想把驱动安装在Linux里,需要把地址写为:KERN_VER = $(she...

2019-04-08 19:37:14 39998 4

原创 正则表达式

1)规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正则表达式(Regular Expression)。例如email地址的正则表达式可以写成[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+.[a-zA-Z0-9_.-]+,IP地址的正则表达式可以写成[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3...

2019-04-07 21:51:19 269

原创 Linux系统中wc命令详解

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。1.命令格式:wc [选项]文件...2.命令功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。3.命令参数:-c 统计字节数。...

2019-04-07 21:50:33 632

原创 Linux中find命令详解

find: 1. -name find ./ -name *.mp3 2. -type find ./ -type f/d/p/c/b/s/l 3. -size 默认单位:512B-->0.5K-->一个扇区大小 -M:不能m find /home/i...

2019-04-07 21:49:51 11730

原创 Linux中grep命令详解

grep命令 grep 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有...

2019-04-07 21:48:40 188667 8

原创 C语言中使用正则表达式

有四个函数: int regcomp (regex_t *compiled, const char *pattern, int cflags) 参数1: 结构体 --- 编译(字符串---结构体)存储正则表达式 参数2: 正则表达式串。 参数3: 标志位: 1. 扩展正...

2019-04-07 21:48:00 3355

原创 Shell编程基础

1)shell 什么是shell;命令解析器 bash 可以cat/etc/shells 就可已查看当前系统的所有shell有什么echo $SHELL 查看默认使用的shell #!/bin.sh 指定解释器shebangecho啥也不干打印一个空行/bin/pwd 执行命令pwdsource可以运行脚本2)内建命令和小括号用户在命令行输入命令后,一...

2019-04-05 17:52:08 233

原创 Linux网络编程(3)

1、主动发起关闭连接一开始是关闭状态,主动发起连接段发送SYN信号,进入SYN_SENT(主动打开状态),发送ACK和SYN信号,接收发送端返回的ACK信号,此时三次握手建立完毕,进入ESTABLISHED(数据传输状态) 一端发送FIN标志,进入FIN_WAIT_1状态,接收对端发送过来的ACK后进入FIN_WAIT2状态,(半关闭状态),主动发起端接收对端发来的FIN...

2019-04-01 21:17:06 386 1

原创 TCP三次\四次握手都携带什么

三次握手代表的是链接过程:第一次:需要些带SYN标志位,发送连接请求,100代表数据序号,()里面的东西代表要穿的数据的大小,还会有一个win(窗口大小)代表从服务器端发来的数据,数据缓冲区的大小,就是最多我能缓存多少,到了这个上限会暂时阻塞,等待客户端提取后服务器端会继续发送。mss代表最多可以一次性给我发送个字节。第二次:服务器端回响应,回一个ACK标志位,表示我已经收到链接请求,...

2019-03-31 17:34:52 209

原创 Linux网络编程(2)

1、客户端程序#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<sys/socket.h>#include<arpa/inet.h>#include<string.h>#define SERV_IP "127.0.0.1"#defin...

2019-03-30 19:45:57 379

原创 Linux网络编程(1)

1、协议的概念: 1)、什么是协议 从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。 假设,A、B双方欲传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方; 第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK; 第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。...

2019-03-27 12:33:45 943 1

原创 S5pv210刷成android2.3后,无法进入fastboot进行刷机解决方法

刷成Android2,将串口链接到串口0,打开开发板,在SecureCRT中输入命令 fdisk -c 0进行重新分区,重新开机,就可以进入fastboot了。然后再执行对应的刷机命令,就可以刷别的系统了。刷完别的系统后,在切换回串口2,开机,就可以启动了。---------------------------------------------------------如果出现一直系统重启...

2019-03-26 13:46:24 528

原创 Linux系统编程

1、进程和程序程序:运行的程序,不占用系统资源。进程:活跃的程序,会占用系统资源,在内存中执行。同一个程序可以加载为不同的进程2、并发:在操作系统中,一个时间段中有多个进程都处于启动到运行完毕的状态,但,任何一个时刻点上仍有一个进程在运行。时钟中断:在多道程序设计模式中使用,三个程序同时进行,cpu设置一个时间,每隔一段时间给程序1使用,另一段时间给程序2使用单道程序设计模型:所有进程...

2019-03-24 16:45:25 511 1

原创 Linux 基础编程

1、Linux下的快捷键: Ctrl + p上一条命令;Ctrl +n下一条命令 Ctrl +b向前移动光标,Ctrl +f 向后移动光标 Ctrl +a光标移动到命令行开头,Ctrl +e移动到行位 Ctrl +h删除光标前一个字符,Ctrl +d删除光标后一个字符 Ctrl +u删除光标前面所有字符...

2019-03-18 11:29:56 651

转载 Qt在嵌入式开发板上的移植

移植Qt就是移植Qt的库,这是移植之前我们得知道的废话不多说,首先说一下我的开发环境1、Qt下载地址(1)QT官网:https://www.qt.io/(2)QT源码及各种资源的下载主站:http://download.qt.io/archive/qt/mingw:minst gcc for windows,在Windows中运行的gcc编译器,如果想把linux中的软件移植到w...

2019-03-08 09:26:39 931

原创 Kobject

1、Kobject       1、定义在linux/kobject.h下面。       2、里面包含各种对象的基本单元,会提供一些功能型服务:对象引用计数、维护对象链表,对象上锁,对用户空间的表示。(对象是指类、总线、设备、驱动等结构体定义的变量)。在Linux内核里,kobject是组成Linux设备模型的基础,一个kobject对应sysfs里的一个目录。从面向对象的角度来说,ko...

2018-12-05 14:54:06 2188

转载 数组指针与指针数组

数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;        //将该二...

2018-12-04 18:10:27 13024 1

转载 gpiolib

1:什么是gpiolib,为什么要有gpiolib?linux中从2.6.35以后就开始有gpiolib库了,gpiolib的作用是对所有的gpio实行统一管理,因为驱动在工作的时候,会出现好几个驱动共同使用同一个gpio的情况;这会造成混乱。所以内核提供了一些方法来管理gpio资源;2:如何学习gpiolib第一:gpiolib库的建立;第二:gpiolib库的使用方法:申请...

2018-12-04 16:13:16 144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除