发表于: 2017-3-19 21:48:27 | 显示全部楼层

译者注:感谢Thomas P. Weldon做出的贡献,原英文链接地址:Tutorial for Java/NetBeans Ethernet TCP Interface to FRDM-K64F Using Mbed,如有错漏之处,敬请指正。


1    概述

本教程介绍了如何使用Java / NetBeans创建在笔记本电脑上运行的图形界面,该界面能够通过以太网/ TCP向恩智浦FRDM-K64F开发板的RJ-45端口发送和接收消息和数据。 此外,本教程简要介绍了使用mbed.org在线编译器接口对FRDM-K64F开发板进行编程,以通过以太网/ TCP接收/发送数据、运行ADC(模数转换器)、运行DAC(数模转换器),并使用mbed CMSIS DSP库执行快速傅里叶变换。 FRDM-K64F微控制器基于ARM Cortex-M4内核,主频高达120MHz,具有1024KB闪存、256KB RAM、16位ADC、12位DAC和定时器。 NetBeans界面构建器显示在下面的左侧,FRDM-K64F开发板显示在下面的右侧。 (注意下图为FRDM-K64F开发板上的正确usb端口)

nbEther_DispUI2.jpg


2     入门

为了使您的项目快速启动和运行,我们将只使用NetBeans(在笔记本电脑上)“按原样”编译接口程序,将二进制文件下载到FRDM-K64F开发板,然后“按原样”运行软件。


我们将在项目中使用FRDM-K64F mbed开发板和您的个人笔记本电脑,其中笔记本电脑作为服务器,通过以太网RJ-45电缆控制作为客户端的FRDM-K64F mbed开发板。 我们将主要使用mbed.org在线编译器来创建、编辑和编译FRDM-K64F开发板的客户端软件程序代码。 个人笔记本电脑上的NetBeans将用于创建、编辑和编译服务器端软件程序代码。


以下链接应有助于您简要了解硬件:

●     推荐开发板和一些相关部件的视频:http://thomasweldon.com/tpw/courses/eegr6114/javambed/frdmK64_partsVideo.html

●     FRDM-K64F mbed网站:https://developer.mbed.org/platforms/FRDM-K64F/


2.1    安装Netbeans

不要安装NetBeans 8.0之后的任何版本。 版本8.0可以正常工作,但版本8.1有“JUnit hamcrest”错误。 请确保安装包含Java和C ++工具的完整版本。 如果您的笔记本电脑上没有安装NetBeans,请安装NetBeans。


NetBeans IDE是构建应用程序的工具,允许用户快速添加按钮和小部件到自定义GUI(图形用户界面)。 下载和有关NetBeans的文档,请访问https://netbeans.org 注意:如果您决定将NetBeans下载到家庭计算机,请确保您使用的是与本文中的相同或推荐的版本。


2.2    注册mbed.org开发人员帐户并下载教程使用的软件

Mbed.org托管了一个在线编译器,我们将使用它来创建、编辑和编译FRDM-K64F开发板的程序代码。按照以下步骤获取mbed.org帐户来访问编译器,然后按照说明更新固件,然后再执行其他操作。

●     注册mbed.org开发人员帐户,并确保您同意他们的许可。

●     首先,请确保您的FRDM-K64F开发板固件更新到最新版本!

       ○     请访问:https://developer.mbed.org/handbook/Firmware-FRDM-K64F,来了解FRDM-K64F开发板的更新

       ○     还可以在这里查看:https://developer.mbed.org/platforms/FRDM-K64F/,来了解FRDM-K64F开发板的更新

●     熟悉Mbed.org的基于Web的IDE(集成开发环境)

●     mbed IDE将是我们共享和编译项目/代码的主要工具

●     Mbed IDE不支持调试(要进行调试,您需要使用下面介绍的KDS / KSDK IDE或eclipse / platformio IDE)

●     登录到mbed.org帐户后,您应该导航到开发人员页面https://developer.mbed.org/,或直接到https://developer.mbed.org/compiler/的mbed编译器,如下图所示:

p00mbedWindow2.jpg


●     您将使用mbed.org工具上传项目软件进行编译

