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

查看: 4907|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版