linux
文章平均质量分 95
junixwu
AT89C51,LPC2138,LMS1138
MSP430F5418
MT6572/82/92,helio X10,X20
MSM8974
IMX6UL
展开
-
imx6ul yocto project image build
1.系统环境系统推荐:Ubuntu 14.04 ,2G RAM,Dual cores硬盘空间:至少50G,多多益善2.工具安装$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev$原创 2017-04-29 10:53:16 · 1610 阅读 · 3 评论 -
Linux的应用层定时器实现方法
转载:http://blog.csdn.net/lu_embedded/article/details/53080496 使用定时器的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的方法。一个是用 Linux 内部的三个定时器;另一个是用 sleep 或 usleep 函数让进程睡眠一段时间;其实,还有一个方法,那就是用转载 2018-02-01 23:56:47 · 1385 阅读 · 0 评论 -
linux中的strip命令简介
linux中的strip命令简介http://blog.csdn.net/stpeace/article/details/47090255还能这样转载,我也是醉了。这个命令是给应用瘦身的,是跟编译器有关的命令。还有另外一个命令objdump可以搭配使用。查看瘦身后的情况。转载 2018-01-26 14:14:39 · 500 阅读 · 0 评论 -
linux tty设置详解
NAMEtermios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed - 获取和设置终端属性,行控制,获取和设置波特率SYNOPSIS 总览#include termios.转载 2018-01-20 16:09:35 · 5512 阅读 · 0 评论 -
内存测试工具memtester使用详解
memtester的下载地址:http://pyropus.ca/software/memtester/ 有源码安装包、deb包、rpm包等。源码已经编译好,在linux下只要make一下就好了。笔者要测试的是目标板的内存,所以要交叉编译,目标板为mips架构,所以要改变 Makefile,解压之后,目录下有这样两个文件:conf-cc、conf-ld打开conf-cc,转载 2018-01-29 18:08:24 · 13822 阅读 · 0 评论 -
linux下recv 、send阻塞、非阻塞区别和用法
非阻塞IO 和阻塞IO: 在网络编程中对于一个网络句柄会遇到阻塞IO 和非阻塞IO 的概念, 这里对于这两种socket 先做一下说明: 基本概念: 阻塞IO:: socket 的阻塞模式意味着必须要做完IO 操作(包括错误)才会返回。 非阻塞IO:: ...转载 2018-02-12 10:20:28 · 1641 阅读 · 0 评论 -
linux errno defination
主要包含在下面三个文件中。./include/uapi/asm-generic/errno-base.h ./include/uapi/asm-generic/errno.h./include/linux/errno.h wujun@wj-vBox:~/freescale/linux-imx/include$ cat uapi/asm-generic/errno-base.h #ifndef _A...原创 2018-02-12 10:31:27 · 310 阅读 · 0 评论 -
浅谈UDP 数据包长度,收包能力,丢包及进程结构选择
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/127430.htm浅谈UDP(数据包长度,收包能力,丢包及进程结构选择)[日期:2016-01-14]来源:Linux社区 作者:linuxbugUDP数据包长度UDP数据包的理论长度udp数据包的理论长度是多少,合适的udp数据包应该是多少呢?从TCP-IP详解卷一第11章的udp数据包的包头可...转载 2018-02-12 15:53:07 · 454 阅读 · 0 评论 -
linux stat 文件状态头文件定义
wujun@wj-vBox:~/freescale/linux-imx/include$ vi ./uapi/asm-generic/stat.h 1 #ifndef __ASM_GENERIC_STAT_H 2 #define __ASM_GENERIC_STAT_H 3 4 /* 5 * Everybody gets this wrong and has to stick wit...原创 2018-02-12 16:02:09 · 2417 阅读 · 0 评论 -
vim 配置选项解析
""""""""""""""""""""""""""""""""""""""""""&quo转载 2018-02-12 16:10:29 · 389 阅读 · 0 评论 -
Linux CAN编程详解
原文博客地址 http://velep.com/archives/1181.html通过读这篇博客是我搜索can通讯以来讲解的最详细的一篇,还有其自己写的一刻关于can控制的程序都是非常棒的,Linux 系统中CAN 接口配置在 Linux 系统中, CAN 总线接口设备作为网络设备被系统进行统一管理。在控制台下, CAN 总线的配置和以太网的配置使用相同的命令。在控制台上输入命令:ifconf...转载 2018-03-02 23:26:49 · 403 阅读 · 0 评论 -
initramfs的使用方法
原文地址:http://www.cnblogs.com/pied/archive/2013/01/29/2880718.html这个是翻译来的,原文地址:http://www.landley.net/writing/rootfs-howto.html怎样使用initramfs 工作过程简述在2.6kernel启动时,它把rootfs作为它的第一个文件系统挂载(注意:这里的rootfs是真名!!!不...转载 2018-03-02 23:43:06 · 6601 阅读 · 0 评论 -
为什么需要字节对齐?
文章最后附了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的...转载 2018-03-13 10:39:35 · 830 阅读 · 0 评论 -
Linux中ps命令详解
原文地址:http://blog.csdn.net/x_i_y_u_e/article/details/38708481linux上进程有5种状态: [html] view plain copy1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(...转载 2018-03-28 11:14:03 · 2833 阅读 · 0 评论 -
linux 查看进程状态
cat /proc/{PID}/statuswujun@wj-vBox:~$ cat /proc/18806/statusName: codeblocks /*进程的程序名*/State: S (sleeping) /*进程的状态信息,具体参见Tgid: 18806 /*线...原创 2018-03-28 11:35:18 · 4384 阅读 · 0 评论 -
sysfs文件系统
sysfs是一个基于内存的文件系统,它的作用是将内核信息以文件的方式提供给用户程序使用。该文件系统的目录层次结构严格按照内核的数据结构组织。除了二进制文件外(只有特殊场合才使用),sysfs文件内容均以ASCII格式保存,且一个文件只保存一个数据,另外,一个文件不可大于一个内存页(通常为4096字节)。sysfs提供一种机制,使得可以显式的描述内核对象、对象属性及对象间关系。sysfs有两组接口,...转载 2018-04-17 16:21:01 · 2399 阅读 · 0 评论 -
Linux串口编程详解
串口本身,标准和硬件什么是串行通信什么是RS-232信号定义异步通讯什么是全双工和半双工什么是流控制什么是BREAK同步通讯用户看到的串口和用户空间的串口编程串口的设备文件打开串口打开文件的选项给端口上写数据从端口上读取数据关闭串口配置串口POSIX终端接口控制选项设置波特率设置字符大小设置奇偶校验设置硬件流控制本地设置选择经典输入选择原始输入输入选项设置输入奇偶校验选项设置软件流控制输出选项选择...转载 2018-04-17 17:42:47 · 543 阅读 · 0 评论 -
重写bootloader实现freeRTOS与Linux双系统自由切换基于(i.mx6ull)
i.mx6ull是少有的官方支持FreeRTOS与linux双系统的芯片。因为处理器内核为Cortex-A7更偏向于应用处理器,所以官方主推linux系统。在某些特殊应用场景下,可能需要兼顾到低功耗与高性能。需求:(1)外部供电不足的情况下,进入低功耗模式,运行FreeRTOS,待机功耗做到1mA左右,不启用DDR。(2)在外部供电充足的情况下,进入高性能模式,运行linux。...原创 2019-08-07 23:30:13 · 3493 阅读 · 1 评论 -
linux tty通过VTIME VMIN实现阻塞与非阻塞接收
在串口设置中,有以下两个参数可以决定是否阻塞。在打开串口时不加O_NODELAY,可用下面的方法,来进行阻塞/非阻塞的设定 c_cc[VTIME] 非规范模式读取时的超时时间(单位:百毫秒),可以这么理解,从接收到后一个字节开始计时,如果超时,则退出READ c_cc[VMIN] 非规范模式读取时的最小字符数,设为0则为非阻塞,如果设为其它值则阻塞,直到读到到对应的数转载 2018-02-01 23:41:34 · 1283 阅读 · 1 评论 -
linux tty之termios 详解
一、数据成员termios 函数族提供了一个常规的终端接口,用于控制非同步通信端口。 这个结构包含了至少下列成员: tcflag_t c_iflag; /* 输入模式 */tcflag_t c_oflag; /* 输出模式 */tcflag_t c_cflag; /* 控制模式 */tcflag_t c_lflag; /* 本地模转载 2018-02-01 23:27:34 · 3262 阅读 · 0 评论 -
linux常用时间函数:time,gettimeofday,clock_gettime,ftime
time()提供了秒级的精确度 1、头文件 2、函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在的秒数 用time()函数结合其他函数(如:localtime、gmtime、asctime、ctime)可以获得当前系统时间或是标准时间。 #include #i转载 2018-02-01 23:18:45 · 1699 阅读 · 0 评论 -
imx6ul linux读取DS18B20温度
imx6ul linux下通过单总线驱动读取DS18B20温度原创 2017-10-09 15:04:32 · 4256 阅读 · 0 评论 -
imx6ul linux实现MQS播放音乐
imx6ul linux实现MQS播放音乐原创 2017-10-10 16:40:15 · 3928 阅读 · 0 评论 -
FFmpeg在Linux下编译使用
1.FFmpeg编译1.1.安装yasm这里我是直接通过ubuntu包安装的,当然也可以通过编译源码来安装。sudo apt-get install yasm1.2.下载FFmpeggit clone https://git.ffmpeg.org/ffmpeg.git1.3.配置、编译FFMPEG./configure --prefix=host -转载 2017-10-19 22:47:34 · 1731 阅读 · 0 评论 -
ffmpeg静态编译,定制功能,尽量缩小可执行程序体积
目标是编译出一个ffmpeg可执行程序,体积尽量小,功能包括:(1)采集原始视频yuv格式(2)压缩成mp4格式(3)可以解压mp4格式成yuv(4)可以直接录制mp41.源码下载http://ffmpeg.org/releases/ffmpeg-3.4.tar.bz22.解压源码(在ubuntu或者开发板上linux环境下)tar -jxf ffm原创 2017-10-23 14:53:35 · 5524 阅读 · 5 评论 -
imx6ul linux4.1.15 LED驱动配置及heartbeat源码分析
(1)查看内核配置wujun@wj-vBox:~/freescale/linux-imx$ cat arch/arm/configs/imx_v7_defconfig | grep LEDS CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_原创 2017-10-24 13:56:52 · 3877 阅读 · 0 评论 -
eMMC之分区管理、总线协议和工作模式(推荐)
http://blog.csdn.net/u013686019/article/details/66472291一、eMMC 简介eMMC 是 embedded MultiMediaCard 的简称。MultiMediaCard,即MMC, 是一种闪存卡(Flash Memory Card)标准,它定义了 MMC 的架构以及访问 Flash Memory 的接口和协议。转载 2017-10-26 15:35:15 · 4309 阅读 · 0 评论 -
开源TTS(Text To Speah)的选择和使用
TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。TTS是语音合成应用的一种,它将文件内容或应用上的文字等,如应用菜单或者网页,转换成自然语音输出。TTS不仅能帮助有视觉障碍的人阅读计算机上的信息,更能增加文本文档的可读性。一、比较流行的开源TTS项目以下信息来自:TTS open source project转载 2017-11-16 17:00:33 · 6459 阅读 · 0 评论 -
STM32F429I-DISCO ucLinux 开发环境搭建
1. 前言前段时间刚刚体验了RT1050的uclinux,emcraft对uclinux支持力度很大,而且linux官方源码已经支持STM32的MCU了。所以是时候了解一下uclinux的使用方法了。用linux最大的优势就在于丰富的代码资源。同时linux也代表了丰富的外围驱动,工程师可以不用花费太多精力在调试驱动上面。抽屉里恰好有一块STM32F429 Discovery的开发原创 2017-11-20 11:58:19 · 11971 阅读 · 16 评论 -
Sed命令中含有转义字符的解决方法
在sed命令中有许多的字符都被转义,比如\ , $, ^,单双引号还有点号等等,因此使用sed命令进行字符串的匹配和修改的时候,字符串中如果含有转义字符,很多情况下不能直接用字符本身表示。这时候可以使用反斜杠加上转义字符的方法来输出含转义字符的字符串,但这一方法并不是对所有的转义字符都有用,过程也较复杂。下面一一说明:一般而言sed命令格式由三部分组成,sed + 功能选项 + 条件选项,转载 2017-12-20 07:44:02 · 20034 阅读 · 0 评论 -
linux nand flash常用命令
使用命令前用cat /proc/mtd 查看一下mtdchar字符设备;或者用ls -l /dev/mtd*#cat /proc/mtddev: size erasesize namemtd0: 00c00000 00020000 “ROOTFS”mtd1: 00200000 00020000 “BOOTLOADER”mtd2: 00200000 00020000转载 2017-12-20 12:30:56 · 3244 阅读 · 0 评论 -
Cramfs、JFFS2、YAFFS2的全面对比
由于嵌入式系统自身存在一些特殊要求,使得一些传统的文件系统(如FAT、EXT2等) 并不十分适合。专用的嵌入式文件系统应有一些自身的特性,如文件系统面对的储存介质特殊性、文件系统应具有的跨平台的安全性,以及整个系统的即时性等。本文介绍了3种源码开放的嵌入式文件系统Cramfs、JFFS2、YAFFS2,详细分析比较了这3种文件系统的主要性能,并根据分析结果指出了各自的适用领域。转载 2017-12-13 16:05:23 · 720 阅读 · 0 评论 -
JFFS2 文件系统的工作原理
1. 操作实现 当进行写入操作时,在块还未被填满之前,仍然按顺序进行写操作,系统从 freelist 取得一个新块,而且从新块的开始部分不断地进行写操作,一旦 freelist 大小不够时,系统将会触发 “碎片收集”功能回收废弃节点。 在介质上的每个 inode 节点都有一个 jffs2_inode_cache 结构用于存储其 inode 号、inode转载 2017-12-22 15:41:42 · 3520 阅读 · 0 评论 -
基于 SquashFS 构建 Linux 可读写文件系统
嵌入式 Linux 启动过程本文所描述的的 Linux Image 由 BootLoader、kernel、initrd、rootfs 组成,它们共同存在于一个可以启动的存储设备中(本文以 USB 为例)。组成架构如下:图 1. 可启动 linux 镜像文件结构各个模块的作用如下:Boot Loader:由 BIOS 加载,用于将后续的 Kernel 和 i转载 2017-12-07 06:55:56 · 765 阅读 · 0 评论 -
RT1050(地上最强Cortex-M7) uclinux初体验
emcraft在今年十月份就已经做好了rt1050的uclinux bsp。速度真快。emcraft对uclinux的支持力度很大,我觉得linux在进一步占领嵌入式领域,侵占MCU平台。因为在官方linux的发布版本里面已经有了STM32的源代码。十月初我们拿到了MIMXRT1050-EVK: i.MX RT1050 Evaluation Kit,下载了emcraft的官方img试了原创 2017-11-16 10:37:55 · 24320 阅读 · 9 评论 -
Linux-4.4-x86_64 内核配置选项简介
Linux-4.4-x86_64 内核配置选项简介作者:金步国64-bit kernelCONFIG_64BIT编译64位内核.本文仅讲述x86_64(AMD64)平台的内核编译,所以这个是必选项.General setup常规设置Cross-compiler tool prefixCONFIG_CROSS_COMPILE交叉编译转载 2017-12-19 10:39:01 · 5824 阅读 · 0 评论 -
基于i.mx6ull实现linux快速启动(1秒内)
在某些特殊场景下,需要快速启动linux,减少外围数据丢失。并可以快速响业务需求。本文介绍如何在imx6ull+qspi nor flash的前提下,实现1秒启动应用。未完待续。。。...原创 2019-08-07 23:33:59 · 2224 阅读 · 4 评论