}
void recovery_display_sample(void)
-{
- errcode_t ret;
- td_handle dpu_handle;
- ext_dpu_surface surface = {0};
- ext_dpu_layer_info layer_info = {0};
-#ifndef IMG_DISPLAY
- /* 局部显示白色示例 */
- ext_rect update_rect = {0, 133, 454, 200}; // 定义一个局部区域
- recovery_dispay_layer_and_surface_init(&surface, &layer_info, &update_rect);
- // 设置layer全白色
- memset_s((void *)surface.phy_addr, surface.size, 0xff, surface.size);
-#else
- /* 全屏显示图片示例 */
- /* 图片压缩参数如下:
- <imageRes compress="NONE" format="RGB888" align="16" tile="6"
- alpha="0" rgb="0" autocmpmode="0" highqualitymode="0"
- highcmpratiomode="0" ver="1">
- </imageRes>
- */
-#ifdef SINGLE_USER_PARTITION
- #define DISP_IMAGE "/user/system/OTAUpdataRecover.bin"
-#else
- #define DISP_IMAGE "/update/demo.bin"
-#endif
- recovery_dispay_layer_and_surface_init(&surface, &layer_info, NULL);
- recovery_dispay_read_image_and_savein_surface(DISP_IMAGE, &surface);
-#endif
-
- ret = uapi_dpu_create_layer(&layer_info, &dpu_handle);
- if (ret != ERRCODE_SUCC) {
- return;
- }
- ret = uapi_dpu_set_layer_info(dpu_handle, &surface);
- if (ret != ERRCODE_SUCC) {
- return;
- }
- ret = uapi_dpu_refresh_layers();
- if (ret != ERRCODE_SUCC) {
- return;
- }
- ret = uapi_dpu_destroy_layer(dpu_handle);
- if (ret != ERRCODE_SUCC) {
- return;
- }
-}
+ {
+ errcode_t ret;
+ td_handle dpu_handle;
+ ext_dpu_surface surface = {0};
+ ext_dpu_layer_info layer_info = {0};
+ ext_rect update_rect = {0, 0, 466, 466}; // 定义一个局部区域
+ // ext_rect update_rect = {223, 223, 20, 20}; // 定义一个局部区域
+
+ recovery_dispay_layer_and_surface_init(&surface, &layer_info, &update_rect);
+ // 设置layer全白色, 也可以使用接口 recovery_dispay_read_image_and_savein_surface 实现从文件系统读图片
+ /* image_tool 图片压缩参数如下:
+ <imageRes compress="NONE" format="RGB888" align="16" tile="6"
+ alpha="0" rgb="0" autocmpmode="0" highqualitymode="0"
+ highcmpratiomode="0" ver="1">
+ </imageRes>
+ */
+ // memset_s((void *)surface.phy_addr, surface.size, 0xFF, surface.size);
+ #ifdef SINGLE_USER_PARTITION
+ recovery_dispay_read_image_and_savein_surface("/user/system/OTAUpdataRecover.bin",&surface);
+ #else
+ recovery_dispay_read_image_and_savein_surface("/system/OTAUpdataRecover.bin",&surface);
+ #endif
+ ret = uapi_dpu_create_layer(&layer_info, &dpu_handle);
+ if (ret != ERRCODE_SUCC) {
+ return;
+ }
+ ret = uapi_dpu_set_layer_info(dpu_handle, &surface);
+ if (ret != ERRCODE_SUCC) {
+ return;
+ }
+ ret = uapi_dpu_refresh_layers();
+ if (ret != ERRCODE_SUCC) {
+ return;
+ }
+ ret = uapi_dpu_destroy_layer(dpu_handle);
+ if (ret != ERRCODE_SUCC) {
+ return;
+ }
+ }
void recovery_display_init(void)
{