Skip to main content
Exit0815
Senior
May 15, 2024
Question

STM32F779 "Package Data Register" always returns the same

  • May 15, 2024
  • 2 replies
  • 948 views

Hello,

 

RM0410 says:

 

Spoiler

45.3 Package data register
Base address: 0x1FFF 7BF0
Address offset: 0x00
Read only = 0xXXXX where X is factory-programmed

Bits 15:11 Reserved, must be kept at reset value.
Bits 10:8 PGK[2:0]: Package type
0x111: STM32F767 and STM32F777 LQFP208 and TFBGA216 package
0x110: STM32F769 and STM32F779 LQFP208 and TFBGA216 package
0x101: STM32F767 and STM32F777 LQFP176 package
0x100: STM32F769 and STM32F779 LQFP176 package
0x011: WLCSP180 package
0x010: LQFP144 package
0x001: LQFP100 package
0x000: Reserved
Bits 7:0 Reserved, must be kept at reset value.

I have two custom boards here.

 

One with a STM32F779NI (TFBGA216 ) and one STM32F779AI (WLCSP180)

At the RM0410 it says "Base address: 0x1FFF 7BF0" but at the stm32f779xx.h it has a define "#define PACKAGE_BASE 0x1FF0F7E0UL"

When i try to check if the board has the NI or the AI on it, it returns 0x600 on both MCU types:

volatile uint32_t packagetype = *(( uint32_t *)PACKAGE_BASE) & 0x0700;

 

What is wrong here? How can i find out if the MCU is type NI or AI?

 

Thank you very much.

This topic has been closed for replies.

2 replies

ST Technical Moderator
May 15, 2024

Hello @Exit0815 ,

The RM0410 Rev4 will be updated to correct the Base address: 0x1FFF 7BF0. It should be: 0x1FF0 F7E0.

 

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
Exit0815
Exit0815Author
Senior
May 15, 2024

Hello @Imen.D,

 

Thanks for your answer. So the stm32f779xx.h is correct.

But then there is still the problem that this returns always 0x600, with the AI and the NI MCU:

volatile uint32_t packagetype = *(( uint32_t *)PACKAGE_BASE) & 0x0700;

where PACKAGE_BASE is: 

#define PACKAGE_BASE 0x1FF0F7E0UL /*!< Package size register base address */

Am i doing something wrong?