FS32K144 Cyclone First Prog

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FS32K144 Cyclone First Prog

Jump to solution
394 Views
dsilva
Contributor III

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?

0 Kudos
1 Solution
380 Views
dsilva
Contributor III

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);

View solution in original post

0 Kudos
1 Reply
381 Views
dsilva
Contributor III

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);

0 Kudos