多用户共享的嵌入式系统开发教学平台实现
2021-02-28江苏农林职业技术学院颜秋林
江苏农林职业技术学院 颜秋林
国网江苏省电力有限公司镇江供电分公司 曹美玲
江苏农林职业技术学院 吕 骁
嵌入式系统开发课程是一门综合性高、实践性强的专业课,为更好地帮助学生掌握专业技能,教学过程中需安排相当的实践操作。然而学生电脑的软件环境配置各不相同,实践中遇到的环境问题不统一,给教学带来严重挑战。针对上述问题,本文旨在通过基于Linux操作系统服务器实现嵌入式系统开发课程的交叉编译功能,为整个课程提供稳定而又统一的教学平台,实现扫除初学者被嵌入式系统开发课程环境所困的目的。
随着电子产品智能化发展,嵌入式技术与日常生活之间的关联度愈来愈高。为保障高职大专院校毕业生高质量就业,部分高职大专院校专业也开设了嵌入式系统开发课程,努力为学生创造嵌入式技术学习条件,进而为后期从事嵌入式相关工作打下坚实基础。嵌入式系统是以计算技术为基础、多学科交叉的综合性高实践性强的应用课程。因此如何将这些知识有机结合起来,培养学生实践能力与创新能力,提升教学效果与学生培养质量,对教学组织者和实施者来说是首要考虑的问题。然而传统的嵌入式系统开发课堂教学中,课程所需要的教学环境基本都是学生各自搞一套,这就会导致授课教师需要帮助学生解决各种环境问题。又因嵌入式系统课程门槛高、入门难,大部分初学者都会被开发环境所困扰,进而影响到学习的积极性和主动性。基于此,本文准备引入企业级的嵌入式开发环境,以Linux系统服务器为基础,在此服务器上主要安装samba服务、ssh服务和交叉编译工具链,最终实现稳定而又统一的课程教学平台,解决学生嵌入式系统开发课程学习的首要困难。
1 教学平台网络拓扑图
教学平台的网络拓扑图如图1所示。该教学平台的搭建以学校的校园网络为基础,确保服务器与PC机之间网络通畅,此外服务器上安装Ubuntu16.04操作系统,在不影响其它课程对实验室教学环境使用的前提下,实验室的PC机仍然安装通用的Windows操作系统。此时的PC机在嵌入式系统开发课程中只充当客户端的角色,平台所提供的功能更多都是在服务器上实现。
图1 网络拓扑图
2 教学平台搭建流程
该教学平台在更多时候称为交叉编译环境,它的实现步骤中最基本、最核心的是服务器上的功能安装以及配置的设置,主要包括ssh服务、samba服务和交叉编译工具链。下面分别对其进行阐述。
2.1 ssh服务
ssh(安全外壳协议)为建立在应用层基础上的安全协议,较可靠,专为远程登录会话和其他网络服务提供安全性的协议。用系统账号登录服务器,在其终端输入apt-get install openssh-server命令进行安装,安装完成后通过/etc/init.d/ssh restart命令重启ssh服务,最终通过netstat -tlp命令查看ssh服务是否安装成功。
2.2 samba服务
samba由服务器及客户端程序构成,主要为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。首先apt-get install samba samba-common命令进行samba安装;然后创建共享路径并且修改其权限;其次修改/etc/samba/smb.conf配置文件,配置文件里面主要设置共享路径访问方式等相关权限;最后添加共享路径的登录用户名和密码,添加完成后通过/etc/init.d/smbd restart命令重启samba服务。
2.3 交叉编译工具链
交叉编译工具链通常厂商都会提供配置好的压缩包,只需把工具链压缩包放在服务器上解压配置环境变量即可。此外需要注意,Linux是多用户多任务的操作系统,为方便起见,一劳永逸的办法是交叉编译工具链的路径添加至Linux系统级环境变量配置/etc/profile文件中,系统重启后所有用户登录后都能使用该工具链。
2.4 其它辅助功能
根据课堂教学需求,服务器上创建普通用户,再为每个普通用户创建samba账号以及密码,依据实际情况进行samba配置,配置完成后重启samba服务。此外为防止课堂上个别学生无限制地往服务器上传大容量文件,进而占满服务器存储空间导致其它学生不能正常使用的情况,需在服务器进行用户磁盘配额,为每个用户限制使用存储容量的大小,超过就无法向服务器上传。
3 教学环境使用方法
无论是ssh远程登录连接还是samba连接,必须要保证这套环境中服务器与客户端之间的网络是互通的,否则会连接不成功。
3.1 ssh远程登录
客户端PC机上安装终端仿真程序,通常使用secure CRT或Putty软件,选择ssh2协议登陆至服务器,在PC机上就能进行相关操作如同在Ubuntu上的终端操作一样。以CRT软件为例,ssh远程登录配置如图2所示。
图2 ssh远程登录配置
3.2 samba连接
samba连接服务器流程简单,打开我的电脑路径栏输入\服务器ip地址,可以看到服务器上的创建的samba共享文件如图3所示,选择对应的共享文件输入相应的账号即可进入共享空间,为操作方便把共享文件通过网络磁盘映射方式映射至本地电脑,映射成功后操作Linux的空间如同Windows上的磁盘如图4所示,此时所熟悉的Windows工具就能在此盘上使用了。
图3 samba共享文件
图4 共享文件映射为本地磁盘
基于Linux+Windows平台下嵌入式系统开发课程教学平台的搭建以校园网络为基础,以安装Ubuntu操作系统的服务器作为教学平台的核心,该服务器上主要安装ssh服务、samba服务以及交叉编译工具链等。教学平台环境实现了以下目标,一是嵌入式系统开发课程学习环境搭建复杂且琐碎,但教学平台建好能够长期使用;二是统一教学平台后,教学能够避免不同的编译环境问题,为学生避开了暂时不需面对的障碍;三是对Linux系统操作要求降低了,学生可以使用熟悉的Windows开发工具进行编码,进而可以把更多精力用在课程上而不是耗费在环境问题上。