10.4 GT-HMI-Engine代码移植
GT-HMI-Engine代码移植很重要,在hmi上位机设计的界面需要依赖这些文件才能使用,下面介绍移植步骤(下面介绍的步骤是在keil5环境下完成的)。
第一步:首先用git的下载GT-HMI-Engine源代码。
"git clone git@gitee.com:genitop/GT-HMI-Engine.git -b develop"命令拉取代码。
第二步:将GT-HMI-Engine源码添加到功能目录里面去,并添加到keil5的工程里面去,
图11.10
第三步:打开gnu配置进行编译,图11.11为参考的配置,不同的keil5版本配置gnu界面都不一样。这里gnu配置必须打开,不然会报很多错误。
图11.11
图7.4为Target配置,Use MicroLIB也需要打开,不然也会报错。
图11.12
第四步:编译通过之后添加spi_wr、_flush_cb、read_cb、read_cb_btn四个函数,spi_wr是读取素材图片的,支持flash、SD卡读取,_flush_cb是刷屏函数接口,read_cb是触摸上报接口,read_cb_btn是按键上报接口。read_cb_btn接口根据客户的要求添加,如果用不到,可定义空函数,就是这函数里面什么也没有,防止编译报错。
第五步:初始化gt_init函数,while(1)循环添加如下图操作,gt_tick_inc为GUI系统提供1ms的心跳。
图11.13
做完上面操作可显示一个按键控件看是否能正常显示,如显示不正常请检查_flush_cb刷屏函数是否正确。
控件能正常使用并能正常触摸,表明GT-HMI-Engine已移植成功
10.5 接口函数代码
uint32_t spi_wr(uint8_t * data_write, uint32_t len_write, uint8_t * data_read, uint32_t len_read)
{
unsigned long ReadAddr;
unsigned long addr, len;
ReadAddr = *(data_write + 1) << 16; //高八位地址
ReadAddr += *(data_write + 2) << 8; //中八位地址
ReadAddr += *(data_write + 3); //低八位地址
spiflash_read(data_read,ReadAddr,len_read);
return 1;
}
void _flush_cb(struct _gt_disp_drv_s * drv, gt_area_st * area, gt_color_t * color) {
gt_size_t x=area->x,y=area->y;
uint16_t w = area->w,h = area->h;
int i=0;
lcd_setblock(x,y,x+w-1,y+h-1);
for(i=0;i<w*h;i++)
{
lcd_writeonepoint(color->full);
color++;
}
}
void read_cb(struct _gt_indev_drv_s * indev_drv, gt_indev_data_st * data) {
if (!touch_status) {
data->state = GT_INDEV_STATE_RELEASED;
return;
}
touch_status = 0;
data->point.x = tp_dev.point.x;
data->point.y = tp_dev.point.y;
data->state = GT_INDEV_STATE_PRESSED;
}
注:read_cb_btn接口函数,如有需求可联系我司技术人员提供。
10.6 HMI函数代码移植
GT-HMI-Engine移植成功后,就可以实现将HMI自行设计的界面移植到板子上,移植过程查看GT-HMI Designer上位机代码移植章节或参考“GT-HMI Engine用户手册”,下面讲解一下HMI示例移植,以GT-HMI Designer软件示例界面中的2.8寸示例来说明移植过程。首先打开2.8寸示例工程。
图11.14
可以看到该示例中使用并展示了多种控件的使用和交互方法,我们在点击仿真运行前,需要先另存为到其它路径。
不勾选下次询问时,点击仿真会弹出编译环境设置,我们设置好开发板卡设置与字库配置。
可以看到仿真完成后,软件控制台打印出仿真编译产物的路径信息,路径为另存为时设置的工程路径。
我们打开工程目录,可以看到有多个子文件夹,其中board文件夹是提供给GT-HMI模块使用的,out文件夹则是提供给非GT-HMI模块使用的,两者都是资源文件,包括生成的素材bin文件,图片排布顺序以及字库调用库等。Keil5文件夹中是编译自动生成的对应GT-HMI模块keil工程(与编译环境设置中开发板设置对应,即2.8寸模块工程),screen文件夹则是工程各页面的调用代码,sources文件夹中是个图片素材及图片的数组调用代码。
我们按照11.3章的内容将非GT-HMI模块使用的out文件夹中的gt_port_vf.c,gt_gui_driver.lib和gt_gui_driver.h替换掉我们自身移植好Engine工程的GT-HMI-Engine\driver下的同名文件,点击keil5工程的编译按钮开始编译程序文件,编译完成后使用J-LINK与模块板子相连,点击右边的下载按钮,将程序代码下载到板子中。
打开out文件夹中的resource.bin资源文件,使用烧录器将其烧录到板子上的flash中。烧录完成后,即可在板子上运行。
11. 安全注意事项
因本产品属于高精密电子产品 (半成品) ,为避免人为造成的不良,请按指导规则进行相应操作。
1.请勿拆卸液晶显示模块。
2.不要在印制电路板上钻额外的孔 ,修改形状或更改印制线路板上元件的位置。
3.除焊接接口外 ,不要用烙铁做任何更改;焊接温度保证在 320°C-350°C ,焊接时间控制在10S以内 ,焊接时注意不要在同一处停留时间太久以免烫伤 FPC。
4.其他事项在不清楚使用之前 ,请联系我司人员指导进行。
-
- GT-HMI Designer用户手册
- GT-HMI Engine用户手册
- 高通字库芯片开发资料
- GTDB-X7ESP高通智匠AI开发板规格书
- GTC-480480TFT40XP模块使用手册
- GTC-480272TFT43XP模块使用手册
- GTC-800480TFT50G模块使用手册
- GTC-800480TFT70GP模块使用手册
- GTC-1024600TFT101GP模块使用手册
- GT-GUI LCD 0.96寸液晶模组数据手册
- GT-GUI LCD 1.9寸液晶模组数据手册
- GT-GUI LCD 3.5寸液晶模组数据手册
- GT-GUI LCD 7.0寸液晶模组数据手册
- GUI-LCD开发板使用手册
- GT5GL128B标准GUI芯片规格书
- GT5GL64芯片产品规格书
高通字库交流群
GT-HMI交流群