如何在ARM开发板上实现WEB服务器设计制作

发布者:静心悠然最新更新时间:2020-08-07 来源: elecfans关键字:ARM开发板  WEB服务器  设计制作 手机看文章 扫描二维码
随时随地手机看文章

随着计算机、通信、自动控制、微电子等技术的发展。电器设备上网已经成为现实。与传统的单片机相比,嵌入式设备重要的突破之一就是解决了设备和internet的互连问题.近年来.嵌入式技术飞速发展.种类繁多、功能强大的CPU和片外连接.为网络应用提供了稳定、可靠的硬件环境:嵌入式操作系统对这些硬件和以太网也有很好的支持,搡作系统的移植大为简化,这就为嵌入式web服务器的实现提供了方便。嵌入式web服务器将监控系统中的各种办议的数据转换成统一的TCP/IP协议格式,以便用户通过以太网远程访问web服务器。该文结合快速发震的嵌入式技术。给出了一种基于嵌入式网络化远程监控系统的web服务器实现方案。

通过创新实践课程设计建立嵌入式系统主体环节,嵌入式系统的最小结构和系统应用设计基本技能,培养分析和解决一些简单的实际问题的能力,为今后毕业设计奠定基础。随着嵌入式技术的发展和高速宽带网络的普及, 利用网络实现远程监控已为人们广泛接受, 嵌入式网络监控技术正是在此条件下逐步发展成熟起来的。用户使用 Web浏览器, 通过以太网远程访问内置 Web服务器的监控摄像机, 不但可以实现对现场的远程视频监控, 而且可以向监控现场发送指令。在整个系统的实现过程中, 嵌入式 Web 服务器起着十分重要的作用。高端嵌入式设备快速发展,硬件成本显著下降,有的嵌入式系统硬件已经与通用计算机接近。同时随着Internet的迅速发展,网络化的嵌入式产品已经成为IE产业的最大增长点,将嵌入式设备接入Internet将成为一种必然,嵌入式设备中运用Web技术也是一种必然,但一个稳定好的、适应性强的、安全性高的、可以适合多嵌入式操作系统的和有自己知识产权的嵌入式Web服务器软件也还是一个市场的需求。因此本课题主要研究和实现了一个模块化的、通过模块配置可以适合几种嵌入式操作系统、屏蔽目标平台的异构性的嵌入式Web服务器,并对安全性问题也给出了详细的研究和解决方案。


研究目的和意义

1.通过嵌入式课程设计,熟练掌握 C 语言的编程方法。基于 WEB的远程监控的实现,CGI的编写和使用,将理论联系到实践中去,提高我们的动脑和动手的能力。

2.使用博创UP-NETARM2410-S嵌入式开发平台,通过采购部分元器件完成开发板设计

3.本课题的研究目的是用 BOA 服务器、CGI、IE浏览器设计一个通过 IE 浏览器监控电机的系统,能够通过两个简单的按键对电机进行启动和停止的控制,并能够在 IE 浏览器上看到电机的当前状态。

4.由于基于 WEB的嵌入式远程监控系统将成为今后远程监控技术发展的主流方向,所以需要设计出简单实用,让人们更满意的产品。


  总体方案设计

整体方案设计

系统总体设计是基于嵌入式系统和 WEB服务器结合的思想开发的,其网络拓扑结构如图 2.1所示,一个设备的核心处理器只能连接一个Web服务器,有n个设备据需要n个Web服务器,想要将这n个设备连接在一起就必须用交换机作为中转站,这样就可以将其余的所有设备连接,实现信息的交换,而交换机则需要一个监控机来进行监督。

图 2.1 系统网络拓扑图

而针对本次课程设计提出的系统设计就是这拓扑结果中的一个单元,如图 2.2所示。

图 2.2系统方案框图


硬件系统设计——核心处理器的选择

