2.开发模式嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。表1.2常用嵌入式开发工具......
2023-11-19
【例10.4】面向连接的echo服务编程实例
本节给出一个echo服务的编程实例,echo_serv.c是服务端源代码,提供创建服务端,绑定套接字到本机IP和8080端口,当收到客户端发送的字符串就在屏幕打印出来,并把字符串发送给客户端,如果客户端发送“quit”,服务器端退出。
程序定义了两个套接字句柄sock_fd和clientfd,sock_fd是服务端用来监听的套接字,clientfd是用户发起请求后与客户端建立的套接字。第25行调用socket()函数创建了套接字,之后设置sockaddr结构,填入本机IP和需要监听的端口号。第41行使用bind()函数绑定套接字到本机的8080端口,如果绑定成功,第50行使用listen()函数设置程序监听用户请求的参数。第60行调用accept()函数阻塞监听用户请求,如果有请求,则accept()函数返回和用户建立的套接字句柄,从此建立连接。第68行~75行通过recv()函数读取用户发送的字符串,打印后通过send()函数发送给用户,第73行判断用户发送的字符串是否等于“quit”,如果是则跳出循环。第77行关闭和用户建立的连接,第78行关闭服务端监听的套接字。
【例10.5】无连接的套接字通信服务编程实例(www.chuimin.cn)
无连接的套接字通信比较简单,这里讲给出获得一个时间的例子,服务端程序time_serv.c负责创建socket并且绑定到9090端口,然后等待客户端发出请求,当收到客户端发送的请求时间命令“time”以后,生成当前时间的字符串发送给客户端。客户端建立socket以后,直接向指定的服务端发送请求时间命令,之后等待服务端返回,发送退出命令,关闭连接。
程序第18行和第19行定义了两个地址结构变量,local表示服务端监听的地址,from用来存放发送数据到服务端的客户端地址。首先在第25行调用socket()函数创建了套接字,之后设置要绑定的IP和端口号,在第38行使用bind()函数绑定套接字到指定的端口。第48行~68行循环处理客户端发来的数据,第50行调用recvfrom()函数接收客户端发来的数据。如果收到数据,函数会设置from参数指定的sockaddr结构,内容为客户端的IP和端口。第59行和第62行判断用户发送的字符串,如果是“time”请求,在64行使用的时间函数asctime()生成当前时间的字符串形式,并用sendto()函数发送给客户端;如果是“quit”请求,则跳出循环。第69行关闭套接字,对应的连接也随之关闭。
有关ARM嵌入式系统原理与应用的文章
2.开发模式嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。表1.2常用嵌入式开发工具......
2023-11-19
面向连接的echo服务编程实例echo_client.c是客户端程序,在和服务端建立连接后发送字符串到服务端,并且接收服务端发送的字符串显示在屏幕上。client request:timeclient request:quit服务端打印了创建套接字成功,绑定套接字成功,之后进入循环等待客户端的数据,最后两行打印出了客户端发送来的命令,最后程序退出。......
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
较高级的操作系统采用基于硬件的存储管理单元来实现上述操作。MMU提供的一个关键服务是使各个任务作为独立的程序在自己的私有存储空间中运行。在带MMU的操作系统控制下,运行的任务无需知道其他与之无关的任务的存储需求情况,这样就简化了各个任务的设计。MMU提供了一些资源以允许使用虚拟存储器。......
2023-11-19
S5PV210处理器中采用的是异步串行通信方式。异步串行通信通常以字符为单位组成字符帧传送。在串行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。......
2023-11-19
ATPCS规定了一些子程序间调用的基本规则,这些规则包括子程序调用过程中寄存器的使用规则,数据栈的使用规则,参数的传递规则。下面详细介绍子程序间调用的基本规则。寄存器SP在进入子程序时的值和退出子程序时的值必须相等。......
2023-11-19
相关推荐