嵌入式Linux的OTA更新,第1部分-基础知识和实现 OTA updates for Embedded Linux,  Fundamentals and implementation 更新的需要 一旦嵌入式Linux产品离开实验室进入现实世界,如何更新设备的问题将成为重要的考虑因素. 更新并不总是必要的,但是很难想象任何一个软件都没有在某个时刻被发现的bug.即使您的软件是完美的,如果设备在网络或internet上与任何开放源代码库通信,安全更新也可能成为必要. 以CVE-2104-01650…
驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB video class 或USB video device class.是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一. UVC linux driver: UVC linux 驱动 需要在编译内核的时候选上 配置内核 Device…
由于自己总是记不住linux里权限的一些知识,因此简单总结如下: 查看文件权限 // 列出所有文件 ls -al // 最前面的一串10个字母的字符串 // 可能像 drwxrwxr-x // 第一位,表示文件类型,如d表示directory // 第234位,表示所有者(user)的权限 r 表示可读, 对应数字4 w 表示可写, 对应数字2 x 表示可执行(如果可以被执行的话), 对应数字1 - 表示还没有被授权 // 第567位,表示组群(group)的权限 // 第8910位,表示其他人…
目录结构: /bin:存放系统常用的命令程序 /boot:系统启动或引导所需要的一些文件 /dev:可用的设备文件 /etc:系统配置相关的东西 /home:所有用户的主目录 /lib,lib64:存放系统的库文件 /media:即插即用设备文件 /mnt:存储设备挂载目录 /opt:可选软件包安装目录 /proc:目录本身是个虚拟机系统,记录进程,网络信息等 /root:管理员主目录 /sbin:重要的系统执行文件 /sys:虚拟文件系统,记录内核数据 /usr:用户的可用程序目录 /var:…
V4L2是Linux环境下开发视频采集设备驱动程序的一套规范(API),它为驱动程序的编写提供统一的接口,并将所有的视频采集设备的驱动程序都纳入其的管理之中.V4L2不仅给驱动程序编写者带来极大的方便,同时也方便了应用程序的编写和移植,具有广泛的应用价值. Video for Linux two(Video4Linux2)简称V4L2,是V4L的改进版.V4L2是linux操作系统下用于采集图片.视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片.视频.音频等的采集…
#include<stdio.h> int main(void) { printf("hello world\n"); return 0; } gcc -g -wall helloworld.c -o hello_world 生成可执行文件,其过程 涉及预处理,编译,汇编,链接等多个步骤 预处理:用于处理预处理命令,上面helloworld代码的预处理就是#include,该头文件所有源码将在第一行展开,可使用 gcc -E helloworld.c > hellow…
HTTP介绍: HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议,是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等). HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统:HTTP协议工作于客户端-服务端架构为上,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送…
1:用户的shell历史命令保存在home/username/.bash_history中 #!!  执行用户的上一条命令 #!pw  执行命令历史中最近一次以pw开头的命令 2:'*'来匹配零或多个字符 '?’匹配一个字符 #ls -d Day* 列出Day开头,后面匹配所有字符的目录 #ls -d Day? 列出Day开头,后面匹配一个字符的目录 3:>> 在文件中追加重定向 > 在文件中重定向 4:| 管道符 #cat /etc/passwd|wc -l cat /etc/pass…
事先规划好Linux操作系统的分区 Linux操作系统的分区规划跟微软操作系统的分区规划不同.后者分区规划对于其性能的影响很小.但是Linux操作系统的分区规划则不同,其对服务器的性能影响很大.其实我喜欢把Linux操作系统的分区比喻中Oracle数据库中的表空间规划,他们两个具有异曲同工之妙.规划的好坏都会直接影响到其运行的性能.而只需要在部署的时候稍微做一些调整,则对于后续性能的影响是非常显著的. 如我如果把Linux操作系统当作服务器来用的话,则会考虑把某些特殊的目录放置在不同的分区上,这…
目录 堆的概述 什么是堆 堆的基本操作 堆操作背后的系统调用 堆的相关数据结构 微观结构 malloc_chuck chunk相关宏 bin 宏观结构 arena heap_info malloc_state 深入了解堆实现 堆初始化 malloc_consolidate() 创建堆 unlink 申请内存块 _libc_malloc _int_malloc 释放内存块 _libc_free 内容来源 堆的概述 什么是堆 堆用来在程序运行时动态的分配内存,对其实就是虚拟空间里从地址向高地址增长的…