GUIX移植STM32H7指南

GUIX与STM32H7相关资源

ThreadX官方文档
ThreadX代码仓库
STM32Cube MCU包
GUIX代码仓库
x-cube-azrtos-h7

GUIX与此处使用的LCD

GUIX提供了一个软件GUIX Studio专门用于设计图形界面,可以在Microsoft Store微软商店中下载,需要注意的是这个软件在国内无法下载,需要将地区切换为美国。此处使用的LCD是使用ST7735主控,SPI进行通信的,颜色格式为RGB565。

GUIX移植

首先在GUIX代码仓库中下载GUIX,将GUIX的.\common\scr.\port\cortex_m7\scr(无实际源文件)文件夹下的源文件全部添加到工程中,GUIX的驱动需要自己实现。

GUIX驱动实现

对于简单应用只需要实现函数toggle_function(直接用作全局刷新)即可,并使用_gx_display_driver_565rgb_setup设置该回调函数,_gx_display_driver_565rgb_setup实现了一组默认的驱动函数的赋值,若需要替换默认驱动函数,对GX_DISPLAY *display直接赋值即可。对于这个项目,由于直接使用的SPI进行驱动,直接将st7735_toggle_function封装为已有的驱动函数lcd_draw_pixelmap即可。

VOID st7735_toggle_function(struct GX_CANVAS_STRUCT *canvas,
                            GX_RECTANGLE *dirty_area)
{
    lcd_draw_pixelmap(0, 0, canvas->gx_canvas_x_resolution,
                      canvas->gx_canvas_y_resolution,
                      (uint8_t *)canvas->gx_canvas_memory);
}

UINT st7735_graphics_driver_565(GX_DISPLAY *display)
{
    _gx_display_driver_565rgb_setup(display, GX_NULL, st7735_toggle_function);
    return GX_SUCCESS;
}

GUIX Studio使用

首先进行工程的配置,主要是需要更改屏幕的分辨率,颜色格式。此处使用的是RGB565格式,因此选择16bpp,右侧format不用勾选,默认为RGB565格式,由于驱动设置,需要勾选reverse byte order,如下图所示。

GUIX Studio工程设置

如何使用GUIX Studio不是本文的重点,故忽略。设计完成后,需要生成全部文件(Project -> Generate All Output Files),并将生成的代码添加到嵌入式工程中。

启动GUIX

如下所示,需要调用这些函数,注意,函数中的命名需要和GUIX Studio中一致

void st7735_lcd_application(void)
{
    GX_WINDOW_ROOT *root;
    GX_WINDOW *widget;

    gx_system_initialize();
    gx_studio_display_configure(ST7735_LCD, st7735_graphics_driver_565,
                                LANGUAGE_ENGLISH, ST7735_LCD_THEME_1, &root);
    gx_studio_named_widget_create("window", (GX_WIDGET *)root,
                                  (GX_WIDGET **)&widget);
    gx_widget_show(root);
    gx_system_start();
}

最后在线程中调用该函数即可启动GUIX。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