摘要:
目录: 第一部分:嵌入式的含义 第二部分:DOS命令 第三部分:linux的发展历史(与unix的关系) 第四部分: 基于ubuntu下的linux命令详解大全 第一部分:嵌入式的含义 嵌入式软件工程师学习路线: 1、什么是嵌入式? 除PC外的一切以应用为中心的专用计算机系统。(满足人们特定需求) 阅读全文
摘要:
LAMP 0、使用include和require命令来包含外部PHP文件。 使用include_once命令,但是include和include_once命令相比的不足就是这两个命令并不关心请求的文件是否实际存在,如果不存在,PHP解释器就会直接忽略这个命令并且显示一个错误消息,而程序继续运行。 解 阅读全文
摘要:
1、一般情况下,对每一种设备驱动都会定义一个软件模块,这个工程模块包含.h和.c文件,前者定义该设备驱动的数据结构并声明外部函数,后者进行设备驱动的具体实现。 2、典型的无操作系统下的逻辑开发程序是:这种三层的裸机驱动模型是足够满足低耦合、高内聚的特点的。 3、当有操作系统存在时,设备驱动成为了连接 阅读全文
摘要:
内核基础 1、linux内核主要是由进程调度、内存管理、虚拟文件系统(字符设备驱动和块设备驱动)、网络接口(网络设备驱动)和进程通信5个子系统组成的。 1)进程调度控制系统中的多个进程对CPU的访问,使得多个进程能在CPU中"微观串行,宏观并行"地执行。 2)内存管理的主要作用就是控制多个进程安全的 阅读全文
摘要:
驱动概述 驱动用在哪里?非标准类设备的编写和标准类设备的驱动移植。 驱动实际上是随着linux内核相伴而生的。某段代码能够控制我们的硬件去工作,去动,这段代码就称为我们的驱动代码。 技术只是一种手段,一种技巧,我们应该利用技术去搞出产品。 5.1.1_2.什么是驱动1_2 5.1.1.1、理解驱动的 阅读全文
摘要:
3.9.1.linux网络编程框架 3.9.1.1、网络是分层的 (1)OSI 7层模型(理论指导) (2)网络为什么要分层 (3)网络分层的具体表现 3.9.1.2、TCP/IP协议引入(网络分层实现的具体实现) (1)TCP/IP协议是用的最多的网络协议实现 (2)TCP/IP分为4层,对应OS 阅读全文
摘要:
3.8.1.网络通信概述 3.8.1.1、从进程间通信说起:网络域套接字socket,网络通信其实就是位于网络中不同主机上面的2个进程之间的通信。 3.8.1.2、网络通信的层次 (1)硬件部分:网卡 (2)操作系统底层:网卡驱动 (3)操作系统API:socket接口 (4)应用层:低级(直接基于 阅读全文
摘要:
3.7.1.再论进程 3.7.1.1、多进程实现同时读取键盘和鼠标 3.7.1.2、使用进程技术的优势 (1)CPU时分复用,单核心CPU可以实现宏观上的并行、微观上的串行 (2)实现多任务系统需求(多任务的需求是客观的,多任务就是同时要做很多事情) 3.7.1.3、进程技术的劣势 (1)进程间切换 阅读全文
摘要:
3.6.1.非阻塞IO 3.6.1.1、阻塞与非阻塞 阻塞:阻塞具有很多优势(是linux系统的默认设置),单路IO的时候使用阻塞式IO没有降低CPU的性能 补充:阻塞/非阻塞, 它们是程序在等待消息(无所谓同步或者异步)时的状态. 阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果 阅读全文
摘要:
信号实现进程间的通信 3.5.1.什么是信号 3.5.1.1、信号是内容受限(只是一个int型的数字)的一种异步通信机制 (1)信号的目的:用来通信(进程与进程之间的通信) (2)信号是异步的(对比硬件中断),信号好像就是一种软件中断。 (3)信号本质上是int型数字编号(事先定义好的) 3.5.1 阅读全文
摘要:
补充: 1、 C程序的执行过程: C编译器调用链接器,链接器设置可执行程序文件的启动起始地址(启动例程),启动例程获得内核传递来的 命令行参数和环境变量值,为调用main函数做准备。【实际上该启动例程常用汇编语言编写】,如果将启动例程换做C语言就是:exit(main(argc,argv)); ma 阅读全文
摘要:
3.3.1.关于时间的概念 3.3.1.1、GMT时间 (1)GMT是格林尼治时间,也就是格林尼治地区的当地之间。 (2)GMT时间的意义?【用格林尼治的当地时间作为全球国际时间】,用以描述全球性的事件的时间,方便大家记忆 (3)一般为了方便,一个国家都统一使用一个当地时间。 3.3.1.2、UTC 阅读全文
摘要:
Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差不多。 1. / 文件系统的入口,最高一级目录; 2. /bin 基础系统所需要的命令位于此目录,是 阅读全文
摘要:
3.1.1.应用编程框架介绍 3.1.1.1、什么是应用编程 (1)整个嵌入式linux核心课程包括5个点,按照学习顺序依次是:裸机、C高级、uboot和系统移植、linux应用编程和网络编程、驱动。 (2)典型的嵌入式产品就是基于嵌入式linux操作系统来工作的。典型的嵌入式产品的研发过程就是;第 阅读全文
摘要:
一:架构概述 FreeRTOS是一个相对较小的应用程序。最小化的FreeRTOS内核仅包括3个(.c)文件和少数头文件,总共不到9000行代码,还包括了注释和空行。一个典型的编译后(二进制)代码映像小于10KB。 FreeRTOS的代码可以分解为三个主要区块:任务,通讯,和硬件接口。 ●任务:大约有 阅读全文
摘要:
一:FreeRTOS 作为一个轻量级的操作系统,FreeRTOS 提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS 内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU 总是让处于就绪态的、优先级最高的任 阅读全文