cancel
Showing results for 
Search instead for 
Did you mean: 

WB55 CoPo IAP-programming: system-table missing

CHr
Associate

I need to be able to install/upgrade the CoPro from CPU1.

I get the FW for CPU1 and CPU2 by its system-bootloader via SPI from another STM32-MCU. Sadly FUS-commands in the System-bootloader are only supported by USB and UART.

Studying AN5185, this task sounds easy a.f., however i already fail by activating CPU2:

here is my current Workflow on the P-NUCLEO-WB55-Board with FUS v1.1.0 and deleted Stack:

  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_RF_Init();
  MX_RTC_Init();
  MX_USART1_UART_Init();
 
 // AN5185 1.3 How to activate FUS
  // Ensure Cortex®-M0+ is activated by setting C2BOOT bit in PWR_CR4 register
  SET_BIT(PWR->CR4, PWR_CR4_C2BOOT);
 
/* 
Ensure IPCCDBA (option bytes) points to a valid shared table information structure in SRAM2a (fill correct pointers to device information table and system table)
*/
 // struct with 6 ptr see: AN5185 Figure6 Shared table architecture
	IPCCDBA_T* pIpccdba;
 
	do {
		uint32_t ipccdbaOffset = LL_FLASH_GetIPCCBufferAddr();
		pIpccdba = (IPCCDBA_T*)((ipccdbaOffset<<2) + SRAM2A_BASE);
	} while(pIpccdba->pDeviceInfoTable->TableState != 0xA94656B9);

ipccdbaOffset = 0 => shared table reference start @ 0x20030000 => OK

i get valid data for the referenced Device-Info-Table @ 0x20030024, but no reference for the System-Table @ 0X2003000C (offset 3)

see:

0693W000005AFsIQAW.jpg 

If I am correct, the system table is set by the CoPro FW (Stack or FUS )?

I get the references when using other BLE-examples, however the longer i go through the examples and Datasheets/Application Notes, the more headache I get.

I need to get the update-process working at startup, independend from the remaining Application (at best without the overhead from wpan, sequencer, shci... )

0 REPLIES 0