核心处理芯片需要完成处理和支持整个系统的功能需求,通过运行 BOA 服务器要实施的接收来自各个客户端的请求和信息,并根据获得的请求和信息进行相应的后台处理以及信息的反馈。为完成上述功能,实现服务器正常运行,对处理芯片进行选型,对比现有处理芯片的优缺点,选择 ARM9 S3C2410X 芯片作为设计开发嵌入式服务器系统的核心处理芯片。S3C2410X 微处理器是一款由 Samsung 公司为手持设备设计的低功耗、高集成度的基于ARM920T 核的微处理器,为了降低系统总成本和减少外围器件,这款芯片还集成了以下部件:16KB 指令 Cache、16KB 数据 Cache、MMU、外部存储器控制器、LCD 控制器、NAND FLASH 控制器、4 个 DMA 通道、3 个 UART 通道、1 个 IIC 总线控制器、1 个 IIS总线控制器、4 个 PWM 定时器、1 个内部定时器、通用 IO 口、实时时钟、8 通道 10 位ADC 和触摸屏接口、USB 主、USB 从、SD/MMC卡接口等。


软件环境选择

1.操作系统的选择

当选定了硬件系统后,为了配合硬件达到系统的最优控制要求,对市面上常用的嵌入式系统进行分析比较。


(1)价格比较:Linux是完全免费的操作系统,只需遵循 GPL声明,不需支付任何费用;WinCE是微软的商用嵌入式操作系统,使用它需要支付 WinCE及其开发环境的费用,开发出来的每套产品也需交纳一定费用。uc/os—II系统,可以免费用于学习或科研,但开发商使用产品或销售都是收费的。


(2)开放性比较:Linux是源代码完全开放的操作系统,可以自由下载,并且在遵循GPL声明的前提下可以自由地修改、移植,为系统的开发和调试带来极大的便利;winCE是部分源码开放的商用操作系统,如果要修改其中的代码,需获得微软公司的授权;uc/os—II也是开放的实时操作系统。


(3)文件系统的比较:Linux支持绝大部分文件系统,只需选择相应的文件系统即可;

WinCE仅支持 Windows系列的 FAT16、有限文件系统;uc/os—II本身没有包括文件系统,需购买或移植。Linux与 ARM处理器从以上可以看出,Linux系统在诸多方面都存在优势,而且本身的 ARM处理器与 Linux也有着紧密的联系。因此采用 Linux操作系统。


2.服务器的选择

典型的嵌入式 Web服务器有 Boa和 thttpd两种,它们和 Apache等高性能的 Web服务器主要的区别在于它们一般是单进程服务器,只有在完成一个用户请求后才能响应另一个用户的请求,而无法并发响应,但这在嵌入式设备的应用场合里已经足够了。Boa是一个非常小巧的 Web服务器,可执行代码只有约60KB。它是一个单任务 Web服务器,只能依次完成用户的请求,而不会 fork出新的进程来处理并发连接请求。但 Boa支持 CGI,能够为 CGI程序fork出一个进程来执行。Boa的设计目标是速度和安全,在其站点公布的性能测验中,Boa的性能要好于 Apache服务器。经过上述的对比和判断,选择Boa作为系统的嵌入式服务器。


综合以上的讨论以及选择,根据系统的实际需求,最终确定了采用 S3C2410X为核心处理器,Linux为嵌入式操作系统,boa为服务器以及相应的 http浏览器的系统设计方案。


  硬件设计

系统硬件平台介绍

我们所介绍的硬件平台是基于 ARM体系结构,由北京博创兴业科技有限公司开发的UP-NetARM2410-S实验仪器。 UP-NetARM2410-S的 CPU为 ARM920T内核的三星S3c2410芯片,由于有 MMU(内存管理单元)可以运行标准的 ARM-LINUX内核。通过这个平台,我们可以实现嵌入式 LINUX中的针对无 MMU的开发过程。


S3C2410芯片介绍


系统的硬件设计方案

通常的嵌入式设备的硬件架构是以嵌入式微处理器为核心,通过CPU扩展接口以及平台硬件的支持,把众多的外设单元集成到整个系统中,并通过CPLD等逻辑转换器件和其他硬件电路完成对外设模块进行读写和控制操作。基于S3C2410的硬件平台设计最主要的工作是外围电路的设计,包括系统总线、片选、存储系统、输入和输出设计。由于S3C24l0片上集成了很多设备的控制器,外围电路的设计变得很简单。本系统利用S3C2410出色的内核性能和丰富的外部接口构造一个嵌入式系统平台。下图3.1表示了本文所设计的嵌入式Web服务器的硬件结构框图。

图3.1系统硬件结构框图


