自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

转载 嵌入式Linux 文件系统制作,使其支持中文

前言:本文涉及到制作嵌入式Linux文件系统,也涉及到编码种类继续完善中,待更……参考链接UTF、GBK等编码以及嵌入式linux支持中文显示:https://blog.csdn.net/weixin_43369409/article/details/90380100说明1:Windows的编码方式为GB2312验证方式:cmd中输入“chcp”,返回值为“活动代码页:936”,如下图所示说明2:虚拟机装的Ubuntu的编码方式为UTF-8验证方式:在终端中输入“locale

2021-06-08 10:21:43 664

转载 libzip解压缩方法分析

1.概述  zip格式是使用非常广泛的压缩文件格式。本文主要对libzip(http://www.nih.at/libzip/)的压缩和解压方法的使用进行分析和说明。libzip依赖于zlib,而zlib压缩本身主要处理gzip数据流,虽然其中有minizip可以进行zip文件的操作,看过其中的代码之后感觉有点复杂。而libzip依赖于zlib,但做了一定的封装,提供的接口比较简单,当然libzip也继承了很多开源软件的特性,文档就是一坨屎。2.libzip编译安装  在其网站上下载源代码,“开源软件三

2021-05-31 15:05:10 4969 2

翻译 屏蔽内核启动打印信息

最近做的4412板子终于经过测试形成产品,在这之前需要把内核启动过程中的打印信息去掉,并且更换启动LOGO,下面讲讲自己去掉打印信息的过程。一 去掉打印信息方法很多,我使用一个相对比较简单的,就是将下面选项的[*]去掉Device Drivers --->Character devices --->[* ] Support for console on virtual terminal这样printk的打印信息就不会输出在显示器或LCD上。将打印信息去掉后,莫...

2020-09-14 10:44:05 827

原创 根文件目录制作

busybox:https://wenku.baidu.com/view/070e35d8d15abe23482f4d8a.htmlbuildroot:https://www.jianshu.com/p/8bb3aa9fc161

2020-06-17 15:00:12 198

转载 Linux-4.4-x86_64 内核配置选项简介

转载:https://blog.csdn.net/wdsfup/article/details/52302142

2020-06-16 09:51:04 176

转载 用hostapd架设桥接模式的无线AP

用hostapd架设无线AP,有两种模式,一种是我们熟悉的NAT模式,一种是网桥模式。网上大多教程是NAT模式,只要会用IPTABLES就会做,很简单(回头我也写个博文记录一下NAT模式)。今天,想尝试一下桥接模式,经过一番试验,终于成功,过程记录如下。说实话,以前并不怎么明白一些无线AP的设置桥接中继和路由中继(NAT)的区别,实际动手操作一下才明白了二者的不同。我的网络环境是两张无线网卡,wl...

2020-04-16 17:29:33 2908

转载 RT3070无线网卡STA模式并使开发板接入Wifi上网

开发板:FL2440 内核:linux 3.0 无线网卡:RT3070RT3070的工作模式分为 STA(station)模式、SoftAP(Access Point)模式两种。STA模式:笔记本上无线网卡模式,用来连接到无线路由器上上网。通俗点说,就是客户端模式(笔记本)AP模式:即作为无线路由器,提供其他用户接入 (路由器)所以我们的驱动有两种,分别支持无来线网卡工作在ST...

2020-04-16 16:03:57 1209

转载 RT3070无线网卡AP模式——开发板实现路由功能

RT3070无线网卡有两种工作模式STA模式和softAP模式,分别由STA驱动和softAP驱动来实现,STA驱动支持无线网卡工作在STA模式下,可以连接到网络实现上网功能。而SoftAP的驱动支持无线网卡工作在softAP模式下,可以作为一个软的接入点,实现无线路由器功能。 之前进行STA模式的驱动移植,使得我们的开发板能够连接到互联网实现上网功能。这里对RT3070的第二种工作模式...

2020-04-16 15:52:30 1255

转载 Linux下无线网卡的AP模式

正常我们的无线网卡工作在sta模式,通过连接路由进行上网。在Windows下,我们可以用猎豹、360和腾讯管家里的一些软件助手,把我们的无线网卡开一个热点,同样,在Linux中。我们也可以把我们无线网卡的热点打开,让其他设备能够连接。基本配置首先确保Linux能识别到无线网卡ifconfig 能看到 wlan0 并且有路由分配的ip把原来的动态IP改为静态IPsudo...

2020-04-15 11:20:45 1125

转载 U-BOOT简洁版-快速入门uboot

一、u-boot目录一般移植U-BOOT会修改绿色部分的代码,U-BOOT中各目录间也是有层次结构的,虽然这种分法不是绝对的,但是在移植过程中可以提供一些指导意义。备注:可以通过“内容一的举例”来看看移植过程中需要更改哪些文件,我将其放在文末。二、U-BOOT功能要学习u-boot之前,最好先了解一块板子的裸板程序启动的过程,因为u-boot其实就是裸板程序的集大成者。U-boo...

2020-04-01 11:11:01 516

转载 嵌入式Linux系统移植的四大步骤

最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命令就可以完成非常复杂的功能,可是我们有没有想过,为什么会有这样的效果?如果没有去追问,只是机械地完成,并且看到实验效果,这样做其实并没有真正的掌握系统移植的本质。在做每一个步骤的时候,首先问问自己,...

2020-04-01 10:41:19 390

转载 linux内核下lcd屏幕自动休眠解决办法

临时解决办法:echo 0 > /sys/class/graphics/fb0/blank长期有效解决办法:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>int main(int argc ,char *argv[]...

2020-03-30 10:44:29 903

转载 浅析Linux守护进程、守护进程的创建步骤

守护进程(daemon)是一类在后台运行的特殊进程,其生存期较长,独立于控制终端、执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束。我们先来学习几个新概念:会话、会话首进程、进程组、组长进程。进程组 / 组长进程 / 会话 / 会话首进程进程组进程组:每个进程都属于一个进程组,进程组中可以包含一个或多个进程。...

2019-12-09 20:34:01 186

原创 守护进程

Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。  1.交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。  2. 批处理进程和终端没有联系,是一个进程序列。  3.监控进程(也称系统守护进程)是Linux系统启动时运行的进程,并常驻后台。例如,httpd是著名的Apache服务器的监控进程。init是Linu...

2019-12-09 20:31:24 152

转载 png详解

前言只要是做图片的或者与图片相关的,那么图片的格式就是一个不可以绕过的问题,我们见过很多的图片格式,但是具体不同的图片格式是如何定义的,又具有什么特点,很多时候我们都没有深入研究过,下面我们就开始深入研究。几种图片格式图片有很多的格式,包括PNG、JPEG、JPG、BMP等,下面我们就详细的说一下这几张图片的格式,并进行详细的对比。PNG便携式网络图形(Portable N...

2019-12-06 10:58:11 1491

转载 "undefined reference to" 问题汇总及解决方法

在实际编译代码的过程中,我们经常会遇到"undefined reference to"的问题,简单的可以轻易地解决,但有些却隐藏得很深,需要花费大量的时间去排查。工作中遇到了各色各样类似的问题,按照以下几种可能出现的状况去排查,可有利于理清头绪,从而迅速解决问题。链接时缺失了相关目标文件首先编写如下的测试代码: // test.h #ifndef __TEST...

2019-11-29 09:39:54 2755

原创 shell

基本命令:1、定时关机与重启sudo shutdown -h +45 "this is all,game over."sudo shutdown -r now2、命令记录显示historyecho $HISTSIZE (显示历史命令容量)3、特殊字符通配符 * ?[...] [-] [^...] 、 管道 | 、grep 、输入输出重定向 > &gt...

2019-11-29 09:29:10 90

转载 Linux 线程操作函数总结

线程操作函数总结1、线程创建函数int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void), void *restrict arg); 返回值:若是成功建立线程返回0,否则返回错误的编号 形 参: tidp 要创建的线程的线程i...

2019-10-28 11:42:39 270

转载 进程通信的几种方式及其各自优缺点

socket a、使用socket通信的方式实现起来简单,可以使用因特网域和UNIX域来实现,使用因特网域可以实现不同主机之间的进出通信。 b、该方式自身携带同步机制,不需要额外的方式来辅助实现同步。 c、随进程持续。共享内存 a、最快的一种通信方式,多个进程可同时访问同一片内存空间,相对其他方式来说具有更少的数据拷贝,效率较高。 b、需要结合信号灯或其他方式来实现多个进程...

2019-10-18 14:21:17 814

转载 linux 进程通信(五)之共享内存

共享内存的通信原理在Linux中,每个进程都有属于自己的进程控制块(PCB)和地址空间(Addr Space),并且都有一个与之对应的页表,负责将进程的虚拟地址与物理地址进行映射,通过内存管理单元(MMU)进行管理。两个不同的虚拟地址通过页表映射到物理空间的同一区域,它们所指向的这块区域即共享内存。共享内存的通信原理示意图:对于上图我的理解是:当两个进程通过页表将虚拟地址映射到物理地址...

2019-10-18 14:15:20 216

转载 linux进程间通信(四)之消息队列(message queue)

消息队列一. 什么是消息队列?消息队列是消息的链表,存放在内核中并由消息队列标识符表示。消息队列提供了一个从一个进程向另一个进程发送数据块的方法,每个数据块都可以被认为是有一个类型,接受者接受的数据块可以有不同的类型。但是同管道类似,它有一个不足就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数(MSGMNB),系统上消息队列的总数上限(MSGMNI)...

2019-10-18 14:03:20 1296

转载 Linux下进程间通信方式(三)之信号量(Semaphore)

1.信号量信号量本质上是一个计数器(不设置全局变量是因为进程间是相互独立的,而这不一定能看到,看到也不能保证++引用计数为原子操作),用于多进程对共享数据对象的读取,它和管道有所不同,它不以传送数据为主要目的,它主要是用来保护共享资源(信号量也属于临界资源),使得资源在一个时刻只有一个进程独享。2.信号量的工作原理由于信号量只能进行两种操作等待和发送信号,即P(sv)和V(sv),他们...

2019-10-18 13:30:25 390

转载 Linux进程间通信(二)之信号

Linux-C 进程通信之信号一、简述 记--进程之间使用信号进行通信。异步信号包含: 非实时信号 、实时信号。 实时信号一定会响应,非实时信息号不一定会响应(可能会被忽略,或丢失) 信号一般有以下设定: 1,捕捉 (收到某个信号,做指定的动作,而不是做默认的) 2,忽略 (收到某个信号,不做...

2019-10-18 12:04:41 260

转载 Linux进程间通信(一)之无名管道(PIPE)和有名管道(FIFO)

何为进程间通信进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。简单说就是进程之间可以相互发送数据。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。Socket用在网络编程中。管道管道通常指无名管道...

2019-10-18 11:59:37 319

转载 Linux系统进程管理

一.进程基础知识1.1 Linux进程的概念Process:是运行中的程序的一个副本,是被载入内存的一个指令集合。进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID、和SELinux语境决定对文件系统的存取和访问权限,这些属性通常从执行进程的用户来继承,并且进程存在生命周期,每个进程的进程号是唯一的 centos linux的第一个进程通常是init或者sys...

2019-10-18 11:15:01 125

转载 Makefile 中:= ?= += =的区别

在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE VRE = “Hello World!”elseendififeq ($(OPT),define) VRE ?= “Hello World! First!”endififeq ($(...

2019-10-17 15:12:15 110

转载 Linux的进程/线程间通信方式总结

Linux系统中的进程间通信方式主要以下几种:同一主机上的进程通信方式* UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal)* System V进程通信方式:包括信号量(Semaphore), 消息队列(Message Queue), 和共享内存(Shared Memory)网络主机间的进程通信方式* RPC: R...

2019-10-17 12:04:24 349

转载 ARM MMU工作原理剖析

一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多...

2019-10-17 11:15:50 154

转载 进程的虚拟地址空间

进程的虚拟地址空间先抛出一个问题,什么是进程的虚拟地址空间,它是常说的虚拟内存吗??不要走,这篇博客虽然不短,但是如果你想成为优秀的人,就耐心的看下去我们知道任何的编程语言,无非生成的就是两种东西,指令和数据,编译链接完成以后,产生一个xxx.exe可执行的文件(Windows上)存放在我们的磁盘上的,而不是内存中,当程序运行的时候(Windows上双击运行,Linux ./a.out运行起...

2019-10-17 11:10:14 147

原创 shell 特殊字符

1、通配符通配符:* 匹配任意长度的字符串? 匹配一个长度的字符方括号[...] 匹配其中指定的一个字符方括号[-] 匹配指定的一个字符范围方括号[^...] 除了其中指定的字符,均可匹配...

2019-10-15 20:40:07 246

转载 Linux 通配符与正则表达式

1、 通配符通配符是shell在做PathnameExpansion时用到的。说白了一般只用于文件名匹配,它是由shell解析的,比如find,ls,cp,mv等。1、1 Shell常见通配符:通配符含义实例*匹配 0 或多个字符a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。?...

2019-10-15 20:14:48 221

转载 BMP格式详解

BMP文件格式详解(BMP file format)BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源。Windows的图形用户界面(graphical user interfaces...

2019-10-11 15:32:55 763

原创 ubuntu 软件包管理

1.ubuntu有两种类型的软件包:二进制软件包(deb)和源码包(deb-src)。二进制的软件包:可以直接执行,不需要编译;含有源码的软件包:不能直接执行,需编译,可对源码进行修改,可以通过file命令查看文件类型。软件包的命名遵循以下约定:软件包名称 软件版本 修订版本 体系架构 sl _ 3.03 - 16 _ i386 .deb2....

2019-10-10 20:54:19 840

原创 输入函数垃圾处理

当我们需要输入俩个数#include <stdio.h>int main(){ int a; char b; scanf("%d",&a); scanf("%c",&b); printf("%d:%c",a,b); return 0;}输入 2回车3会发现输出的是 2和回车此时回车便...

2019-10-10 19:13:06 291

转载 uart

前言前面介绍了I2C和SPI的基本知识,本章介绍一下UART(Universal Asynchronous Receiver/Transmitter)通用异步收发器,UART用于计算机内部与外部设备之间的通信,计算机内部数据传输都是并行的,但外部设备的数据传输往往都是串行的,这样就需要一个芯片去作为媒介,去解决这一问题。UART就可实现这一功能,UART将计算机内部的并行数据转化为串行输出,并...

2019-10-09 15:44:43 995 1

转载 IIC vs SPI

IIC vs SPI现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制定了这两种标准通信协议。IIC 开发于1982年,当时...

2019-10-09 14:32:09 203

转载 SPI、I2C和UART

一、SPISPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用。接口 SPI接口经常被称为4线串行总线,以主/从方式工作,数据传输过程由主机初始化。如图1所示,其使用的4条信号线分别为: 1) SCLK:串行时钟,用来同步数据传输,由主机输出; 2) MOSI:主机输出从机输入数据线,...

2019-10-09 14:09:42 274

原创 Linux 设备所需库移植整理

1 alsa-lib的移植1.1 软件包下载alsa-lib库:进入网站http://www.alsa-project.org/选择下载,在这里下载的是alsa-lib-1.0.22.tar.bz2假设该软件包存放在目录/home/alsa中1.2 安装alsa-lib安装路径 在本例中,安装路径为/usr/local/custom_install_arm/a...

2019-09-19 15:19:45 394

转载 framebuffer缓冲帧/dev/fb0学习

framebuffer(帧缓冲):定义:是用一个视频输出设备从包含完整的帧数据的一个内存缓冲区中来驱动一个视频显示设备帧缓冲设备对应的设备文件为/dev/fb*,如果系统有多个显示卡,Linux下还可支持多个帧缓冲设备,最多可达32个,分别为/dev/fb0到/dev/fb31,而/dev/fb则为当前缺省的帧缓冲设备,通常指向/dev/fb0,在嵌入式系统中支持一个显示设备就够了。帧...

2019-09-19 15:05:43 1229

转载 Linux移植随笔:对tslib库的ts_test测试程序代码的一点分析

本文是作者对tslib库的ts_test.c文件进行分析的随笔,其实tslib的几个测试程序结构差不多,譬如ts_print.c和ts_print_raw.c等。本文并没有涉及太多概念,也没有详细介绍这些概念,但并不代表作者对此不了解,也不代表作者对此很精通。如文中提到的input,虽只出现一个单词,但是相信许多人都知道它在文中指的是Linux操作系统下的input子系统,该子系统不简单,看三...

2019-09-19 14:57:50 638

空空如也

空空如也

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

TA关注的人

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