16
Discussion - EVE / Re: Using flash for bitmaps
« on: February 20, 2024, 03:44:06 PM »
Have you fixed your alignment? The flash destination address that you posted in the other thread was not a multiple of 4096.
Welcome to the Bridgetek Community!
Please read our Welcome Note
Technical Support enquires
please contact the team @ Bridgetek Support
Please refer to our website for detailed information on all our products - Bridgetek - Bridging Technology
#if defined (STM32WB55xx) /* set with "build_flags = -D STM32WB55xx" in platformio.ini */
#include "stm32wbxx.h"
#include "stm32wbxx_hal.h"
#include "stm32wbxx_ll_spi.h"
#endif
#if !defined (EVE_CS)
#define EVE_CS_PORT GPIOA
#define EVE_CS GPIO_PIN_4
#endif
#if !defined (EVE_PDN)
#define EVE_PDN_PORT GPIOA
#define EVE_PDN GPIO_PIN_3
#endif
#if !defined (EVE_SPI)
#define EVE_SPI SPI1
#endif
/* USER CODE BEGIN Includes */
#include "tft.h"
/* USER CODE END Includes */
int main(void)
{
...
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_SPI1_Init();
/* USER CODE BEGIN 2 */
TFT_init();
TFT_display();
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
They noted the following:QuoteIf the DL itself contains an infinite loop, then there is the potential for this to happen.
An infinite loop could be caused by a JUMP /CALL instruction, or if the display list contains no DISPLAY instruction.
It is also worth verifying any direct writes to RAM_DL as there is a possibility of errors occurring here and not being caught by the co-processor.
read8 = EVE_memRead8(REG_DLSWAP);
if(0 != read8)
{
reg_dlswap_faults++;
dlswap = read8;
// return;
}
read8 = EVE_memRead8(REG_DLSWAP);
if(0 != read8)
{
dlswap2 = EVE_memRead8(REG_DLSWAP);
reg_dlswap_faults++;
dlswap = read8;
dlswap3 = EVE_memRead8(REG_DLSWAP);
// return;
}
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~©«°±²³´µ¹»¼½¾ÄÖ×Üßäëö÷øü
I've attached a screenshot.
(On a side note, is every single post seriously limited by moderator approval or is there just a probationary period?)