I am using the STM8AL3188 and am unable to read or write flash beyond 32K, even though the device has 64K flash. This occurs at address 0x10000 (flash starts at address 0x8000 making it exactly halfway). I am using IAR. I managed to fix the flash write issue by editing the stm8l15x_flash.h file and moving the #if defined STM8AL31_L_MD to the high density section. This appears to be a bug in the HAL file library for this device. I am now having an issue where I cannot read the flash correctly after address 0x10000. I get random/garbage values and I am not sure what else to try? Any help appreciated!