ARM处理器的外围设备

1.电源电路

设备提供 12v的电源,经 LM1085-3.3V 和 AS1117-1.8V 分别得到3.3V 和1.8V 的工作电压。开发板上的芯片多数使用了 3.3V 电压,而 1.8V 是供给 S3C2410 内核使用的。5V 电压供给 LCD、电机、总线等电路使用。

图3.2 电源电路


2.硬件复位电路

硬件复位电路由IMP811T构成,实现对电源电压的监控和手动复位操作。2410-S主板复位电路设置专用逻辑:IMP811T的复位电平可以使CPUJTAG(nTRST和板级系统(nRESET)全部复位;来自仿真器的ICE_nSRST信号只能使板级复位;来自仿真器的ICE_nTRST可以使JTAG(nTRST)复位,通过跳线选择是否使板级nRESET复位。nRESET反相后得到RESET 信号。硬件复位电路如图3.3所示。

图3.3 硬件复位

BOA服务器的简介与搭建

1.嵌入式 Web服务器 Boa 的特点

Boa 是一款单任务的HTTP 服务器, 与其他传统的 Web 服务器不同的是当有连接请求到来时, 它并不为每个连接单独创建进程, 也不通过复制自身进程来处理多链接, 而是通过建立 HTTP 请求列表来处理多路 HTTP 连接请求, 同时它只为 CGI 程序创建新的进程,这样就在最大程度上节省了系统资源, 这对嵌入式系统来说至关重要。同时它还具有自动生成目录、自动解压文件等功能, 因此 Boa 具有很高的 HTTP 请求处理速度和效率, 在嵌入式系统中具有很高的应用价值。


2. Boa 的功能实现

嵌入式 Web 服务器 Boa 和普通 Web 服务器一样, 能够完成接收客户端请求、分析请求、响应请求、向客户端返回请求结果等任务。它的工作过程主要包括:

( a) 完成 Web 服务器的初始化工作, 如创建环境变量、创建 TCP 套接字、绑定端口、开始侦听、进入循环结构, 以及等待接收客户浏览器的连接请求;

( b) 当有客户端连接请求时,Web 服务器负责接收客户端请求, 并保存相关请求信息;

( c) 在接收到客户端的连接请求之后,分析客户端请求, 解析出请求的方法、URL 目标、可选的查询信息及表单信息, 同时根据请求做出相应的处理;

( d)Web 服务器完成相应处理后, 向客户端浏览器发送响应信息, 关闭与客户机的TCP 连接。嵌入式 Web 服务器 Boa 根据请求方法的不同,做出不同的响应。如果请求方法为HEAD,则直接向浏览器返回响应首部;如果请求方法为 GET,则在返回响应首部的同时,将客户端请求的 URL 目标文件从服务器上读出,并且发送给客户端浏览器;如果请求方法为 POST,则将客户发送过来的表单信息传送给相应的 CGI 程序,作为 CGI 的参数来执行 CGI 程序,并将执行结果发送给客户端浏览器。 Boa的功能实现也是通过建立连接、绑定端口、进行侦听、请求处理等来实现的。


3.Boa的搭建与移植

(1)准备源代码、解压软件包,安装源代码到 boa网站 http://www.boa.org下载 boa-0.94.13.tar.gz 源代码,或者使用光盘的boa-0.94.13.tar.gz 软件包。$tar xzvf boa-0.94-13.tar.gz

(2)进入 src 目录,编译源代码。

解压后 src 目录下有 Makefile.in 文件,但没有 Makefile 文件,为了编译源代码,需要先生成Makefile 文件,在 src 目录下运行 configure 命令$./configure

生成的 Makefile 文件是针对 X86平台的,为了生成能够在 ARM 上运行的 boa,需要修改 Makefile 文件。将 Makefile 的 31~32 行内容:

CC = gcc

CPP = gcc –E

应用(在交叉编译时使用):

然后输入 make 命令进行编译,在 src 目录下就会生成 boa 文件。$ make然后将该文件添加到文件系统中,重新下载文件系统。如果不幸出现―icky Linux kernelbug!‖的错误,请将 src下 boa.c 的第 226 行注释掉,重新编译下载即可。

(3)安装 boa 服务器

主要是配置 boa 服务器。boa 启动时需要一个配置文件 boa.conf,该文件的缺省目录由src/defines.h 文件的 SERVER_ROOT 定义,或者在启动 boa的时候通过参数―-c‖指定。其中指定的默认目录是:/etc/boa/。

(4)登录 boa 服务器

在 PC 机浏览器地址栏输入目标系统的 IP 地址(http://172.31.55.91),访问存在于目标系统中的网页。


应用程序设计

1.程序设计依赖关系

通过对系统的分析以及对服务器的了解,系统确定了以下的软件开发系统方案,如图4.2 所示。

图 4.1 软件依赖关系

图4.2 乘法功能实现流程图

程序段电机程序的流程图如下图4.3所示。

图 4.3 电机部分流程图

驱动程序设计

驱动部分主要有两部分组成:电机驱动和网卡驱动,其中以电机驱动为主。由于在本套系统设计中,不可能每次开机都要由操作人员将驱动加入内核,这样既不方便又费时费力,所以系统采用将驱动编译进内核的模式。


(1)电机驱动

电机驱动程序流程

1、开启设备时,配置 IO 口为定时器工作方式

2、配置定时器的各控制寄存器

3、在 s3c2410_dcm_ioctl 中提供调速功能接口

4、应用程序dcm_main.c 中调用

5、实现直流电机速度的调整

驱动加载过程

以电机驱动为例:编译直流电机cd/arm2410s/kernel-2410smake menuconfig进入 Main Menu / Character devices 菜单,选择 DC MOTOR

模块加载:

编译内核模块:

make dep

make

make modules

直流电机模块的编译结果为:/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o

(2)加载模块

在超级终端中,通过加载 NFS 运行编译结果:

mount–t nfs 192.168.0.121:/arm2410s /host

Insmod/host/kernel-2410s/drivers/char/s3c2410-dc-motor.o


  嵌入式平台下的调试

客户端与服务器交互的调试与分析

由于/etc 目录只允许读不允许写,但我们搭建的 BOA服务器的运行要求在/etc目录下有 mime.types(用来指明不同文件的扩展名对应的 MIME 类型)并且还要在/etc/boa/下有相应的配置文件 BOA.conf,则需要我们重新生成根文件系统等,将我们需要的文件填到相应的位置,然后再重新生成镜像文件并烧写文件系统。


将编写好的html 程序(名称改为 index.html,因为这是输入地址后默认的访问文件) 放到目录 var/www 下。需要的 c 语言程序用 arm-linux-gcc 编译生成相应的 cgi 程序,到目录/var/www/cgi-bin 下。启动 boa 服务器,在根目录下输入 ifconfig 命令可以查找到服务器的 ip 地址,在客户端的地址栏输入该地址,就可以访问到相应的网页,通过该网页用户可以监控电机。


电机控制的调试与分析

Linux 下的直流电机程序包括模块驱动程序和应用程序两部分。Module驱动程序实现了以下方法:

static struct file_operations s3c2410_dcm_fops = {

owner:THIS_MODULE,

open: s3c2410_dcm_open,

ioctl: s3c2410_dcm_ioctl,

release:

s3c2410_dcm_release,

};

开启设备时,配置 IO 口为定时器工作方式:

({

GPBCON&=~ 0xf;

GPBCON|= 0xa;

}

配置定时器的各控制寄存器:

({ TCFG0 &= ~(0x00ff0000);

TCFG0 |= (DCM_TCFG0);

TCFG1 &= ~(0xf);

TCNTB0 = DCM_TCNTB0; /* less than 10ms */

TCMPB0 = DCM_TCNTB0/2;

TCON &=~(0xf);

TCON |= (0x2);

TCON &=~(0xf);

TCON |= (0x19); })

在 s3c2410_dcm_ioctl 中提供调速功能接口:

case DCM_IOCTRL_SETPWM:

return dcm_setpwm((int)arg);

应用程序 dcm_main.c 中调用:

ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm *factor));

实现直流电机速度的调整。

a.编译直流电机模块

cd /arm2410s/kernel-2410s

make menuconfig

进入 Main Menu / Characterdevices 菜单,选择 DC MOTOR 为模块加载:

b.编译内核模块:

make dep

make

make modules

直流电机模块的编译结果为:

/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o

c. 编译应用程序

cd /arm2410s/exp/basic/10_dcmotor/

make

生成 dcm_main

d.挂载驱动模块

insmod/host/kernel-2410s/drivers/char/s3c2410-dc-motor.o

e.运行程序

mount –t nfs 192.168.0.xxx:/arm2410s /host

insmod/host/kernel-2410s/drivers/char/s3c2410-dc-motor.o

cd /host/exp/basic/10_dcmotor/

./dcm_main

参考文献

[1]  孙天泽,袁文菊,张海峰.嵌入式设计及Linux驱动开发指南—基于ARM9 处理器[M].北京:电子工业出版社,2005

[2]  于明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006

[3] 王田苗.嵌入式系统设计与实例开发[M].北京:清华大学出版社,2003

[4] Samsung Electronics.S3C2410X32-Bit RISC Microprocessor User’s Manual,2003

[5]  周立功等. ARM嵌入式Linux系统构建与驱动开发范例.北京:北京航空航天大学出版社,2006

[3] 王进德 编著《嵌入式 LINUX 程序设计与应用案例》 中国电力出版社 2007.5

[4] 郑慕德 编著《嵌入式微型计算机系统实例教程-ARM 与 LINUX》 科学出版社2006.7

  附录

乘法程序清单:

#include

#include

intmain(void)

{char*data;

longm,n;

printf("%s%c%c","Content-Type:text/html;charset=gb2312nn",13,10);

printf(" ");

printf("

乘法结果

");


data= getenv("QUERY_STRING");

if(data== NULL)

printf("

错误!数据没有被输入或者数据传输有问题");

elseif(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)

printf("

错误!输入数据非法。表单中输入的必须是数字。");

else

printf("

%ld和%ld的成绩是:%ld。",m,n,m*n);

return0;

}

关键字:ARM开发板  WEB服务器  设计制作 引用地址:如何在ARM开发板上实现WEB服务器设计制作

上一篇:基于ARM支持实现MCU的高级视频图形功能
下一篇:一种使用ARM+FPGA高速访问USB设备的设计方案详解

推荐阅读最新更新时间:2024-11-05 11:06

开发板学习Day8:第009课 gcc和arm-linux-gcc和Makefile
第001节_gcc编译器1_gcc常用选项__gcc编译过程详解 一,gcc简介 gcc : GNU Compiler Collection 特点:功能强大、功能灵活、多平台(X86、Arm);既支持宿主的开发,又支持交叉编译。 二,gcc编译程序过程(以test.c为例) 一个CC++程序至少需要预处理(preprocessing)、编译(compilation)、汇编(assembly)、链接(linking)这四步才能称为可执行文件。下面进行详细介绍: - 预处理(Pre-Processing) 此过程主要处理C源文件中的”#ifdef”、”#include”、”#define”等预处理命令,宏定义展开,并且将i
[单片机]
<font color='red'>开发板</font>学习Day8:第009课 gcc和<font color='red'>arm</font>-linux-gcc和Makefile
拷贝动态库至arm开发板 (tar 打包链接文件)
正常arm的.so文件或者链接文件是不能被考到U盘 会出现 cp: cannot create symbolic link Operation not permitted Filesystem does not support symbolic links 等错误 或丢失 进入动态库目录 1.打包目录下所有文件 tar -chvf XXX.tar ./* 2.拷贝压缩文件至arm开发板 3.解压压缩文件 tar -xvf ./XXX.tar 附: tar -chvf xxx.tar xxx/ -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原
[单片机]
ARM 开发板 NAND FLASH空间不足解决方法
由于FL2440自带128M 的NAND flash,而分给Linux文件系统的只有60M,由于系统中有许多库文件,导致文件系统过大。 可以有两种解决方案: 1、修改bootloader和内核源代码中有关分区的信息,删除Windows CE分区,重新编译bootloader和内核,当然这样比较麻烦可以参考 http://blog.csdn.net/ll_0520/archive/2010/12/25/6098565.aspx 这需要有心理准备,很可能会遇到很多麻烦,当然解决麻烦也是锻炼动手能力的一个过程。 2、将文件系统中一些有关QT界面的库文件如:/usr/lib目录以NFS的形式挂载,这样可以节省出20M的空间 具
[单片机]
Boa Web服务器在PC和S3C2440开发板上移植
  boa是一个非常小巧的Web服务器,可执行代码只有约60KB。它是一个单任务Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。下面我们讲解以下boa如何在PC机(虚拟机RedHatAS5环境)完成移植修改工作。 一、下载Boa源码 下载地址: http://www.boa.org/或 http://labs.nevion.com/open-source/ 目前最新发行版本:0.94.13(05年更新版本)   下载 boa-0.94.13.tar.gz(注意:若从boa上下载的是boa-0.94.13.tar.tar,解压方式
[单片机]
对于电源高频变压器我们该如何有效的设计制作
设计高频 变压器 是电源设计过程中的难点,下面以反馈式电流不连续电源高频变压器为例,向大家介绍一种电源高频变压器的设计方法。 设计目标:电源输入交流电压在180V~260V之间,频率为50Hz,输出电压为直流5V、14A,功率为70W,电源工作频率为30KHz。 设计步骤: 计算高频变压器初级峰值电流Ipp 由于是电流不连续性电源,当功率管导通时,电流会达到峰值,此值等于功率管的峰值电流。由电感的电流和电压关系V=L*di/dt可知: 输入电压:Vin(min)=Lp*Ipp/Tc 取1/Tc=f/Dmax,则上式为: Vin(min)=Lp*Ipp*f/Dmax 其中:Vin:直流输入电压,V Lp:高频变压器初级电感值,m
[电源管理]
使用DBM设计的频率变换电路及制作第一部分
以下所举的试作例子为在最高频率为50MHz的标准信号产生器(Standard Signal Generator,简称为SSG)上,加上频率变换器,使其频率可以提高至80MHz的例子。 在乘算 电路 中使用DBM 频率变换的心脏部为乘算电路,在此使用双平衡混波器(Double Balanced Mixer,简称为DBM)。DBM电路做为频率变换的原理可以由实验证明。 图5所示的为频率变换器的方块图。 图5 实际的频率变换器的方块图 (在DBM电路的输出信号只有(fin+fiF)与(fin-fiF),将此经过通高频滤波器,便可以只取出(fin+fiF)) 在DBM上有二个输入端子fin与fosc。fin为SSG的最高可
[模拟电子]
工程师电子制作故事:电子管测试仪DIY设计
  由于喜欢胆机,多年来存下不少管子。一只想买一台电子管测试仪,试过多台以后发觉由于年代久远大多数测试仪已经严重老化了。并且国产电子管测试仪的负栅压是通过变换阴极电阻的阻值来提供的(就是我们常说的自给负栅压),电阻的老化和接插件的接触不良都会影响测试的精度。一个偶然的机会看到老外DIY的电子管测试仪很小巧实用就打算自己也做一台。但是要根据自己的思路做一些修改。   设计思路和实施的措施:   主要针对大多数管子的测试,自己用得少的管子就不兼顾了。用一只现成的日本仪器牛做主电源牛。参数:0V-6.3V-12.6V/2A,0V-310V/100mA, 0V-19V/1.25A   1.原理图见图1,不想画图了,借用外国网友
[测试测量]
工程师电子<font color='red'>制作</font>故事:电子管测试仪DIY<font color='red'>设计</font>
iTOP-4412开发板-实战教程-ssh服务器移植到arm开发板
在前面实战教程中,移植了“串口文件传输工具”,整个移植过程是比较简单的,而且我 们没有做任何协议方面的了解,只是“配置”+“编译”就完成了整个工作,现在大家应该对移植开源软件有了基本的了解。 入门视频教程中,给 Windows系统安装了 ssh 客户端,给 Ubuntu 安装了 ssh 服务器, 这样就可以通过 ssh 在 Windows和虚拟机 Ubuntu 之间传输文件。其实在开发板上也是可以移植和安装 ssh 服务器,这样就可以通过网络,在 Windows和开发板之间传输文件。 “实战教程-ssh 服务器移植到开发板”,我们要完成的目标是能够通过 ssh 在开发板在 Windows和开发板之间传输文件,当然也是可以使
[单片机]
iTOP-4412<font color='red'>开发板</font>-实战教程-ssh服务器移植到<font color='red'>arm</font><font color='red'>开发板</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved