前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >emwin模拟器编译环境搭建及helloworld例程

emwin模拟器编译环境搭建及helloworld例程

作者头像
用户4645519
发布2021-12-30 19:37:19
9640
发布2021-12-30 19:37:19
举报
文章被收录于专栏:嵌入式学习嵌入式学习

1、序

近期在微信群中看到大佬们有过讨论gui的话题,本人曾经也是关注过,但一直未深入,很多次擦肩而过,因此借这个契机,就研究下。

2、主要参考资料及论坛

1、硬汉嵌入式论坛中的emwin板块,这里的资料相当丰富了,干货很多。

2、网上有《emWin 2 天速成实例教程》,可以在其他网站的备份下载,阿莫电子已经落堕了。

3、野火有emwin的教程视频,模拟器使用的vs2019的。

3、编译工具准备

3.1、VC++6.0

图片
图片

这个软件虽然很老了,但是emwin模拟器中,依然是比较顺畅的,比起vc2013以及之后的visual studio,更轻量,更快速,不用配置,开箱机用。vc2013及以上的版本也有官方的配置运行方式,但嫌弃软件太大,因此没用vs,尝试了VS Express 2013 for Desktop这个软件运行模拟器,编译失败,说明还是需要完整版的visual studio。

硬汉论坛也推荐使用vc++6.0,而且提供有配置好的、例程很全的emWin6.14 VC6.0压缩包下载,(硬汉哥还是比较强悍的~),同时硬汉哥也说了怎么在官方的软件包中,配置成vc++6.0的环境。因此本人依然使用了vc++6.0,win10依然可以使用,兼容运行可以参考:VC6.0中文版下载(支持XP、Win7、Win8、Win10)_C语言中文网 (biancheng.net)。

3.2、Codeblocks

图片
图片

这个软件通过验证,需要安装32位的mingw编译器,具体来说:以下组合可以正常运行emwin,(电脑如果还有安装了其他的gcc编译器的,建议不要添加系统环境变量中,否则codeblocks会首选系统环境变量path中的gcc,导致无法定位32位的mingw路径,从而编译失败。重新测试了,先安装codeblock,然后安装其他gcc是可以的,这样codeblock不会将gcc的路径添加进来的。)

A:codeblocks-13.12mingw-setup或codeblocks-13.12mingw-setup-TDM-GCC-481;这个版本未测试,毕竟比较老了,只是在网上老教程中看到这个软件可以编译emwin。

B:codeblocks-17.12mingw-setup(其实还有一个16.01版本,codeblocks的更新频率是比较缓慢的,没有codelite频繁)

C:codeblocks-17.12mingw-nosetup

D:codeblocks-20.03-32bit-setup或者codeblocks-20.03-32bit-nosetup

或者codeblocks-20.03-nosetup或者codeblocks-20.03-setup.exe加上17.12版本或者13.12的mingw(编译器选项中设定mingw路径即可),不能使用最新的20.03+20.03自带的mingw,其实就是不能使用64位的mingw编译器,IDE随便弄个版本都行。20.03的IDE能看到下面的配置即可成功编译运行。

图片
图片

Codeblocks具体下载地址:Code::Blocks - Browse Files at SourceForge.net

4、测试例程

通常模拟器自带vc++6.0和codeblocks的工程。5.40以上就没有vc++6.0的工程,转而使用了vs2013及更高的visual studio软件,但codeblocks工程依然有。

4.1、vc++6.0平台

软件使用SeggerEval_WIN32_MSVC_MinGW_GUI_V538。例程我参考了硬汉的教程,使用了guibuilder软件来做一个简单的画面,无任何控件之间的关联。具体的效果图如下:

图片
图片

具体的配置流程可以参考硬汉教程:《STM32-V4 开发板STemWin 教程》,虽然硬汉使用的emwin5.24,但基本的功能是类似的,这里不再转载详说。

首先,画面部分是额外添加的,application目录中的其他文件排除编译,添加GUIDEMO_Start_1.c文件,sample文件目录,可以添加模拟器中的tutorial例程,当然先排除编译,否则会有两个maintask函数报错的。其他文件可以暂时不深入研究。

图片
图片
图片
图片

其次,因为guibuilder里面把界面设置成800*400,因此LCDConf.c文件需要修改分辨率大小。

图片
图片

最后,编译运行即可。

4.2、Codeblocks平台

与《emWin 2 天速成实例教程》统一,使用了SeggerEval_WIN32_MSVC_MinGW_GUI_V528版本的模拟器,

首先,在application目录中,删除不必要的文件。为啥没有排除编译,就是因为codeblocks没这个功能,而且配置起来麻烦,索性删除。

然后,添加GUIDEMO_Start_1.c文件

图片
图片
图片
图片

最后,编译运行即可。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-04-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、序
  • 2、主要参考资料及论坛
  • 3、编译工具准备
  • 4、测试例程
    • 4.1、vc++6.0平台
      • 4.2、Codeblocks平台
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档