APP下载

单片机在线开发环境设计

2019-06-11陈倚重

电子技术与软件工程 2019年7期
关键词:信息反馈服务器端浏览器

文/陈倚重

目前高职院校单片机课程主要以51系列单片机为教学目标,集成开发环境(IDE)则采用ARM公司的Keil,具备了程序输入、编辑、编译、仿真、调试等多种功能,但作为单片机初学人员来说,IDE很多功能用不到,而且现在软件文件动不动几百M到几个G,安装越来越繁琐。比如很多单片机系统程序只需一个源文件就可以,完全可以用编辑软件编辑完后,用命令行的方式生成HEX文件下载到开发板上。

该文针对高职院校单片机教学要求设计了单片机系统开发软件,采用网络方式,利用浏览器登录就可以使用单片机系统开发所需的程序编辑、编译等功能,能生成硬件所需的HEX文件。通过该系统可以解决教学的场所问题,不用因为软件安装问题必须固定在一个实训室,也无需对学生机软件进行维护;还可以解决单片机学习的共享问题,在网络上相互分享程序开发心得。

1 系统设计

1.1 基本框架

如图1所示,系统采用BS架构,即浏览器-服务器架构,在这种结构下,通过浏览器来进入工作界面,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成三层(3-tier)结构。这样使得客户端电脑负荷大大简化(因此被称为瘦客户端),减轻了系统维护、升级的支出成本,降低了用户的总体成本(TCO)。

1.2 工作原理

图1:BS架构

图2:工作原理

浏览器通过Web表单提交C源程序,在服务器端调用编译软件编译源文件,如产生错误,读取错误信息发送到浏览器编译信息窗口,提示用户程序的错误信息;编译通过则将编译后生成的HEX文件通过链接的方式发送给用户供下载。如图2所示。

2 浏览器端

图3:浏览器窗口

用户通过浏览器编写程序。主要包含了三个子模块,文件管理区、程序编辑区、信息反馈区。浏览器窗口如图3所示。

2.1 文件管理区

文件管理区便于用户管理自己的程序源文件,可以创建、增删文件。当项目开发涉及多个文件时,引入包的概念,将其包含在一个目录里面。

2.2 程序编辑区

用户通过源程序编辑区界面输入、编辑、提交代码。利用CSS3、JavaScript 以及Bootstrip等技术制作网页。采用bui框架,使用户在编辑程序时,代码能够高亮显示并自动缩进,能够自动生成代码列表,方便用户,减少编写代码错误。实现屏蔽浏览器兼容差异的无刷新提交,优化用户体验。

2.3 信息反馈区

当程序提交服务器编译后,服务器读取编译的信息反馈到信息反馈区,如果有错误则显示错误提示,没有错误则显示编译的基本信息,并把编译文件以链接的方式显示在信息反馈区上供用户下载。

3 服务器端

在服务器端搭建Apache Tomcat + MySQL的服务支持,当服务器接收到浏览器发送来的源程序后,调用C51.exe对文件进行编译产生.obj目标文件,再调用BL51.exe对生成的目标文件进行链接定位,生成绝对目标文件,最后调用OH51.exe对绝对目标文件进行转换,生成.hex可执行文件,最后将.hex文件链接发送到浏览器端。

4 结语

传统的单片机集成开发环境是单机模式的,使用前都需要进行安装。学期前,为了能够使教学顺利的进行,实训室管理员在学期开始就要将所有的软件安装到每一台机器上,然后不时维护因使用不当而出现的软件错误。基于网络的单片机开发平台解决软件在安装、维护的问题,减少不必要的工作。

基于网络的单片机开发平台可以使用户不用理会空间和时间的限制,只要可以访问网络,就可以随时随地的进行单片机的开发,用户也可以及时的方便的进行交流。

猜你喜欢

信息反馈服务器端浏览器
Linux环境下基于Socket的数据传输软件设计
反浏览器指纹追踪
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
环球浏览器
网页防篡改中分布式文件同步复制系统
《知识窗》第1期读者评刊表
《知识窗》第5期读者评刊表