5162|5

2143

帖子

3

TA的资源

五彩晶圆(中级)

楼主
 

helper2416_tftp测试_传输lua脚本到板子上 [复制链接]

本帖最后由 lyzhangxiang 于 2014-9-4 23:03 编辑

好了,这篇帖子算是个前奏贴吧,自带的tftp客户端还是很好用的,也算是个教学贴吧,大家可以自己在他的基础上开发出好玩的东西。文件系统都是我不太熟悉的,fatfs还算熟悉吧能写一些测试代码,关键是我的sd卡里面有资料所以就先不折腾他了,我平时主要用hcc的文件系统。

恩说说我想干嘛吧,之前已经为板子移植了lua虚拟机了,后面会基于lua开发一些好玩的东西给大家一些灵感吧。

我主要想做的事情是脚本图形界面,最终想实现拖拽式的UI设计,也算是个小方案吧,可以用于推广哦。具体思路如下:
tftp传输lua脚本到板子上(或者其他方式)---------->lua脚本调用c------------>c主要是自行实现的一些基于图形库的api(ucgui或ugfx)-------->最终就是脚本语言设计的UI

如果要实现拖拽式的UI设计器可参考qt creator的方式,设计器+布局器,完全可以参考qt,因为qt creator也是开源的,相关的开源拖拽框架+组态框架还是很多的。不是很复杂,主要实现一些UI布局和脚本规则吧,当然高级的方式还可以引入xml,这样就更高级啦。初步先实现上面的流程吧,蛮简单的,花点时间两个礼拜就好了。

当然有一些工作要做
1)测试好文件系统后实现一些基本的文件操作接口
2)tftp的接口形式,类似tftp get 等命令
3)lua调用c的模板实现
4)UI标准接口函数实现,也就是一些常用的图形Widget。


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
好了,上面都是我的初步计划。接下来看一下tftp的测试过程和结果吧:

1)还是使用光盘tools下面的tftpd32作为tftp服务器,板子充当tftp客户端。

2)按照你的习惯配置网络,可选修改电脑网络配置或者修改代码网络参数配置,我一般都是改代码
首先是tftp_test.c中的网络接口配置,需要和你的PC网络同网段:
  1. IP4_ADDR(&tftp_client_gw, 192,168,2,254);
  2.   IP4_ADDR(&tftp_client_ipaddr, 192,168,2,100);
  3.   IP4_ADDR(&tftp_client_netmask, 255,255,255,0);
复制代码
其次是关于tftp服务器地址,在client.c中:
  1. set_dest_ip_addr("192.168.2.200");        
复制代码
这个是你PC上运行的tftp服务器的地址


3)关于测试的tftp命令,同样在client.c中:
  1. char get_file_cmd[3][256]={"get", "add.lua"};
复制代码
这里支持蛮多的命令的,细节参考tftp rfc文档吧,很详细的

4)这里注意一点即可:
  1. len = makereq(TFTP_RRQ,filemode,cmd[1],send_buffer,sizeof(send_buffer));
复制代码
可以参考rfc文档,都能一一对上的。

5)开始测试了,启动tftp服务器,也就是tools下面的工具,选择好路径,新建一个add.lua文件,内容如下:
  1. function addc_lua()
  2. print("helper2416_lua_add")
  3. ADD(100,200)
  4. ADD(250,450)
  5. end
复制代码


6)接上仿真器,给板子上电并进入uboot命令行,最后仿真运行,在命令行中执行:
  1. # netio
复制代码


7)到此测试完成,结果如下截图


8)添加内容显示,验证传输正确,可以看到文件内容一致:


好了,到了这里大家都了解了吧,后面按照我的计划走就可以了,有感兴趣的一起加入,一起搞。

组态UI很简单,拖拽生成UI,再搞个通讯协议,实时更新就更好了,同步的嘛,拖好了界面,板子上面的UI就改变了,很cool吧。


最后,关闭服务器,这里会显示超时,没有文件。我有修改get的频率,紧用于测试,开个头吧,后面要完善不少东西。


查看本帖全部内容,请登录或者注册

最新回复

高手在民间!  详情 回复 发表于 2014-9-5 10:36
点赞 关注(1)
个人签名电工

回复
举报

29

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
我真想bs楼主,有这么容易实现么

西门子的HMI为什么会卖那么贵。。。

点评

可以基于具体技术问题进行探讨 说说可行或不可行的理由  详情 回复 发表于 2014-9-5 09:53
只是一点想法和构思,没关系 欢迎讨论  详情 回复 发表于 2014-9-5 08:48
 
 

回复

2143

帖子

3

TA的资源

五彩晶圆(中级)

板凳
 
我是个马甲 发表于 2014-9-4 23:13
我真想bs楼主,有这么容易实现么

西门子的HMI为什么会卖那么贵。。。

只是一点想法和构思,没关系
欢迎讨论
 
个人签名电工
 
 

回复

2万

帖子

71

TA的资源

管理员

4
 
我是个马甲 发表于 2014-9-4 23:13
我真想bs楼主,有这么容易实现么

西门子的HMI为什么会卖那么贵。。。

可以基于具体技术问题进行探讨 说说可行或不可行的理由

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

554

帖子

0

TA的资源

版主

5
 
高手在民间!

点评

我是个小菜鸟。。 一楼说的很对  详情 回复 发表于 2014-9-5 12:42
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

2143

帖子

3

TA的资源

五彩晶圆(中级)

6
 

我是个小菜鸟。。 一楼说的很对
 
个人签名电工
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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