Hello,
I'm having trouble programming the processor for the first time with cyclone FX.
The first processor programming never operates correctly.
The code has a bootloader and the application. After programming with cyclone FX the software runs the bootloader but crashes when jumping to the application.
The curious thing is that if I run the application in debug mode the system operates correctly. After this first debug programming it is possible to program the processor with the cyclone and everything works correctly.
And sometimes when running the application debug the system crashes in the Startup_S323K144.S file. To fix it just run the debug again and the system works.
Error when debug crashes.
DefaultISR:
b DefaultISR
.size DefaultISR, . - DefaultISR
Boot Linker:
m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000400
m_flash_config (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010
m_text (RX) : ORIGIN = 0x00000500, LENGTH = 0x00004000
m_crc (RX) : ORIGIN = 0x00004600, LENGTH = 0x00000100
m_data (RW) : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000
m_data_2 (RW) : ORIGIN = 0x20000000, LENGTH = 0x00007000
App Linker:
m_dummy (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000100
m_appheader (RX) : ORIGIN = 0x00006400, LENGTH = 0x00000100
m_interrupts (RX) : ORIGIN = 0x00006600, LENGTH = 0x00000400
m_flash_config (RX) : ORIGIN = 0x00006B00, LENGTH = 0x00000010
m_text (RX) : ORIGIN = 0x00006C00, LENGTH = 0x00079400
m_flexram (RW) : ORIGIN = 0x14000000, LENGTH = 0x00001000
m_data (RW) : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000
m_data_2 (RW) : ORIGIN = 0x20000000, LENGTH = 0x00007000
FS32K144 LQFP100
Any ideas?
Solved! Go to Solution.
Fixed.
The problem was the eeprom partitioning.
I changed the code to use the driver function and everything worked.
FLASH_DRV_DEFlashPartition(&flashSSDConfig, EEE_SIZE, EEE_BACKUP, 0x0u, false, true);
FLASH_DRV_Init(&Flash1_InitConfig0, &flashSSDConfig);
FLASH_DRV_SetFlexRamFunction(&flashSSDConfig, EEE_ENABLE, 0x00u, NULL);
Fixed.
The problem was the eeprom partitioning.
I changed the code to use the driver function and everything worked.
FLASH_DRV_DEFlashPartition(&flashSSDConfig, EEE_SIZE, EEE_BACKUP, 0x0u, false, true);
FLASH_DRV_Init(&Flash1_InitConfig0, &flashSSDConfig);
FLASH_DRV_SetFlexRamFunction(&flashSSDConfig, EEE_ENABLE, 0x00u, NULL);