分类目录归档:Linux系统

RK3128编译记录

RK3128 Android 编译

  这是RK3128 Android平台编译记录,使用环境如下: 1.Ubuntu16.04 LTS 2.gcc (使用gcc6.5,更高级版本python2.7.14编译存在问题)   对于python2.7.14有问题的可以再单独安装

1.开发环境以及依赖选项

在进行rom编译前,首先需要保证依赖选项就绪。

1)环境安装依赖项

sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev \
libesd0-dev libwxgtk2.8-de

Read more

buildroot构建文件系统

1.简介

  开发嵌入式软件时,有很多时候,我们将uboot+kernel+应用程序,统一打包成烧写文件,这样方便实际生产,因此构建出烧写文件的文具就必不可少。   构建Linux上的文件系统有多种工具,例如:yocto,buildroot,各种工具有自己的有缺点,本wiki主要记录buildroot构建文件系统。
  之前提及的busybox,busybox一般只包含基础的命令,比如常见的ls cd等等,还有一些更复杂的工具,例如grep,find,telnet等。这个busybox称作linux工具 里的瑞士军刀。
 &

Read more

linux上container_of宏使用

1.简介

  在Linux上container_of宏使用较为常见,该宏的作用是通过知道结构体中一个成员的地址,从而
计算出,整个结构体的地址,在linux上很多结构体中都包含有struct list_head结构体,通过该list,就可以
得到整个结构体的地址,从而进行操作。

2.解释

  在知道container_of之前,首先需要先知道一个offsetof(TYPE, MEMBER)

#define offsetof(TYPE, MEMBER)  ((size_t)&((TYPE *)0)->MEMBER)

上述结构是计算出MEMB

Read more

ALSA音频框架简述

1. ALSA概述

ALSA(Advanced Linux Sound Architecture,高级linux声音体系)简写,是linux上主流 音频体系架构,提供了音频和MIDI的支持。是Linux系统下一套标准的音频驱动框架。

2. ALSA框架

ALSA框架分层在内核空间部分和应用空间部分。

2.1 Linux内核空间的alsa驱动

在Linux2.6后已经集成进入linux源码。 备注:在内核层使用alsa驱动时,请保证内核编译时,支持上 CONFIG_SYSVIPC=y 如果没有支持上该选项,使用时,会出现错误

ALSA lib pcm_dmix.c:1038:(snd_pcm_d

Read more

Linux上进程fork和vfork

1.简介

  正在执行的一个程序或者命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用
一定的系统资源。
linux上进程有5中状态:

1.运行(正在运行或在运行队列中等待)
2.中断(休眠中,在等待某个条件的形成或接受到信号)
3.不可中断(收到信号不唤醒和不可运行,进程必须等待直到有中断发生)
4.僵死状态(进程已经终止,但进程描述符存在,直到父进程调用wait系统调用后释放)
5.停止(进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号后停止运行)

查看系统当前进程

ps aux(查看当前时间点进程信息)
ps aux | grep xx

Read more

Linux上安装python3

1.说明

  本文记录从源码安装python3指定版本,安装python3之前切记安装好必要的依赖,例如openssl,如果没有
openssl,后续使用python3导入ssl模块会报问题

2.安装

2.1 安装依赖选项

sudo apt-get install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

要保证openssl安装成功。如果上述ssl安装不成功,可以源码进行安装。
Openssl下载路径:openssl下载

2.2 从源码安

Read more

Linux上环境变量

1.简介

在Linux上一样有很多和windows上一样的环境变量,在Linux上环境变量是用来定义系统运行环境的一些参数,
比如常见的HOME,SHELL等。

2.参考表格

变量名称 作用
HOME 用户的主目录
SHELL shell解释器
PATH 定义命令行解释器搜索用户执行命令的路径
EDITOR 用户默认的文本解释器
RANDOM 生成一个随机数字
LANG 系统语言、语系名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
PS1 Bash解释器的提示符
MAIL 邮件保存路径
LIB

Read more