Przeglądaj źródła

更新CPU工程
1、更新升级进度条驱动,优化进度条旋转时显示异常的问题。
2、更新系统默认启动方式为spi nor + emmc启动。
更新MCU工程(iram版本和sram nos版本)
1、更新升级进度条驱动,优化进度条旋转时显示异常的问题。
2、更新系统默认启动方式为spi nor + emmc启动。

helen 2 miesięcy temu
rodzic
commit
149189650b

+ 1 - 1
amt630hv160-freertos-beta/ArkmicroFiles/libboard-amt630hv160/include/board.h

@@ -396,7 +396,7 @@
 #define SPI_NAND_FLASH				1
 #define EMMC_FLASH					2
 #define DEVICE_TYPE_SELECT			EMMC_FLASH					//需要与MCU工程amt630hv160_conf.h中CPU_DEVICE_TYPE_SELECT对应
-#define MCU_DEVICE_TYPE_SELECT		DEVICE_TYPE_SELECT			//需要与MCU工程amt630hv160_conf.h中DEVICE_TYPE_SELECT对应
+#define MCU_DEVICE_TYPE_SELECT		SPI_NOR_FLASH				//需要与MCU工程amt630hv160_conf.h中DEVICE_TYPE_SELECT对应
 
 #if DEVICE_TYPE_SELECT != EMMC_FLASH
 //#define SPI0_QSPI_MODE

+ 15 - 5
amt630hv160-freertos-beta/ArkmicroFiles/libboard-amt630hv160/source/ota_update.c

@@ -116,7 +116,7 @@ static const unsigned char fontdata_16x32[] = {
 #define  UPDATE_TEXT_WIDTH			400
 #define  UPDATE_TEXT_HEIGHT			36
 #define  PROGRESS_WIDTH				400
-#define  PROGRESS_HEIGHT			48
+#define  PROGRESS_HEIGHT			52
 
 #define  UPDATE_LOGO_WIDTH			PROGRESS_WIDTH
 #define  UPDATE_LOGO_HEIGHT			(UPDATE_TEXT_HEIGHT + PROGRESS_HEIGHT)
@@ -260,9 +260,17 @@ void update_progress_set(int percent)
 		(unsigned int)memstart + PROGRESS_WIDTH *PROGRESS_HEIGHT * LCD_BPP / 8);
 
 #if LCD_ROTATE_ANGLE != LCD_ROTATE_ANGLE_0
+		uint32_t out_width, out_height;
+#if LCD_ROTATE_ANGLE == LCD_ROTATE_ANGLE_180
+		out_width = UPDATE_LOGO_WIDTH;
+		out_height = UPDATE_LOGO_HEIGHT;
+#else
+		out_width = UPDATE_LOGO_HEIGHT;
+		out_height = UPDATE_LOGO_WIDTH;
+#endif
 	pxp_scaler_rotate(logo_display_addr, 0, 0,
-		PXP_S0_FORMAT_RGB565, UPDATE_LOGO_WIDTH, UPDATE_LOGO_HEIGHT,
-		pxp_display_addr, 0, PXP_OUT_FORMAT_RGB565, UPDATE_LOGO_HEIGHT, UPDATE_LOGO_WIDTH, LCD_ROTATE_ANGLE);
+		PXP_S0_FORMAT_RGB888, UPDATE_LOGO_WIDTH, UPDATE_LOGO_HEIGHT,
+		pxp_display_addr, 0, PXP_OUT_FORMAT_ARGB888, out_width, out_height, LCD_ROTATE_ANGLE);
 #endif
 }
 
@@ -300,7 +308,7 @@ static int update_logo_init(void)
 	uint32_t out_width;
 	uint32_t out_height;
 
