FS32K144 Cyclone First Prog

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

FS32K144 Cyclone First Prog

跳至解决方案
1,282 次查看
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 项奖励
回复
1 解答
1,268 次查看
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 项奖励
回复
1 回复
1,269 次查看
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 项奖励
回复