WIZnet Developer Forum

Undocumented registers from example source

Hi,

I am working on a project with W7500. To reduce memory footprint, i do not use all the peripheral drivers from BSP and i rewrite some parts.

From the default SystemInit() i’ve found two registers (W7500x_TRIM_BGT and W7500x_TRIM_OSC), and two memory locations (0x0003FDB8, 0x0003FDBC) that are not listed into the datasheet (or maybe i’ve not found them).

What are this registers ? How they works ?

Hello, Hooligan0

Thank you for your interests with W7500!!

Yes, you’re Right. It is not written on datasheet, the registers you found in SystemInit().

Those are related with Trim.

INFO_BGT & INFO_OSC is fixed in Flash from Fab.

That’s why we need the below code lines.

(*((volatile uint32_t *)(W7500x_TRIM_BGT))) = (*((volatile uint32_t *)(W7500x_INFO_BGT))); (*((volatile uint32_t *)(W7500x_TRIM_OSC))) = (*((volatile uint32_t *)(W7500x_INFO_OSC)));

BGT is for Trim the Flash power and OSC is for Trim Hz.

But the reason why we cover the registers is It is no need to be touched by users.
And It Should be done correctly to do normal operation with W7500.

I hope It will help you.

Thank you,

lawrence

Hi lawrence,

Thanks for this answer.

But the reason why we cover the registers is It is no need to be touched by users.

I understand that it works as-this but i like to understand the code that i use :slight_smile:

So, if i use external oscillator, BGT is always needed but OSC can be removed, right ?

Can i find other usefull datas into the undocumented memory regions ?

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.