zoukankan      html  css  js  c++  java
  • emwin模拟器编译环境搭建及helloworld例程

    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路径,从而编译失败。)

    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文件

     

     

      

    最后,编译运行即可。

     开通了公众号,欢迎扫描关注我的公众号,获取更多精彩内容。


  • 相关阅读:
    eclipse中解决update maven之后jre被改成1.5的问题
    Navicat for MySQL密鈅
    静态创建和动态创建对象的区别
    vector相关操作总结
    C++的编码技巧相关总结
    关于VS中未经处理的异常的梳理
    头文件用于声明而不是定义
    SQL单表查询练习部分总结
    delete对象时会自动调用类的析构函数
    SQL中的sum在何时会返回为null
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/14698944.html
Copyright © 2011-2022 走看看