0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【从0开始创建AWTK应用程序】编译应用到RTOS平台

ZLG致远电子 2024-03-21 08:23 次阅读

AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建Hello工程并在模拟器上运行、将AWTK应用程序移植到其它平台。在AWStudio上编写好AWTK应用程序后,部署到RTOS平台(如STM32)是很方便的,下面就以STM32F429型号为例子来介绍如何编译AWTK应用到RTOS平台运行。

搭建RTOS平台编译环境

1. 下载Keil5与配置芯片由于将AWTK应用移植到STM32平台需要用到Keil5,所以需要做一些准备工作,包括下载Keil5以及对应板子型号的芯片包。

2. 下载移植工程

在官方GitHub(github.com/zlgopen)上有实现STM32几个型号的移植工程,其中包括STM32F429的工程(awtk-stm32f429igtx-raw)。接下来的移植工作需要在这些工程上操作,因此这里下载并解压。其它型号如STM32F103、STM32F767的移植工程均可从官方GitHub下载。

4d9221ea-e719-11ee-9118-92fbcf53809c.png

图1awtk-stm32f429igtx-raw移植工程目录结构这些工程已经对接好了硬件设备,用户只需要添加应用到工程中编译即可。

另外,还需要将AWTK SDK(上图中awtk文件夹)复制到移植工程目录下,最终移植工程目录结构如上图所示:

编译移植工程并下载到嵌入式设备

1. 编译AWTK-DEMO

使用Keil打开awtk-stm32f429igtx-raw/USER/awtk.uvprojx文件即可打开移植工程,工程中默认带有一个AWTK-DEMO应用,可以直接点击Keil菜单栏的“Build”按钮编译工程。

2. 编译自己的应用

如果想在移植工程中编译在PC上调试好的AWTK应用,需要先屏蔽AWTK-DEMO:

  1. 在Keil的“Project”中右键awtk-demo文件夹 - “Options fro Group ‘AWTK-DEMO’”;
  2. 取消勾选“Include in Target Build”;
  3. 点击“OK”保存。

4d98441c-e719-11ee-9118-92fbcf53809c.png图2在Keil中屏蔽AWTK-DEMO接着再往移植工程中加入自己应用的代码文件,这里拿我们先前编写的MyHelloWorld-Demo举例:

点击Keil菜单栏的“Manage Project Items”按钮,弹出设置窗口;

  1. 在“Groups”点击添加组按钮,并输入“MyHelloWorld-Demo”;
  2. 选中新建的组并点击“Add Files”按钮,在文件对话框中选择并添加MyHelloWorld-Demo的代码文件;
  3. 保存设置后再点击Keil菜单栏的“Rebuild”按钮重新编译工程即可。

4da1b132-e719-11ee-9118-92fbcf53809c.png

图3在Keil中添加MyHelloWorld-Demo代码文件

3. 下载应用到嵌入式设备

编译好移植工程后,使用仿真器(如:ST-Link)连接嵌入式板子和电脑,连接成功后在Keil上点击菜单栏的“Download”按钮即可将应用下载到板子上。

4da6f49e-e719-11ee-9118-92fbcf53809c.png

图4下载应用到板子上其它型号的RTOS平台移植方法也是大同小异,可以从官方的GitHub下载对应的移植工程,先屏蔽工程中自带的示例代码文件(一般组名是AWTK-DEMO),然后往工程中添加用户自己的应用代码及资源文件,最后编译应用并下载到设备即可。4db1795a-e719-11ee-9118-92fbcf53809c.png图5实际板子运行效果

移植注意事项

在官方GitHub下载的移植工程默认配置好了宏,如果想要自定义开关一些宏可以修改awtk_config.h文件里面的代码,注意使用这个头文件前提是需要在工程中定义HAS_AWTK_CONFIG宏。还有一些需要注意的事项如下:

若要加载PNG/JPG格式的图片,StackSize不可小于32K,可以在platform.c中调整Heap大小;

在使用Keil编译时,要在C/C++ -> Misc Controls 中加上 --gnu;

如果系统有 FPU,初始化时一定要开启 FPU;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136754
  • RTOS
    +关注

    关注

    22

    文章

    811

    浏览量

    119610
  • awtk
    +关注

    关注

    0

    文章

    44

    浏览量

    229