-	pxp_display_addr = (uint32_t)pvPortMalloc(width * height * 2);
+	pxp_display_addr = (uint32_t)pvPortMalloc(width *height * LCD_BPP / 8);
 	if (pxp_display_addr == 0) {
 		printf("%s malloc fail.\n", __func__);
 		return -1;
@@ -320,6 +328,7 @@ static int update_logo_init(void)
 	out_width = height;
 	out_height = width;
 #endif
+	ark_lcd_set_osd_format(LCD_OSD1, LCD_OSD_FORAMT_ARGB888);
 	ark_lcd_set_osd_size(LCD_OSD1, out_width, out_height);
 	pxp_scaler_rotate(logo_display_addr, 0, 0, PXP_S0_FORMAT_RGB565, width, height,
 			pxp_display_addr, 0, PXP_OUT_FORMAT_RGB565, out_width, out_height, LCD_ROTATE_ANGLE);
@@ -327,8 +336,9 @@ static int update_logo_init(void)
 	y = (LCD_HEIGHT - out_height) / 2;
 	x = (LCD_WIDTH - out_width) / 2;
 #else
-	ark_lcd_set_osd_yaddr(LCD_OSD1, logo_display_addr);
+	ark_lcd_set_osd_format(LCD_OSD1, LCD_OSD_FORAMT_ARGB888);
 	ark_lcd_set_osd_size(LCD_OSD1, width, height);
+	ark_lcd_set_osd_yaddr(LCD_OSD1, logo_display_addr);
 	x = (LCD_WIDTH - width) / 2;
 	y = (LCD_HEIGHT - height) / 2;
 #endif

+ 2 - 2
amt630hv160-mcu/amt630hv160-mcu-iram/src/App/update.c

@@ -98,7 +98,7 @@ static const unsigned char fontdata_16x32[] = {
 #define  UPDATE_TEXT_WIDTH			400
 #define  UPDATE_TEXT_HEIGHT			36
 #define  PROGRESS_WIDTH				400
-#define  PROGRESS_HEIGHT			48
+#define  PROGRESS_HEIGHT			52
 
 
 #define  UPDATE_LOGO_WIDTH   PROGRESS_WIDTH
@@ -242,12 +242,12 @@ int update_logo_init(void)
 	line_width = UPDATE_TEXT_WIDTH * LCD_BPP / 8;
 	update_text_init();
 	updating_progress_init();
-	ark_lcd_set_osd_yaddr(LCD_OSD1, logo_display_addr);
 	ark_lcd_set_osd_size(LCD_OSD1, width, height);
 	ark_lcd_set_osd_format(LCD_OSD1, LCD_OSD_FORAMT_ARGB888);
 	x = (LCD_WIDTH - width) / 2;
 	y = (LCD_HEIGHT - height) / 2;
 	ark_lcd_set_osd_possition(LCD_OSD1, x, y);
+	ark_lcd_set_osd_yaddr(LCD_OSD1, logo_display_addr);
 	ark_lcd_osd_enable(LCD_OSD1, 1);
 	ark_lcd_set_osd_sync(LCD_OSD1);
 

+ 2 - 2
amt630hv160-mcu/amt630hv160-mcu-iram/src/amt630hv160_conf.h

@@ -321,8 +321,8 @@
 #define SPI_NOR_FLASH				0
 #define SPI_NAND_FLASH				1
 #define EMMC_FLASH					2
-#define DEVICE_TYPE_SELECT			EMMC_FLASH					//需要与CPU工程board.h中MCU_DEVICE_TYPE_SELECT对应
-#define CPU_DEVICE_TYPE_SELECT		DEVICE_TYPE_SELECT			//需要与CPU工程board.h中DEVICE_TYPE_SELECT对应
+#define DEVICE_TYPE_SELECT			SPI_NOR_FLASH		//需要与CPU工程board.h中MCU_DEVICE_TYPE_SELECT对应
+#define CPU_DEVICE_TYPE_SELECT		EMMC_FLASH			//需要与CPU工程board.h中DEVICE_TYPE_SELECT对应
 
 /********** update address configuration **********/
 #if DEVICE_TYPE_SELECT == SPI_NOR_FLASH

+ 2 - 2
amt630hv160-mcu/amt630hv160-mcu-sram-nos/src/amt630hv160_conf.h

@@ -330,8 +330,8 @@
 #define SPI_NOR_FLASH				0
 #define SPI_NAND_FLASH				1
 #define EMMC_FLASH					2
-#define DEVICE_TYPE_SELECT			EMMC_FLASH				//需要与CPU工程board.h中MCU_DEVICE_TYPE_SELECT对应
-#define CPU_DEVICE_TYPE_SELECT		DEVICE_TYPE_SELECT		//需要与CPU工程board.h中DEVICE_TYPE_SELECT对应
+#define DEVICE_TYPE_SELECT			SPI_NOR_FLASH			//需要与CPU工程board.h中MCU_DEVICE_TYPE_SELECT对应
+#define CPU_DEVICE_TYPE_SELECT		EMMC_FLASH				//需要与CPU工程board.h中DEVICE_TYPE_SELECT对应
 
 /********** update address configuration **********/
 #if DEVICE_TYPE_SELECT == SPI_NOR_FLASH