●     下载tpwNetBeansEtherMbedK64Fbundle_b.zip软件包zip文件,包含:

       ○     twebspBeansFrdmK64Fether_b.zip,NetBeans接口的zip文件

       ○     frdm_etherClient_netBeans_b_zip_k64f.zip,包含FRDM-K64F mbed源代码

       ○     frdm_etherClient_netBeans_b_K64F.bin,加载到FRDM-K64F开发板的预编译的二进制文件

●     如果您还没有这样做,请将FRDM-K64F开发板固件更新到最新版本!

       ○     请访问:https://developer.mbed.org/handbook/Firmware-FRDM-K64F,来了解FRDM-K64F开发板的更新

       ○     还可以在这里查看:https://developer.mbed.org/platforms/FRDM-K64F/,来了解FRDM-K64F开发板的更新


2.3    将软件二进制文件加载到FRDM-K64F开发板中并运行

下一步是将二进制文件加载到FRDM-K64F开发板上执行代码。在后面的章节中,将讨论编辑mbed中的源代码。当前情况下,让其正常运行只需要二进制可执行文件。

●     如果您尚未更新FRDM-K64F板卡固件,请更新到最新版本,如上所述!

●     将FRDM-K64F开发板插入笔记本电脑的USB端口,开发板上电

●     打开两个文件浏览器,文件管理器,文件导航器或查找程序(取决于你的笔记本电脑的操作系统称呼它们)

       ○     第一个文件浏览器应该打开对应于您的FRDM-K64F的USB设备

       ○     第二个文件浏览器应该打开到包含您下载的二进制文件frdm_etherClient_netBeans_b_K64F.bin的目录

●     在两个文件浏览器中,将frdm_etherClient_netBeans_b_K64F.bin拖动到您的FRDM-K64F开发板中

       ○     如果拖动文件在某些​​Apple / Mac系统上不起作用,可能需要使用命令行从终端将文件传输到FRDM-K64F开发板。在这种情况下,请尝试:

  1. sudo mount -u -w -o sync /Volumes/MBED ;cp -X /Users/tpw/Downloads/ tp_frdm_Gain8negCap_02_1us_K64F.bin  /Volumes/MBED/
复制代码

●     拖动文件时,FRDM-K64F开发板的USB端口附近的绿色LED应在加载程序时闪烁,如下所示:


●     接下来,运行刚加载的FRDM-K64F程序

       ○      一旦上面的绿色LED停止闪烁,表示文件已加载完成

       ○      按闪烁的LED附近的复位按钮(下面的蓝色箭头),如下所示

p01resetButIMG_8649b.JPG

●     按下复位(上面的蓝色箭头)后,程序将开始运行,RGB-LED(上面的红色圆圈)应该变为蓝色。

在FRDM-K64F上使用连接到DAC的软件

●     接下来,通过拔下usb电缆断开电源

●     在FRDM-K64F开发板的DAC0输出引脚和A0 / PTB2引脚之间连接跳线,如下所示:

frdmAdcDacJumperIMG_0036b.JPG

●     将USB电缆插入笔记本电脑,开发板上电

●     按下FRDM-K64F上的复位按钮,RGB-LED应该变为蓝色


2.4    运行tty / terminal查看FRDM-K64F的输出

●     按下FRDM-K64F上的复位按钮,RGB-LED应该变为蓝色

●     FRDM-K64F程序通过USB端口模拟tty /串行/终端,通信需要在笔记本电脑上运行的第二个tty /串行/终端程序。

●     在PC上,需要tty / serial驱动程序:

       ○      请参阅https://developer.mbed.org/handbook/Windows-serial-configurationhttps://developer.mbed.org/handbook/Terminals上的win / PC tty / serial / com / terminals的说明

       ○      建议使用的终端程序是TeraTerm

       ○      设置为9600波特,N81(无奇偶校验、8位数据、1个停止位)

       ○      下图是在winXP PC上TeraTerm的终端设置:

teraTermPCcomN81b.jpg

●     在Apple / Mac上,打开一个新的命令终端(Applications / Utilities / Terminal.app)并运行以下命令:

       ○      使用命令“ls / dev | grep usb”确保在运行screen命令之前在笔记本电脑上的USB tty / serial /终端设备的名称

       ○      上述命令会反馈一个tty,例如:/dev/tty.usbmodem1412

       ○      最后,使用命令“screen /dev/tty.usbmodem1412 9600”在窗口中运行“screen”终端程序

       ○      注意:“ctrl-a”后跟“D”是结束会话的控制序列

       ○      可能需要运行命令“tset”来复位终端,或者“ps”来查找一个未终止的界面,或者“kill”来终止界面任务号

       ○      终端会话可以看起来像:

  1. tpw $ ls / dev | grep usb
  2.                cu.usbmodem1412
  3.                tty.usbmodem1412
  4. tpw $ screen /dev/tty.usbmodem1412 9600
