你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 4904|回复: 8

[STM32F429] STM32F429dicovery运行Java游戏

[复制链接]

4

主题

10

回帖

0

蝴蝶豆

初级会员

最后登录
2016-1-22
发表于 2015-11-16 16:24:55 | 显示全部楼层 |阅读模式
      第一步:确认你手上有一块STM32F429Disco的板子
      第二步:下载附件中hex烧录文件
      第三步:使用STVP将hex烧录到STM32F429Disco上去
      第四步:烧录成功后,系统会自动启动贪吃蛇应用,该游戏采用JAVA开发,游戏框架大概占用约800行代码(不含GUI库)。


STM32F429Dicovery

STM32F429Dicovery

烧录步骤

烧录步骤

运行的JAVA游戏

运行的JAVA游戏

JAVASnake.rar

下载

305.65 KB, 下载次数: 97, 下载积分: ST金币 -1

烧录文件

回复

使用道具 举报

4

主题

10

回帖

0

蝴蝶豆

初级会员

最后登录
2016-1-22
 楼主| 发表于 2015-11-16 16:32:17 | 显示全部楼层
本帖最后由 chuyans 于 2015-11-17 08:49 编辑

游戏有手动和自动两种模式可以切换,在自动模式下,蛇会自动走蛇形线去吃豆子,直到整个屏幕吃满为止。

从调试终端可以查到,贪吃蛇程序的CPU占用率只有1%

从调试终端可以查到,贪吃蛇程序的CPU占用率只有1%
回复 支持 反对

使用道具 举报

4

主题

10

回帖

0

蝴蝶豆

初级会员

最后登录
2016-1-22
 楼主| 发表于 2015-11-16 17:49:58 | 显示全部楼层

                                         导读:为何采用JAVA开发MCU应用?
  传统的MCU是按照单任务系统来设计的,随着MCU功能越来越强大,现在也有许多针对MCU开发嵌入式系统。然而,很多开源的嵌入式系统并没有做到很好的内核封装,这就意味着如果要开发一款成熟的应用,开发者得到从底层汇编开始做起,然后是底层驱动、内核移植、协议栈定制……一直做到应用程序开发,不论哪个环节出了问题或者没有衔接好,都可能导致开发陷入僵局。
   能不能像在Windows/Linux下开发应用程序一样开发应用。也就是说,拿到手上的单片机上已经整合好了系统,它给你提供了一整套可用的内核API,开发者只需要熟悉API的使用规范就能上手开发应用了。出于这个目的,作者设计一款圆景系统,已经将API封装好了,提供了应用开发的模板。但是在推广使用的时候,却遇到了一个重大的瓶颈:MCU没有MMU!
       对的,所有的的MCU均不带MMU,否则就不叫MCU了。正是因为这个原因,导致在开发C/C++应用的时候,必须要手动指定程序入口和堆栈空间。这类操作风险很大,任何一步有问题都会导致系统崩溃,而且崩溃原因很难查找。当然,这也有例外:uCLinux是通过reloc段修正的方法来实现不需要指定上述参数,但是该方法存在一个缺陷:该操作涉及到大量的段拷贝的操作,该操作期间长期关闭中断,系统的实时性难以得到保障。
       为了突破上述瓶颈,2014年作者曾尝试将Lua移植到圆景中,然而相对当时的MCU资源来说,Lua的消耗量还是挺可观的,后来曾经按照uBasic改良出来了一种LuBaC脚本语言,但脚本的执行速度远不尽如人意,最终不得不放弃。
       LuBaC项目虽然最终失败了,但是它提供了一个很好的模型:一个虚拟机装载脚本执行,执行完毕以后将占用的所有资源全部释放掉;而且它还能同时装载多个应用同时执行,彼此之间互不干扰。于是,作者尝试将一款Java虚拟机按照LuBaC的模式,移植到圆景中去运行,在开发进度、执行速度、资源消耗等方面都得到了很好的均衡。
       因此,使用Java开发MCU应用,最重要的是突破了MCU没有MMU的瓶颈;其次,才是Java高效率的进度开发。

回复 支持 反对

使用道具 举报

77

主题

1927

回帖

5

蝴蝶豆

论坛元老

最后登录
2020-11-18
发表于 2015-11-16 18:21:50 | 显示全部楼层
chuyans 发表于 2015-11-16 17:49
导读:为何采用JAVA开发MCU应用?
  传统的MCU是按照单任务系 ...

作者是谁?有项目的网址没?
回复 支持 反对

使用道具 举报

77

主题

1927

回帖

5

蝴蝶豆

论坛元老

最后登录
2020-11-18
发表于 2015-11-16 18:22:32 | 显示全部楼层
chuyans 发表于 2015-11-16 17:49
导读:为何采用JAVA开发MCU应用?
  传统的MCU是按照单任务系 ...

圆景系统能解释一下吗?
回复 支持 反对

使用道具 举报

41

主题

2476

回帖

282

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2015-11-16 18:49:06 | 显示全部楼层
我只看看不说话
回复 支持 反对

使用道具 举报

4

主题

77

回帖

0

蝴蝶豆

高级会员

最后登录
2018-5-26
发表于 2015-11-16 20:54:27 | 显示全部楼层
好抽象的贪吃蛇
回复 支持 反对

使用道具 举报

0

主题

90

回帖

0

蝴蝶豆

中级会员

最后登录
2016-7-1
发表于 2015-11-16 20:58:24 | 显示全部楼层
赞一个      
回复 支持 反对

使用道具 举报

37

主题

1084

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-22
发表于 2015-11-16 21:16:46 | 显示全部楼层
谢谢分享学习一下
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版