05 2016 档案

摘要:当我们进行文件系统的移植时,每次都进行烧录,传输文件显得非常的麻烦.NFS可以有效的解决这个问题,宿主机和开发板通过网络相连,在宿主机某个目录当作开发板的根文件系统,在开发板内核启动起来以后通过网络进行挂载,这样就可以实时的进行文件的修改,方便快捷! 要使用NFS文件系统需要在内核配置时选上对NFS 阅读全文
posted @ 2016-05-31 17:40 叫我大哥哥 阅读(232) 评论(0) 推荐(0)
摘要:Linux内核实现了一套特殊的内存虚拟文件系统用于使用与文件接口统一的操作来完成系统信息管理,它们包括: procfs、devfs、sysfs。 一、procfs procfs是Linux内核信息的抽象文件接口,大量内核中的信息以及可调参数都被作为常规文件映射到一个目录树中/proc.这样我们就可以 阅读全文
posted @ 2016-05-30 15:49 叫我大哥哥 阅读(335) 评论(0) 推荐(0)
摘要:使用busybox创建了最小根文件系统,然后补全必须存在的目录. /lib目录下的链接库文件从交叉编译器里面拷出来就行,鉴于嵌入式的运行环境还是比较苛刻的,所以按需拷取. /etc/inittab /etc/fstab: 文件内容与格式介绍, man fstab <file system> <dir 阅读全文
posted @ 2016-05-30 15:32 叫我大哥哥 阅读(127) 评论(0) 推荐(0)
摘要:在嵌入式文件系统的制作中,有一个工具不得不提,那就是Linux中的"瑞士军刀"--busybox. 如果是我们直接从零开始制作文件系统,那么shell命令集的制作不仅费时间,而且还不全,所以我们就需要一个工具来帮我们来做这个工作. BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的 阅读全文
posted @ 2016-05-29 21:20 叫我大哥哥 阅读(565) 评论(0) 推荐(0)
摘要:根文件系统是内核第一个挂载的文件系统,包含Linux系统完整启动所需的目录结构和重要文件,其它所有文件系统进行挂载使用的载体,就是分区中的 "/". 根文件系统的要求: 一般结构: /bin 存放二进制可执行命令的目录 /dev 存放设备文件的目录 /etc 存放系统管理和配置文件的目录 /home 阅读全文
posted @ 2016-05-29 20:37 叫我大哥哥 阅读(219) 评论(0) 推荐(0)
摘要:.text //代码段.global _start //表明程序入口_start: //入口函数 BL main //跳转到c语言中的main,不一定要转跳到main,也可以执行其他的汇编指令 一般工程中,纯汇编复杂,而且效率比C语言并没有提高多少,所以在没有操作系统的工程中,最好的开发方式就是用汇 阅读全文
posted @ 2016-05-29 20:26 叫我大哥哥 阅读(561) 评论(0) 推荐(0)
摘要:ARM体系的CPU有以下7种工作模式: 1、用户模式(Usr):用于正常执行程序; 2、快速中断模式(FIQ):用于高速数据传输; 3、外部中断模式(IRQ):用于通常的中断处理; 4、管理模式(svc):操作系统使用的保护模式; 5、数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可 阅读全文
posted @ 2016-05-24 21:30 叫我大哥哥 阅读(949) 评论(0) 推荐(0)
摘要:首先上电以后芯片会在固化好的一个地址寻找第一个启动程序,完成初始化工作,然后转跳到预定的一个地址来执行裸机程序或者UBOOT程序,在UBOOT中按照设置好的内核启动参数来启动内核,告诉内核怎么样加载,怎么样初始化,和第一个程序,根文件系统的位置.然后内核启动好了以后,挂载根文件系统,执行第一个程序i 阅读全文
posted @ 2016-05-24 20:56 叫我大哥哥 阅读(1036) 评论(0) 推荐(0)
摘要:由于广播和组播不会建立连接,所以只能使用UDP协议. 广播就是向局域网中的所有主机发送广播报文. 1、IPv4地址的表示{子网id,主机id}A/B/C/D/E类地址, -1表示所有位都为1的字段 2、子网广播地址,{子网id,-1},指定子网上所有接口的广播地址192.168.1.0/24 该子 阅读全文
posted @ 2016-05-21 20:39 叫我大哥哥 阅读(889) 评论(0) 推荐(0)
摘要:在一般的套接字编程中,我们只能读取内核给我们加工以后的IP数据包,并不能直接读取和修改原始的IP数据包,如果我们要修改原始的IP数据包,那么我们就需要原始套接字来接收数据包. 创建原始套接字 int socket(AF_INET, SOCK_RAW, protocol); 这个函数在前面已经介绍过了 阅读全文
posted @ 2016-05-21 20:01 叫我大哥哥 阅读(292) 评论(0) 推荐(0)
摘要:epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤 阅读全文
posted @ 2016-05-15 21:37 叫我大哥哥 阅读(207) 评论(0) 推荐(0)
摘要:select使用的是IO复用的方式进行多客户端的处理,当有客户端的连接以后会将该客户端的套接字等信息添加到队列中,然后采用轮询的方式来判断客户端是否有消息发送过来.如果客户端断开,重置队列信息,关闭套接字. 因为是使用轮询的方式进行,所以在较多客户端下速度会较慢,而且受到Linux文件 阅读全文
posted @ 2016-05-14 17:41 叫我大哥哥 阅读(321) 评论(0) 推荐(0)
摘要:通过一般的方法写的服务端是没法支持多客户端的访问的,而且进行IO操作容易阻塞,从而会影响其对客户端的响应. 我们可以通过一下几种方式进行多客户端的服务端设计: 如果我们要设计高并发的服务端,咱们可以将这三个方法和起来使用,高并发建议使用epoll技术处理,采用事件的方式,占用资源小,速度快.当达到一 阅读全文
posted @ 2016-05-13 21:45 叫我大哥哥 阅读(256) 评论(0) 推荐(0)
摘要:socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间 阅读全文
posted @ 2016-05-13 17:28 叫我大哥哥 阅读(207) 评论(0) 推荐(0)
摘要:服务端:一般服务端首先要将服务打开,在Linux中,网络服务的创建步骤基本上差不多.基本上这些代码都是可以通用的. #include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#incl 阅读全文
posted @ 2016-05-13 17:15 叫我大哥哥 阅读(301) 评论(0) 推荐(0)
摘要:网络协议就是计算机通过网络进行数据交换的一系列的标准,规则和规范的集合.常见的协议有TCP协议,IP协议,UDP协议,ICMP协议.这都都是传输方面的协议,还有应用层的协议如http协议,ftp协议等等,这个应用层协议是为了告诉别的计算机自己发送的数据是什么意思. IP协议:该协议是网络层协议,IP 阅读全文
posted @ 2016-05-13 16:32 叫我大哥哥 阅读(216) 评论(0) 推荐(0)