- 博客(87)
- 资源 (2)
- 收藏
- 关注
转载 Linux ALSA声卡驱动之一:ALSA架构简介
一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。 在内核设备驱动层,ALSA提供...
2019-11-25 09:29:12 110
转载 Linux高精度定时器hrtimer原理和实现
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声...
2019-11-22 17:30:55 342
原创 Linux系统启动时间优化
优化系统启动时间前提(******重点):(1) 首先要熟悉系统启动流程,以及每个流程中具体所做的事情(2) 测量系统启动流程中每一步所花费的时间(这个时间需要与最终优化时间进行对比)A. 分析有没有垃圾代码,重复代码,无用代码,有的话,裁掉--------减轻负担a. 了解客户需求,分析客户系统中有什么功能,对应哪些模块,对应哪些代码,之后查看系统中包含哪些模块,有哪些没有用到的但是却...
2019-10-31 20:54:02 4341 4
转载 嵌入式linux之系统启动时间测试方法
嵌入式linux之系统启动时间测试方法转载2016-08-17 10:41:43方法一:gpio(最准确的,未使用)1.找到一个空闲的gpio,在适当的地方对gpio进行翻转 效果,如下图: gpio翻转的地方: ①uboot:刚开始的地方 ②uboot:引导kernel的地方(common/cmd_bootm.c:do_bootm) ③...
2019-10-24 18:07:39 707
转载 Uboot+Linux启动时间优化
Uboot+Linux启动时间优化 动机设备启动时间往往是项目立项时的一项重要技术指标。快速的启动时间意味着设备宕机时间的缩短,系统的快速恢复,也能改善用户使用时的体验感受,是一项重要的市场竞争力。准备优化启动时间之前,我们首先要了解下我们设备的主要启动流程,如下图所述,设备启动流程主要包含:硬件、bootloade...
2019-10-24 18:00:55 786
转载 翻译一篇外文 关于优化linux系统启动时间的文章
翻译的比较烂,自己记录下。 启动时间最优化Alexander belloni,Michael Opdenacker Free Electrons 简单...
2019-10-24 17:57:38 180
转载 嵌入式 Linux 启动时间优化
1 简介本章包含的话题有启动时间的测量、分析、人因工程(human factors)、初始化技术和优化技巧等...
2019-10-24 17:55:59 860
转载 Linux下启动时间优化专题
Linux下启动时间优化专题 1. 过往优化总结陆陆续续在Linux进行启动时间优化,之前有两份文档,分别从内核和用户空间两个方向进行了优化。《Android/Linux boot time分析优化》和《Busybox下Bootchart的使用》。简单总结如下:Kernel:基于dmesg,分析initcall_debug相关log,使用ana...
2019-10-24 17:41:30 326
转载 嵌入式 linux启动时间优化
嵌入式 Linux 启动时间优化 2015年11月6日星期五有些应用对系统启动时间有着特殊的要求。在很多场合下,这些系统并不需要针对所有任务立即就位,但是针对某些关键任务(例如接收以太网命令或者显示用户界面)则必须能够应对。该博文将提供一些方法和简单的步骤,在 ...
2019-10-24 17:32:12 1180
转载 linux内核镜像格式介绍
Linux内核镜像格式 <Linux内核镜像格式> Linux内核有多种格式的镜像,包括vmlinux、Image、zImage、bzImage、uImage、xipImage、bootpImage等.➤kernel镜像格式vmlinux vmlinux是可引导的、未压缩、可压缩的内核镜像,vm代表Virtual Memory。(表示Linux支持虚拟内...
2019-10-24 17:07:55 228
转载 linux-grabserial抓取串口打印并记录时间
Contents [hide] 1Introduction2Download and Installation2.1Older versions2.2pyser...
2019-10-24 16:57:26 1160
原创 Makefile介绍和编写
1.makefile基本原理本质就是一个脚本,这个脚本用make来执行文件名makefile或Makefile原理,是根据目标,执行下面的指令目标后面如果还有依赖的目标,则先执行后面目标的指令,再执行前面目标的指令aaa:find ./ -name “*”eee:rrrlsrrr:echo “adfadsf”2.基本结构 基础可执行名:依赖的.o 依赖的库链接依赖的库:...
2019-10-21 12:19:32 296
转载 linux uboot中串口传输文件 lrzsz
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...
2019-10-21 11:46:50 1385
原创 C语言运行时调用.so库
实例:函数介绍:#include <dlfcn.h> void *dlopen(const char *filename, int flag); 参数介绍: filename 动态库路径 flag 标志 RTLD_LAZY 暂缓决定,等有需要时再解出符号 RTLD_NOW 立即决定,返回前解除所有未决定的符号。 RTLD_...
2019-10-17 15:56:33 1531
原创 C语言解析html网页中的图片URL
实例:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <regex.h>#include <stdio.h>#include <string.h>#include <stdlib.h>static cons...
2019-10-17 14:47:53 504
转载 HTTP和URL详细分析
原文链接:https://blog.csdn.net/wq6ylg08/article/details/82868595 版权声明:...
2019-10-17 14:31:17 3508
原创 C语言解析html网页中的url并打印出来
实例:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <regex.h>#include <stdio.h>#include <string.h>#include <stdlib.h>static cons...
2019-10-17 14:24:56 1428 2
转载 linux内核中串口传输文件 lrzsz
假设有一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有sd卡,没有网线,这个时候如果你想跟这块板子传输交...
2019-10-15 18:02:57 653
原创 数据库操作-基础
数据库数据库,存数据,能进行增删改查Oracle 大型网站、大的集团、大数据SQL Server 大中型企业 偏慢 windowsmysql 中小型网站,大小中企业Informix 大型网站, 大小中企业DB2 中小企业sybase 中小企业access 单机版 windowssqlite 手机或移动设备excel...
2019-10-15 15:00:57 226
原创 获取音频文件能量大小或声音大小
获取PCM格式数据能量大小(格式为signed 16bit,单声道)frm 包含着音频数据,以及音频数据buf的长度user_threshold 为用户设置的临界值,超过这个值,返回1代表着这一段音频数据能量高于所设置的user_threshold (范围是0-32767),值越大,划分的越细int IMP_AI_GetFramePower(IMPAudioFrame *frm, int u...
2019-10-15 14:25:09 2608
原创 第三方库编译
uclibc编译:CFLAGS="-O2 -muclibc" CPPFLAGS="-O2 -muclibc" CXXFLAGS="-O2 -muclibc" LDFLAGS="-O2 -muclibc" ./configure --host=mips-linux-gnu --prefix=${PW...
2019-10-15 14:11:37 695
原创 音频-ffmpeg音频格式转换
ffmpeg音频转换采样率指令:例:PCM采样率48k转换成32k(有符号16bit,小端,单声道)ffmpeg -f s16le -ar 48000 -i say_48.pcm -f s16le -ar 32000 say_32.pcm //声道默认为1,所以不用设置,设置声道使用-ac 1(/2)其他格式的音频文件-f格式可使用ffmpeg -formats来查看选用1、ffmp...
2019-10-15 14:07:52 1620
原创 C语言常见算法
常见算法一、数组排序选择排序、插入排序、交换排序1.直接插入排序将待排序的数按大小,插到前面排好数据的适当位置。 11,8,1,10,7,4,12,2,3,6,5,9实现方法:在已排数据中,只要比待排大,则向后移动一格,在这个大数据倒出一个空格,直到比这个待排的小为止,最后将待排的插入到空格处. int main(int argc,char **argv){ int a[...
2019-10-15 12:28:17 264
原创 C语言数据结构
数据结构数据结构:是指数据在内存中的存储方式顺序存储、链式存储顺序存储:即数组 缺点,必须要先知道个数,中途个数不能改,查找时地址偏移,速度快链式存储:即一个结构的地址,存在前一个结构内。缺点 不能用地址偏移,速度慢。没有最大个数限制可实现链式存储有两种类型:结构体、类链表类型:单向链表、双向链表、环状链表、队列、栈、树(二叉树)、网单向链表: 即在前面的结构体中记录后面结构体...
2019-10-15 12:26:14 247
原创 linux指令
本篇主要介绍Linux指令一、linux终端终端用来执行指令[root@localhost ~]#root 用户名localhost 本地IP地址~ 代表目录名~ 是登录用的户根目录 如果用root则代表root目录/ 系统的根目录 相当于 E:\根目录中常见的目录bin 可执行程序的目录 即linux操作系统的指令sbin 可执行程序的目录 系统管理员使用的指令...
2019-10-15 12:09:44 336
原创 linux Shell编程
一、系统变量echo $变量名$代表取值PATH是常见的系统变量,保存了一些目录名,当系统程序执行时,先到这些目录中查找程序,如果找到则执行目录之间用:分隔例:echo $PATHset 查看环境变量 1)临时更改环境变量export PATH=/home:$PATHecho $PATH 离开当前所在的终端就失效 2)永久更改环境变量/etc/profile 全...
2019-10-15 11:44:31 196 2
原创 linux-GCC编译过程以及静态库动态库编译
本篇主要讲GCC编译过程以及静态库和动态库编译一、gcc编译指令各项参数四个步骤预处理 -E gcc -o test.i -E test.c汇编 -S gcc -o test.s -S test.c机器码 -c gcc -o test.o -c test.c链接 依赖的文件 gcc -o test test.o-o 生成目标-g 调试1.常用参数-L...
2019-10-15 11:23:45 440
原创 linux c语言高级编程-网络编程进阶
本篇主要介绍自定义网络协议以文件传输为例:协议:自已收发数据时,对数据的说明。双方定制的。一般有两种模式:图表、.h文件文件 编写说明 id 每次发送有编号,代表哪次发的数据 cmd 代表对方要做什么 len 数据总长度 例如200M*1024*1024 size 本次发送的长度 err 错误号 note ...
2019-10-15 10:46:03 356 2
原创 Qt-C++编程
Qt的作用,用图形界面的方式实现输入输出。Qt中提供常用的视图组件,qt已经定义的工具类:成员变量、成员函数Qt程序的基本结构#include “qapplication.h”//#include #include “qwidget.h”int main(int argc,char **argv){QApplication app(argc,argv);QWidget *w=new...
2019-10-14 21:01:44 1538 2
原创 Secure CRT脚本
脚本的作用,简化操作,节省时间,比如测试IPC的时候,可以执行运行已经写好了的自动化测试脚本。实例一(系统重启脚本):#$language = "VBScript"#$interface = "1.0"Sub Main Dim result Dim count count = 0 crt.Screen.Synchronous = True crt.session.L...
2019-10-14 20:53:46 1218
原创 linux c语言高级编程-信号
本篇主要介绍Linux系统中的信号信号介绍(1)查看系统中所有的信号,使用kill -l向指定进程发送指定信号kill [-s sigspec | -n signum ] pidSIGKILL 是9号信号,表示着强制杀死进程,不可忽略,不可拦截SIGABRT 是6号信号,表示着异常信号,可以进行拦截默认使用kill 进程ID 是发送信号SIGKILL ,直接杀死进程(2)信号说明...
2019-10-14 20:24:43 294
原创 linux c语言高级编程-描述符监听select
本篇主要讲解select描述符监听当我们read读取管道中的数据,此时管道中没有数据时,会阻塞,程序会卡在哪里,无法继续往下执行,有没有办法不让程序卡住?可以设定一个时间,在这个时间内使用select监听描述符是否有数据可以读,这就是select的作用。select在网络编程中显得尤为重要。#include <sys/select.h>#include <sys/time....
2019-10-14 19:47:42 1168
原创 linux c语言高级编程-进程进阶
本篇主要介绍linux进程间通信方式以及使用实例进程间通信主要有以下几种方式:1.管道(有名管道,无名管道,标准流管道)2.设备映射3.共享内存4.信号量5.消息队列6.网络(网络通信涉及到了socket编程,下篇介绍)双工:同一时刻,双方可以同时进行收发操作半双工:双方可以进行收发操作,但同一时刻只能一方发,另一方收单工:任意时刻,只能一方发,另一方收管道Linux管道有...
2019-10-14 18:03:01 394 1
原创 linux c语言高级编程-进程基础
本篇介绍linux进程相关基础知识源码:磁盘上存储的文件程序:磁盘上存储的可执行文件(二进制)线程:CPU独立运行的代码块,进程的最小单元进程:正在执行的程序基本概念(1)进程分类:用户进程,守护进程(精灵进程),批处理进程。(2)进程查看ps -AlUID 用户IDPID 进程IDPPID 父进程ID 任何一个进程都是由其它进程创建。TTY 终端0号进程是...
2019-10-14 15:22:39 224
原创 linux c语言高级编程-常用函数
本篇介绍几个常用函数:1.睡眠函数sleep,usleep2.时间函数time,localtime,gettimeofdaytime和localtime进行组合来显示当前的北京时间(包括,年,月,日,时,分,秒,星期等)gettimeofday可以用来计算代码执行时间3.随机数函数rand,srand(1)睡眠函数#include <unistd.h> uns...
2019-10-14 10:35:38 238 2
原创 linux c语言高级编程-线程进阶
本篇主要讲线程互斥,同步,信号量基础知识线程互斥是为了解决不同线程之间操作统一资源所出现的问题,比如说全局变量中有一个int a变量,两个线程如果都对这个变量a进行赋值的话,那么此时就会出现一个问题,到底是A线程赋值给了a,还是b线程赋值给了a,如果再有另外一个线程读取这个变量a的话,到底是哪个值?这就不知道了,产生了未知情况,此时就需要用锁来解决,每次访问这个这个资源之前先加锁,访问完成之后...
2019-10-12 18:02:44 168 2
原创 linux c语言高级编程-线程基础
线程基础知识:程序:二进制文件,存放在磁盘上面的文件进程:正在运行的程序,它处在内存中,一个进程可以被加载无数次线程:进程的最小活动单元,一个进程中可以有多个线程,至少有一个线程那就是main函数本身线程的作用:让代码并行运行,而不被阻塞。例如:播放器,播放音乐必定开启了一个线程,理论上播放歌曲时进程会被卡主,即此时UI界面上面的按钮无法点动,整个程序表现为卡死状态,但是实际上播放歌曲时,...
2019-10-12 15:23:04 242
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人