面向连接的echo服务编程实例本节给出一个echo服务的编程实例,echo_serv.c是服务端源代码,提供创建服务端,绑定套接字到本机IP和8080端口,当收到客户端发送的字符串就在屏幕打印出来,并把字符串发送给客户端,如果客户端发送“quit”,服务器端退出。第77行关闭和用户建立的连接,第78行关闭服务端监听的套接字。......
2023-11-19
1.存储器的层次结构
ARM的存储器系统是由多级构成的,可以分为内核级、芯片级、板卡级、外设级,如图2.2所示。
图2.2 存储器的层次结构
(1)内核级存储器。这些寄存器被集成处理器内核中,在系统中提供最快的存储访问,访问时间为纳米量级。
(2)芯片级紧耦合存储器(TCM)。功能是弥补Cache访问的不确定性。
(3)板卡级的DARM。主存储器可能是几兆字节到几十兆字节的动态存储器,访问时间约为100ns。
(4)外设级存储器。作为后援存储器,通常是硬盘,可能从几百兆字节到几十吉字节,访问时间约为几十毫秒。(www.chuimin.cn)
2.存储管理单元(MMU)
在创建多任务嵌入式系统时,最好用一个简单的方式来编写、装载及运行各自独立的任务。
目前大多数的嵌入式系统不再使用自己定制的控制系统,而是使用操作系统来简化这个过程。较高级的操作系统采用基于硬件的存储管理单元(MMU)来实现上述操作。
MMU提供的一个关键服务是使各个任务作为独立的程序在自己的私有存储空间中运行。在带MMU的操作系统控制下,运行的任务无需知道其他与之无关的任务的存储需求情况,这样就简化了各个任务的设计。
MMU提供了一些资源以允许使用虚拟存储器。MMU作为转换器,将程序和数据的虚拟地址(由编译器和链接器在定位程序时分配)转换成实际的物理地址(物理上程序存在的区域)。
MMU采用页表方式实现地址转换,页表中包含的每个条目都描述部分内存映射到物理地址之间的转换。页表项按照虚拟地址组织。除了描述虚拟页到物理页之间的转换,页表项还提供页的访问权限和存储属性。处理器核产生的是虚拟地址,MMU的本质是将虚拟地址的高位做替换,地位地址不变,从而得到物理地址。内存按页进行分配,高位地址是某个页的基地址,而地位则是业内偏移量。页表用于为指令预取、数据读/提供地址转换和内存属性。页表的使用方法大家可参照相关书籍进行学习,这里就不在介绍了。
有关ARM嵌入式系统原理与应用的文章
面向连接的echo服务编程实例本节给出一个echo服务的编程实例,echo_serv.c是服务端源代码,提供创建服务端,绑定套接字到本机IP和8080端口,当收到客户端发送的字符串就在屏幕打印出来,并把字符串发送给客户端,如果客户端发送“quit”,服务器端退出。第77行关闭和用户建立的连接,第78行关闭服务端监听的套接字。......
2023-11-19
2.开发模式嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。表1.2常用嵌入式开发工具......
2023-11-19
Linux软件开发一直在Internet环境下讲行。Linux开发工作经常是在Linux用户决定共同完成一个项目时开始的。由于这个活跃的开发环境,新的以Linux为基础的软件功能日益强大,而且呈现爆炸式的增长态势。许多流行的Linux实用程序如C编译器、shell和编辑器都是GNU软件应用程序。Linux程序需要首先转化为低级机器语言即所谓的二进制代码以后,才能被操作系统执行。......
2023-11-19
具体来说,嵌入式系统是以应用为中心、计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。表1.1对比了通用计算机系统与嵌入式系统。......
2023-11-19
互联网采用TCP/IP协议并不是ISO规定的标准协议,但是作为应用最广泛的协议已经成为大规模网络通信的事实标准。TCP/IP协议实际上是由一组协议组成的,通常也称作TCP/IP协议簇。图10.10IPv4协议头部从图中可以看出这是个复杂的结构,最常用字段是源地址和目的地址,用来寻址和查路由。如图10.9所示,TCP协议位于网络互联层后,是IP协议的上层协议。......
2023-11-19
每个GPIO端口至少需要两个寄存器,一个是用于控制的“通用I/O端口控制寄存器”,一个是存放数据的“通用I/O端口数据寄存器”。控制和数据寄存器的每一位和GPIO的硬件引脚相对应,由控制寄存器设置每一个引脚的数据流向,数据寄存器设置引脚输出的高低电平或读取引脚上的电平。S5PV210共有237个GPIO端口,分成15组。GPP1:低功率I2S、PCM。GPIO的15组引脚除了作为输入、输出引脚外,一般都还有其他功能,称为引脚复用。图4.6GPIO端口功能框图......
2023-11-19
文件是Linux系统处理数据的基本单位,实际上,Linux系统所有的数据以及其他实体都是按照文件组织的。shell程序使用文件名通配符可以查询符合指定条件的文件名。......
2023-11-19
每组GPIO端口都有两类控制寄存器,分别工作在正常模式和掉电模式。S5PV210处理器工作在正常模式下时,正常寄存器工作;进入掉电模式时,所有配置和上拉/下拉控制由掉电寄存器控制。用于控制GPIO的引脚功能,向该寄存器写入数据来设置相应引脚是输入/输出,还是其他功能。GPIO数据寄存器GPxnDAT。GPIO上拉/下拉寄存器GPxnPUD,用于控制每个端口上拉/下拉电阻的使能/禁止。......
2023-11-19
相关推荐