复制代码

       ○      按下FRDM-K64F上的复位按钮,RGB-LED应该变为蓝色。

       ○      如果一切顺利,终端会话输出应该看起来像下面的会话:

frdmTermOut_b.jpg


       ○      现在不要关心程序的细节。重要的任务是通过usb端口连接到终端。

       ○      提示:如果命令终端似乎处于奇怪状态,请键入tset命令将其重置

       ○      然而,从上面的终端输出可以收集一些东西:

               ■     FRDM-K64F首先对一些数据执行FFT

               ■     然后,打印FFT的16个复值输出结果

               ■     然后,DAC(数模转换器)产生16个采样电压,同时ADC(模数转换器)将这些相同的16个电压数字化(因为您使用跳线连接它们)

               ■     最后,开发板尝试建立与FRDM-K64F开发板地址169.254.194.211的以太网连接,并且继续等待,因为没有以太网设置或连接到笔记本电脑的RJ-45连接器。

跳转到指定楼层
发表于: 2017-3-20 20:30:42 | 显示全部楼层

2.5      编译并运行NetBeans GUI服务器软件

接下来是编译和运行NetBeans软件,并验证通过以太网RJ-45接口与FRDM-K64F通信的状况。

●     在上面下载的软件中,将NetBeans源代码文件twDspNetBeansFrdmK64Fether_b.zip解压缩到NetBeans目录/文件夹中

●     运行NetBeans,使用File :: OpenProject,然后导航找到该项目,如下所示:

netbFrdmOpenProj2.jpg


●     当项目加载完成时,向下导航到twDspNetBeansFrdmK64Fether_b DSPsoundv55UI(下面的蓝色箭头),双击它来显示GUI,如下所示:

netbFrdmOpenUI2.jpg


●     如果GUI(上面的黄色框)不可见,请单击设计选项卡(上面的黄色箭头)

●     NetBeans窗口的左侧显示文件结构并允许导航

●     NetBeans窗口的左下角(红色圆圈)显示DSPsoundv55aUI中的类和成员函数

●     当程序运行时,文本区域(蓝色圆圈)显示NetBeans程序执行时的打印命令输出

●     红色按钮(绿色箭头)将终止正在运行的程序

●     FRDM-K64F的两个最重要的功能是jGetFreqButtonMouseClicked和jGetTimeButtonMouseClicked和jCloseServerButtonMouseClicked。通过右击界面中的“getTime”或“getFreq”按钮,并选择Events :: Mouse :: mouseClicked子菜单,可以轻松访问这些函数;这会直接带你转到源代码

●     还要注意,在tpw.myClass(上面的紫色箭头)中有两个重要的以太网访问函数:k64fGetFreqData()k64fGetTimeData(),这些函数从FRDM-K64F开发板获取时间和频率数据。

●     通过单击三角形绿色构建按钮(上面的红色箭头)构建并运行GUI

●     twDspNetBeansFrdmK64Fether_b DSPsoundv55UI NetBeans软件程序应该会运行并显示,如下所示

netbFrdmRunUI2.jpg

●     对于FRDM-K64F,twDspNetBeansFrdmK64Fether_b DSPsoundv55UI接口上最重要的按钮是:

       ○     “getTime”按钮(上面的蓝色箭头),其从FRDM-K64F获取复数值(实部和虚部)时域数据的数组

       ○     “getFreq”按钮(上面的红色箭头),其从FRDM-K64F获取复数值(实部和虚部)频域数据的数组

               ■     注意:直到按下NetBeans getTime或getFreq按钮后才建立以太网连接

       ○     “Close Server”按钮(上面的黄色箭头),关闭笔记本电脑和FRDM-K64F之间的以太网连接

               ■     注意:要重新建立连接,请复位FRDM-K64F,然后按下NetBeans getTime或getFreq按钮

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 47 | 回复: 68



手机版|

GMT+8, 2024-12-12 00:50 , Processed in 0.240470 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表