嵌入式linux
文章平均质量分 75
huabiaochen
you smile i smile
展开
-
Linux内核配置
基于Linux Kernel v2.6.36-gentoo-r5General setup --->[*]Prompt for development and/or incomplete code/drivers//默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。() Cross-compiler tool prefix//交叉编译工具前缀,如果你要使用交叉编译工具的话输入相关前缀。默认原创 2022-07-04 11:42:38 · 2835 阅读 · 0 评论 -
VMware安装MAC OS10.14
前言 一直想搞个黑苹果玩玩,奈何黑苹果双系统的操作步骤太过复杂,就决定先装个虚拟机体验一下。之前不想在Windows和Ubuntu之间来回切换系统,也曾用虚拟机装过Ubuntu。虚拟机的好处就是方便且易于复制,但缺点也很明显,依附于Windows系统,不能享用电脑硬件的100%的硬件资源。1.工具准备VMware15 unlocker解锁工具(可能需要Python环境,我之前安装过Python3.7) MAC OS Mojave 10.14懒人版安装所需的软件百度网盘-链接不存在;密码8转载 2021-10-22 15:28:15 · 1257 阅读 · 0 评论 -
Oracle VM VirtualBox安装配置Mac OS
一、在 Windows 10 上创建 macOS 虚拟机需要哪些文件?在深入研究“操作方法”之前,您需要下载并安装基本工具。本教程详细介绍了如何使用Oracle VirtualBox Manager (VirtualBox)和VMware Workstation Player(VMware Player)创建 macOS 虚拟机。相关:VirtualBox 与 VMware Player:适用于 Windows 的最佳虚拟机下载最新版本的 VirtualBox。本教程使用 Virtua...原创 2021-10-21 10:49:09 · 3844 阅读 · 3 评论 -
linux中设备文件配置程序udev详解
如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略。在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下。后来,采用了devfs, 一个基于内核的动态设备文件系统,他首次出现在2.3.46内核中。Mandrake,Gentoo等Linux分发版本采用了这种方式。devfs创建 的设备文件是动态的。但是devfs有一些严重的限制,从2.6.13版本后移走了。目前取代他的便是文本要提到的udev--一个用户空间原创 2021-05-11 13:13:32 · 1024 阅读 · 0 评论 -
zlib库交叉编译
可以从官网http://www.zlib.net/找到源码包http://www.zlib.net/zlib-1.2.11.tar.gz,下载最新的源码包export PATH="/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin:$PATH";export CC=aarch64-himix100-linux-gcc;export AR=aarch64-himix100-linux-ar;export RANLIB=aarch64-himix100原创 2020-12-15 16:59:17 · 2099 阅读 · 1 评论 -
dd命令解析及读写速率测试
读写速率测试~ # dd if=/dev/zero of=/dev/null bs=4096 count=10485761048576+0 records in1048576+0 records out4294967296 bytes (4.0GB) copied, 1.402761 seconds, 2.9GB/s~ #一、dd命令的解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;..原创 2020-11-25 10:49:59 · 6451 阅读 · 0 评论 -
echo 3 > /proc/sys/vm/drop_caches 清理系统缓存
清理系统缓存当服务器内存使用率高达90%以上时,且有较大耗内存操作时,可以考虑把系统的垃圾内存清理掉。方法如下linux23:~ # echo 3 > /proc/sys/vm/drop_cacheslinux23:~ # free -mtotalusedfreesharedbufferscached...原创 2020-04-16 13:11:44 · 4632 阅读 · 0 评论 -
进程间通信方式
https://blog.csdn.net/wh_sjc/article/details/70283843原创 2020-03-06 22:50:00 · 137 阅读 · 0 评论 -
路由转发功能
一、iptables工具移植1、交叉编译iptables-1.4.12./configure --prefix=/home/huabiao/bin--exec-prefix=/home/huabiao/bin--host=arm--with- kernel=/home/huabiao/share/HI3520D/linux-3.0.y--disable-shar...原创 2020-01-16 10:30:24 · 1581 阅读 · 0 评论 -
iptables
1. netfilter与iptablesNetfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的...原创 2020-01-15 17:03:18 · 131 阅读 · 0 评论 -
iconv库的移植
需求 如果你在系统中涉及到字符编码集的时候,比如网页端一般使用字符编码是 utf-8,迪文屏一般支持的字符编码是 GB2312...对于字符编码间的转换在一些时候是一个绕不过的坎。那此篇文章对你可能有所有帮助。如果你的程序在ubuntu中,在程序中包括 #include <iconv.h>,使用iconv集就能正常实现字符编码的转换,但如果是在arm板中,...原创 2019-12-06 15:50:14 · 113 阅读 · 0 评论 -
RTL8188FU无线网卡驱动移植
一、内核配置1、Networking support > wireless2、Device Drivers > Network device support > wireless LAN二、驱动编译1、配置wifi芯片...原创 2019-11-28 15:42:12 · 3474 阅读 · 4 评论 -
mp4v2库封装MP4
1. 交叉编译mp4v2下载合适版本的mp2v2源码,我下载的是2.0.0的bz包mp4v2_2.0.0~dfsg0.orig.tar.bz2tar jxf mp4v2_2.0.0~dfsg0.orig.tar.bz2cd mp4v2-2.0.0;./configure --host=arm-hisiv500-linux CC=arm-hisiv500-linux-gcc CXX=...原创 2019-11-23 11:10:42 · 1485 阅读 · 4 评论 -
ffmpeg常用api介绍
av_log_set_callback函数原型:void av_log_set_callback(void(*)(void *, int, const char *, va_list) callback) 设置日志打印的回调。av_log函数原型:void av_log(void* avcl, int level, const char *fmt, ...)...原创 2019-06-20 11:35:02 · 8163 阅读 · 0 评论 -
Apache1.3.39在arm-linux上的移植
Apache1.3.39在arm-linux上的移植首先说明一下我的安装环境,Linux是2.6.24-19版本的(uname –a指令可以查看)交叉编译环境是arm-linux-gcc 2.95.3(arm-linux-gcc –v查看此信息),若版本过高,apache会不支持,会出现/lib/libc.so.6inversion “GLIBC_2.3”not foun...原创 2019-06-20 11:04:39 · 565 阅读 · 0 评论 -
图片特征码
今天发现获取图片的宽高,并不需要把图片完全读完之后再来获取,而只需要读取文件头文件,几十个字节便可以读出文件的宽高。 图片的文件头部存储有该图片相关信息,可以从中读取相应字段,得到尺寸、大小、格式等信息。由于无需载入整张图片,故而速度较快。当图片较大时,优势更加明显。bmp(771*434): 可以看出width低位:0x12,高位:0x13。height低位:0x16,...原创 2019-06-15 11:30:27 · 3128 阅读 · 0 评论 -
LINUX C/C++学习大纲
├─0.课程资料│ VM及红帽6镜像│ 俄罗斯方块所需.rar│ ├─01.如何在windows环境下搭建Linux虚拟平台│ 1.如何使用VMware安装Linux虚拟机1.flv│ 2.如何使用VMware安装Linux虚拟机2.flv│ o, }( [# Q. d├─02.C语言基本介绍│ 1.学习方...原创 2019-05-29 22:02:12 · 424 阅读 · 1 评论 -
linux磁盘性能分析
1.top查看CPU是否长时间等待IOtop%wa超过30%,说明IO压力很大2.iostat查看磁盘工作时长占比iostat -x 1 #1表示1秒刷新一次%util表示在过去的时间段中磁盘进行IO的时间占比,等同于Windows中“磁盘处理读取或写入请求的时间百分比”;超过70%表示繁忙。3.pidstat查看当前进行IO的进程p...原创 2019-05-05 15:05:20 · 1150 阅读 · 0 评论 -
ffmpeg编译安装
1. 前言本教程涉及的ffmpeg, x264, x2652. 环境依赖2.1 删除系统中安装的ffmpeg等库sudo apt-get --purge remove ffmpeg mplayer x264 x2652.2 安装依赖库sudo apt-get updatesudo apt-get -y --force-yes install autoconf automake...原创 2019-04-19 21:54:46 · 847 阅读 · 0 评论 -
pthread_create失败问题
一直以为,程序创建线程,线程运行结束会自动清空资源最近在一个项目中用到了线程,除去业务逻辑,我把他简化出来是下面这样//pthread.c 错误demo示例#include <stdio.h>#include <pthread.h>static int testcount = 0;static void *test_thread_handler(){ ...原创 2019-07-05 09:43:45 · 4933 阅读 · 0 评论 -
入门视频采集与处理(BT656简介)
凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢? 本文将主要介绍 标准的 8bit BT656(4:2:2)YCbCr SDTV(标清) 数字视频信号格式,主要针对刚刚入门模拟视频采集的初学者入门之用。1. 帧的概念(Frame) 一个视频序列是由N个帧组成转载 2017-07-06 10:59:19 · 717 阅读 · 0 评论 -
Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇)
一.什么是DTS?为什么要引入DTS?DTS即Device Tree Source 设备树源码, Device Tree是一种描述硬件的数据结构,它起源于 OpenFirmware (OF)。在Linux 2.6中,ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,比如板上的 platform设备、resource、i2c...原创 2019-09-24 17:50:35 · 2841 阅读 · 0 评论 -
Linux 磁盘管理
https://www.runoob.com/linux/linux-filesystem.htmlLinux 磁盘管理Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用三个命令为df、du和fdisk。df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分区dfdf命令参数功能:检查文件系统的磁盘空间占用情况。...原创 2019-09-02 16:31:03 · 114 阅读 · 0 评论 -
MAX3485
1 综述MAX3483, MAX3485, MAX3486, MAX3488, MAX3490以及MAX3491是用于RS-485与RS-422通信的3.3V,低功耗收发器,每个器件中都具有一个驱动器和一个接收器。MAX3483和MAX3488具有限摆率驱动器,可以减小EMI,并降低由不恰当的终端匹配电缆引起的反射,实现最高250kbps的无差错数据传输。MAX3486的驱动器摆率部分受限...原创 2019-07-16 16:15:28 · 5534 阅读 · 0 评论 -
OpenCV ffmpeg移植
https://blog.csdn.net/harryching/article/details/8836656前一篇写了如何在移植OpenCV库到ARM平台上,本来我只是用到OpenCV的打开USB摄像头获取图像到IplImage结构中,这用到了V4L2的底层函数。然后进行视频图像的帧处理。那么如何用OpenCV读写ARM板上的视频文件,并进行视频处理呢?这该又将如何移植呢?这个就必...原创 2019-07-01 12:05:41 · 2015 阅读 · 0 评论 -
使用gSOAP工具生成onvif框架代码
https://www.cnblogs.com/big-devil/p/7625763.html使用gSOAP工具生成onvif框架代码<工具产生背景> 由于SOAP是一种基于xml的文件,手动编写SOAP文件太机械耗时,在这种背景下产生了gSAOP 这个工具,用于生成各种类型的代码,目前支持C/C++,如果索引ONVIF框架代码就会发现,代码中最主要...原创 2019-07-02 16:28:29 · 1144 阅读 · 0 评论 -
openssl-0.9.8e.tar.gz移植
编译与安装 OpenSSL:prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。wget ftp://ftp.openssl.org/source/openssl-1.0.0c.tar.gztar -zxf openssl-1.0.0c.tar.gzcd openssl-1.0.0c/./config --prefix=...原创 2019-07-02 11:41:56 · 1099 阅读 · 0 评论 -
mp4v2移植
1、mp4v2移植step1、下载:https://launchpad.net/ubuntu/+source/mp4v2step2、编译简单配置参数:./configure --host=arm-linux CXX=arm-hisiv100nptl-linux-g++ CC=arm-hisiv100np...原创 2019-06-22 15:43:54 · 945 阅读 · 0 评论 -
大小端判断
==========================================存储性:大小端(字节序)小端字节序:低数据位存储在低字节(低地址)大端字节序:高数据位存储在低字节===========================================//判断当前平台字节序为端还是小端 并实现大小端之间的转换函数#include <stdio.h>...原创 2019-04-18 18:08:44 · 708 阅读 · 0 评论 -
Makefile
CC =gccTARGET =heOBJS =main.o add.oOBJS +=sub.oOBJS +=sum.o##########$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件。#####################$(TARGET):$(OBJS) $(CC) $^ -o $@####对应的.o依赖于对应的.c...原创 2019-04-16 09:53:31 · 181 阅读 · 0 评论 -
磁盘预分配
一、磁盘预分配—ftruncate1. 使用lseek、ftruncate到一个固定位置生成的“空洞文件”是不会占据真正的磁盘空间的。#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>...原创 2019-01-28 09:53:02 · 2930 阅读 · 0 评论 -
套接字编程中,recv or connect error:bad file descriptor
套接字编程中报错recv or connect error:bad file descriptor一般是套接字已经被close请检测套接字是否在其它地方被close原创 2018-01-03 17:34:20 · 2994 阅读 · 0 评论 -
IPPROTO_TCP 的数值
int socket(int domain, int type, int protocol);的第三个参数这里指使用tcp协议根据include/winsock2.h文件有以下定义/** Protocols*/#define IPPROTO_IP 0 /* dummy for IP */#define IPPROTO_ICMP 1 /* control me原创 2018-01-03 17:31:01 · 11481 阅读 · 0 评论 -
SD卡fat32文件格式说明
说明:MBR :Master Boot Record ( 主引导记录) DBR :DOS Boot Record ( 引导扇区) FAT :File Allocation Table ( 文件分配表) 硬件:本文SD卡为Kingston 4GB,FAT32格式,簇大小4KB,每扇区512字节。第一章 硬盘结构与SD卡结构1.1 硬盘介绍1.1硬盘原创 2017-08-23 23:11:11 · 6736 阅读 · 1 评论 -
BT.656
凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢?本文将主要介绍 标准的 8bit BT656(4:2:2)YCbCr SDTV(标清) 数字视频信号格式,主要针对刚刚入门模拟视频采集的初学者入门之用。1. 帧的概念(Frame) 一个视频序列是由N个帧组成的,采集图像原创 2017-08-09 22:11:06 · 527 阅读 · 0 评论 -
HI3520D音频
本来音频模块不属于我的,但为了团队,为了更好的工作,更重要的是为了自己,看看吧,可我之前对音频处理这一块几乎没接触过,一片空白,怎么办呢,没办法,我只有把手册从头到尾关于音频的好好的整理了一下,由于CSDN特性即难插图片,所以省略了图表说明,希望对从事Hi35XX系列的同志们有所帮助。。。。。 我这干的是苦力活,即把手册整理(copy)了一下,万事都是这样子开始的。。。。。。。转载 2017-07-07 16:30:52 · 680 阅读 · 0 评论 -
HI3520D在内核中复用UART2,UART3管脚
HI3520D在内核中复用UART2,UART3管脚在Linux-3.0.y/arch/arm/mach-hi3520d/core.c文件中合适的位置加上:[cpp] view plain copy#define GK_HW_WEG(gkval,gkaddr) writel(gkval,gkaddr) #原创 2017-07-07 16:17:23 · 554 阅读 · 0 评论 -
speex 基本编码解码流程
一:编码流程使用Speex的API函数对音频数据进行压缩编码要经过如下步骤:1、定义一个SpeexBits类型变量bits和一个Speex编码器状态变量enc_state。2、调用speex_bits_init(&bits)初始化bits。3、调用speex_encoder_init(&speex_nb_mode)来初始 化enc_state。其中s原创 2017-06-13 12:45:34 · 1648 阅读 · 0 评论 -
LINUX磁盘管理
Linux 磁盘管理Linux磁盘管理好坏管理直接关系到整个系统的性能问题。Linux磁盘管理常用三个命令为df、du和fdisk。df:列出文件系统的整体磁盘使用量du:检查磁盘空间使用量fdisk:用于磁盘分区dfdf命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。原创 2017-07-02 21:56:25 · 175 阅读 · 0 评论 -
U-boot引导流程
U-Boot的源码目录结构1、board:开发板相关的配置文件,一个子文件对应一个开发板配置;2、common:通用的多功能函数实现,比如环境,命令,控制台相关函数等;3、cpu:存放特定CPU结构相关的目录;4、disk:硬盘接口程序;5、doc:6、drivers:支持的各种设备的驱动程序;7、dtt:数字温度测量器或传感器的驱动;原创 2017-06-09 15:47:05 · 369 阅读 · 0 评论