10.4 GT-HMI-Engine代码移植

 

GT-HMI-Engine代码移植很重要,在hmi上位机设计的界面需要依赖这些文件才能使用,下面介绍移植步骤(下面介绍的步骤是在keil5环境下完成的)。

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

在git bash上使用

"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.其他事项在不清楚使用之前 ,请联系我司人员指导进行。

 

 

上一页
    • 联系电话

    • 0755—83453881
    • 服务时间

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