基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

目录

前言

1  添加组件

1.1  Shell Command

1.2  RAM Disk

1.3  FTP、Telnet和TFTP组件

2  组件测试

2.1  RAM Disk测试

2.2  FTP功能测试

2.3  Telnet测试

2.4  Tftp功能测试


前言

        本篇文章主要讲解在Workbench3.3的IDE开发工具上添加VxWorks6.9相关的shell、内存盘、FTP、Telnet和FTP等开发常用和必备的组件,同时在ZedBoard上配套完整的组件测试验证。

开发使用工具说明:

  1. WorkBench3.3
  2. ZedBoard开发套件

1  添加组件

1.1  Shell Command

(1)打开“Kernel Configuration”,“development tool components”添加“kernel shell components”组件。

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

(2)完成上面include,继续添加“file system shell commands”。

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

 

1.2  RAM Disk

(1)在“operating system components(default)”选项中添加“dosFS  File System Components(dosFs2)”组件。

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

(2)在“hardware”组件,打开“peripherals”添加“RAM Disk”组件,并配置其内容如下,命名为“c:”,大小为16M。

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

1.3  FTP、Telnet和TFTP组件

(1)添加“ifconfig”组件。

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

 (2)添加“FTP Components”组件:

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

(3)添加完组件后,打开“FTP Server”选项:

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

这里修改参数“FTP initial directory”,默认参数配置为“IPCOM_FILE_ROOT,将其修改成上述创建的RAM Disk“c:”。

(4)添加TelnetTftp组件

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

在组件选项中添加“TELNET Components(default)”和“TFTP Components”组件。其中需要配置TFTP组件下“TFTP common configuration”下“TFTP server worksing directory”参数,参数默认配置为“IPCOM_FILE_ROOT "tftpdir",这里将其改成“c:”。

 

(5)在为VxWorks操作系统添加远程操作功能之前,还有一个组件是必须安装的。即“System Level Security Components”:

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

在该组件下有四个参数需要配置:

enables SYSFLG_NO_SECURITY boot flag

rlogin/telnet encrypted password

rlogin/telnet encrypted password salt

rlogin/telnet user name

为了使用户安全远程访问系统,这里需要仔细配置这四个参数。这几个参数说明:

第一个参数表示是否不需要安全权限

第二个参数是用户远程访问所需密码

第三个参数是一组密钥,用来加密使用

第四个参数是远程登陆用户名。

这里系统默认的用户名是“target”,第二参数"m4qJ/O/Iam+2AdBmwD7+cav+W6HABSdMF2yQyK+rIQA="和第三参数"BFqADK/VLEk="合成的密码是“password”。软件设计师可以根据需要自行在这里修改相应的用户名和远程登陆密码;同样也可以在软件代码中添加新的用户和密码。下面举例说明如何通过软件代码添加一位新的远程用户:

现在希望添加一个用户名叫“target”,密码为“target”。

a) 在Workbench3.3菜单栏中打开“project”,选择“open development shell”:

基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇 

b) 在shell中输入“vxencrypt”: 

基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

c) 系统将随机产生一组salt和password:

salt is MzgAAE8SAAA=

hashed password is J/FoWNdo+9ZD4IB1B+Hii49mTimyYQseBXEyIoD+F3I=

设计师可在组件配置选项中完成配置:

基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇 

 

在应用程序入口处“usrAppInit()”添加用户登录验证代码:

void usrAppInit (void)

   {

#ifdef   USER_APPL_INIT

      USER_APPL_INIT;             /* for b#endif

            

loginUserAdd("vxworks","Oe3H6+f65OHUZVX+2ZmIHdBKSDPmG20CECwQt0HI4Oc=", "v0IAAJF9AAA=");

 

     }

保存编译vxworks,下载到ZedBoard中测试远程登陆。

 

2  组件测试

2.1  RAM Disk测试

可以正常打开使用vxworks内核创建的临时“c:”

基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

 

2.2  FTP功能测试

打开cuteFtp工具,配置好链接参数:

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

从本地电脑里C:盘上传文件“vxworks”和“vxworks_rom.bin”到远程系统临时盘c:,测试可正常上传下载。

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

2.3  Telnet测试

在串口终端建立一个telnet连接:

基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇 

基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

 

经测试,telnet用户可以正常使用:

第一组用户:

用户名:target  密码:target  

基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇 

2.4  Tftp功能测试

(1) Tftp下载功能测试:

 tftp  172.17.17.57 get tftp.txt download.txt

基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

 

(2) Tftp上传功能测试:

tftp  172.17.17.57 put download.txt tftp1.txt

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

 

将下载前的文件tftp.txt0和上传后的文件tftp1.txt比较。

 基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇

经测试,Tftp下载和上传前后的文件大小和内容均相同,Tftp功能正常。

 

版权声明:玥玥 发表于 2021-05-29 17:39:29。
转载请注明:基于Zynq7000平台VxWorks6.9开发应用—组件开发应用篇 | 女黑客导航