收藏 人收藏

    评论

    相关推荐

    RTOS应用程序设计的五个实践技巧

    我在编写RTOS应用程序的过程中,经常会遇到这些困难,包括正确确定系统中有多少任务、如何设置优先级、协调任务行为、避免常见陷阱,有时只是为了让应用程序正常工作!
    发表于 07-07 16:10 754次阅读
    <b class='flag-5'>RTOS</b><b class='flag-5'>应用程序</b>设计的五个实践技巧

    请问使用创建者IDE开始创建的最佳方式是什么?

    我们可以开发自己的引导加载组件,其中内置了通信接口代码吗?如果是,那么使用创建者IDE开始创建的最佳方式是什么? 以上来自于百度翻译 以下为原文Can we develop our own
    发表于 07-15 10:55

    AWTK的特点

    能支持Linux、MacOS、iOS、Android操作系统,还能支持Windows操作系统、WEB以及各种小程序,可以说是一个全能的嵌入式GUI引擎。AWTK的跨平台特性,使得应用程序
    发表于 11-04 07:57

    安信Windows驱动开发教程:什么是通用 Windows 平台 (UWP) 应用程序?有什么功能?

    安信Windows驱动开发教程:什么是通用 Windows 平台 (UWP) 应用程序?有什么功能? UWP 是为 Windows 创建客户端应用程序的众多方法之一。UWP 应用使用
    发表于 09-09 17:50

    Linux环境编程:应用到内核

    Linux环境编程:应用到内核资料下载。
    发表于 06-01 14:51 18次下载

    基于AWTK开发应用程序需要遵循的规范和方法

    AWTK 是 ZLG 开源的跨平台 GUI 引擎,本文介绍一下基于 AWTK 开发应用程序需要遵循的规范和方法,以保证应用程序也能跨
    的头像 发表于 09-07 11:52 1372次阅读

    如何用AWTK和AWPLC快速开发嵌入式应用程序

    AWPLC 是 ZLG 自主研发的 PLC 系统(兼容 IEC61131-3),本文用一个简单的温度控制系统,来演示如何用 AWTK 和 AWPLC 快速开发嵌入式应用程序
    的头像 发表于 09-26 11:46 1401次阅读

    基于RTOS应用程序的五个最佳实践技巧

        我在编写RTOS应用程序的过程中,经常会遇到这些困难,包括正确确定系统中有多少任务、如何设置优先级、协调任务行为、避免常见陷阱,有时只是为了让应用程序正常工作!     如今,近三分之二
    的头像 发表于 07-07 16:49 991次阅读
    基于<b class='flag-5'>RTOS</b>的<b class='flag-5'>应用程序</b>的五个最佳实践技巧

    0开始创建AWTK应用程序】开发及调试环境搭建

    AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何0开始创建AWTK
    的头像 发表于 11-11 10:00 671次阅读
    【<b class='flag-5'>从</b><b class='flag-5'>0</b><b class='flag-5'>开始创建</b><b class='flag-5'>AWTK</b><b class='flag-5'>应用程序</b>】开发及调试环境搭建

    0开始创建AWTK应用程序创建应用程序并在模拟器运行

    AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何0开始创建AWTK
    的头像 发表于 12-01 08:24 501次阅读
    【<b class='flag-5'>从</b><b class='flag-5'>0</b><b class='flag-5'>开始创建</b><b class='flag-5'>AWTK</b><b class='flag-5'>应用程序</b>】<b class='flag-5'>创建</b><b class='flag-5'>应用程序</b>并在模拟器运行

    0开始创建AWTK应用程序编译应用到嵌入式Linux平台运行

    AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何0开始创建AWTK
    的头像 发表于 12-07 12:08 707次阅读
    【<b class='flag-5'>从</b><b class='flag-5'>0</b><b class='flag-5'>开始创建</b><b class='flag-5'>AWTK</b><b class='flag-5'>应用程序</b>】<b class='flag-5'>编译</b><b class='flag-5'>应用到</b>嵌入式Linux<b class='flag-5'>平台</b>运行

    AWTK开源智能串口屏方案】HMI端程序移植编译及运行

    本篇文章介绍一下AWTK开源智能串口屏方案的串口屏端(即HMI端)的编译运行步骤,并介绍如何将HMI端移植到Linux或STM32平台RTOS平台
    的头像 发表于 01-18 08:24 918次阅读
    【<b class='flag-5'>AWTK</b>开源智能串口屏方案】HMI端<b class='flag-5'>程序</b>移植<b class='flag-5'>编译</b>及运行

    AWTK开源智能串口屏方案】MCU SDK使用与编译运行

    本篇文章将介绍AWTK-HMI中的MCU端开发方法,包括MCUSDK常用API的说明、使用流程及如何编译到Linux和STM32平台。引言:AWTK-HMI是基于
    的头像 发表于 02-19 12:11 1207次阅读
    【<b class='flag-5'>AWTK</b>开源智能串口屏方案】MCU SDK使用与<b class='flag-5'>编译</b>运行

    AWTK-WEB 快速入门(1) - C 语言应用程序

    导读AWTK可以使用相同的技术栈开发各种平台应用程序。有时我们需要使用Web界面与设备进行交互,本文介绍一下如何使用C语言开发AWTK-WEB应用
    的头像 发表于 11-27 11:46 198次阅读
    <b class='flag-5'>AWTK</b>-WEB 快速入门(1) - C 语言<b class='flag-5'>应用程序</b>

    AWTK-WEB 快速入门(2) - JS 应用程序

    导读AWTK可以使用相同的技术栈开发各种平台应用程序。有时我们需要使用Web界面与设备进行交互,本文介绍一下如何使用JS语言开发AWTK-WEB
    的头像 发表于 12-05 01:04 101次阅读
    <b class='flag-5'>AWTK</b>-WEB 快速入门(2) - JS <b class='flag-5'>应用程序</b>