9.4 GT-HMI-Engine代码移植

 

GT-HMI-Engine代码移植很重要,在hmi上位机设计的界面需要依赖这些文件才能使用,下面介绍移植步骤(下面介绍的步骤是以雅特力的AT32F437VGT7为例,在keil5环境下完成的,其他芯片移植过程基本一致)

第一步:首先用git的下载GT-HMI-Engine源代码。

在git bash上使用

"git clone git@gitee.com:genitop/GT-HMI-Engine.git -b develop"命令拉取代码。

 

图9-9

 

第二步:将GT-HMI-Engine源码添加到功能目录里面去,并添加到keil5的工程里面去,

 

 

 

图9-10

第三步:打开gnu配置进行编译,图9-11为参考的配置,不同的keil5版本配置gnu界面都不一样。这里gnu配置必须打开,不然会报很多错误。

 

图9-11

图9-12 为Target配置,Use MicroLIB也需要打开,不然也会报错。

 

图9-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的心跳。

图9-13

做完上面操作可显示一个按键控件看是否能正常显示,如显示不正常请检查_flush_cb刷屏函数是否正确。

控件能正常使用并能正常触摸,表明GT-HMI-Engine已移植成功

 

9.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接口函数,如有需求可联系我司技术人员提供。

 

 

9.6 HMI示例移植

 

GT-HMI-Engine移植成功后,就可以实现将HMI自行设计的界面移植到板子上,移植过程查看GT-HMI Designer上位机代码移植章节或参考“GT-HMI Engine用户手册”,下面讲解一下HMI示例移植,以GT-HMI Designer软件示例界面中的1.9寸示例来说明移植过程。首先打开1.9寸示例工程。

 

图9-14

 

可以看到该示例中使用并展示了多种控件的使用和交互方法,假如使用软件中的示例工程,我们在点击仿真运行前,需要先另存为到其它路径。

不勾选下次询问时,点击仿真会弹出编译环境设置,我们设置好开发板卡设置与字库配置。

 

图9-15

可以看到仿真完成后,软件控制台打印出仿真编译产物的路径信息,路径为另存为时设置的工程路径。

 

图9-16

我们打开工程目录,可以看到有多个子文件夹,其中board文件夹是提供给GT-HMI模块使用的,out文件夹则是提供给非GT-HMI模块使用的,两者都是资源文件,包括生成的素材bin文件,图片排布顺序以及字库调用库等。Keil5文件夹中是编译自动生成的对应GT-HMI模块keil工程(与编译环境设置中开发板设置对应,即1.9寸模块工程),screen文件夹则是工程各页面的调用代码,sources文件夹中是个图片素材及图片的数组调用代码。

 

 

图9-17

我们按照9.3章的内容将非GT-HMI模块使用的out文件夹中的gt_port_vf.c,gt_gui_driver.lib和gt_gui_driver.h替换掉我们自身移植好Engine工程的GT-HMI-Engine\driver下的同名文件,点击keil5工程的编译按钮开始编译程序文件,编译完成后使用J-LINK与模块板子相连,点击右边的下载按钮,将程序代码下载到板子中。

 

图9-18

打开out文件夹中的resource.bin资源文件,使用烧录器将其烧录到板子上的flash中。烧录完成后,即可在板子上运行。

 

图9-19

 

10. 注意事项

1.请勿拆卸液晶显示模块。

2.不要在印制电路板上钻额外的孔 ,修改形状或更改印制线路板上元件的位置。

3.除焊接接口外 ,不要用烙铁做任何更改;焊接温度保证在 320°C-350°C ,焊接时间控制在10S以内 ,焊接时注意不要在同一处停留时间太久以免烫伤 FPC。

4.其他事项在不清楚使用之前 ,请联系我司人员指导进行。

 

 

上一页
    • 联系电话

    • 0755—83453881
    • 服务时间

    • 周一至周五 9:00-18:00
    • 高通GT-HMI交流群