2019-11-08 04:20 PM
I would like to use the main flash sector for user data and use system bank 2 for code storage. Is it as simple as changing the linker script and the boot address so that code execution starts at the base address of the system flash bank 2?
I can't see exactly why not, bank 2 is not write protected and is connected to the axi bus just like the user flash sector.
Will stlink be able to erase/load and debug using the system flash?
Thanks.
2019-11-08 07:02 PM
There's no bank2 in Stm32h750.
-- pa
2019-11-09 01:23 AM
Table 11, pg 140 of RM0433 shows that there is a 128k sector called "system flash bank 2" at 0x1ff40000, which I'm guessing is intended for user boot code? It is a completely seperate sector from the user main memory sector at 0x80000000.
2019-11-09 01:46 AM
Don't stop reading at table 11: p. 149: "System Flash memory bank 2 can be written by STMicroelectronics secure firmware only.", p. 153: "The system Flash memory (bank 2 only) can also be erased, but by STMicroelectronics secure firmware only.", p. 182: "An program operation is ignored and flagged as illegal if it targets one of the following memory areas: • The system Flash memory (bank 2 only) while the device is not executing ST bootloader code". Probably a special unlocking procedure is required to modify this bank ...
So, system flash bank 2 isn't (freely) available for use. However: For prototype use you might check whether the H750 has in fact 2 MBytes, despite the documentation saying there are only 128 kBytes. E.g. on F730 the full 512 kBytes are present, but anything beyond the value indicated in the datasheet might be untested or defective.
2019-11-09 02:28 AM
Thank you, now i understand. I think I'll just use one of it's more expensive cousins. This chip seems oddly hamstrung by having only one user flash sector, which i guess explains the price as compared with the h74xx. So the h750 are the chips that, when tested, only have 1 reliable user flash sector? Does that mean they also have a disabled m4 core hidden inside?
One more question- i searched for stm32h742 which a single user flash bank version and found nothing. Is it so backordered that it's not listed or does it not really exist?
2019-11-09 03:07 AM
I wouldn't expect the H750 to have only one reliable sector. But testing flash is certainly quite time consuming (therefore expensive): Several program/erase cycles, tests at VDD limits and temperature limits ... Very limited flash is not that uncommon. See e.g. NXP's imx rt1010, an M7 with no internal flash at all. In both cases the remedy is a QSPI flash. The H750 is even more attractive in comparison due to the internal RAM size (although much more expensive). One could copy the firmware into the internal RAM.
Regarding the 'hidden' core: The device id e.g. for the H743, H745, H750 is identical. This suggests the chips are indeed identical, if you look inside the H743: the boot address register for the M4 is present and programmed there, too. This method of creating different devices is well know and not specific to ST in any way.
In constrast to the 'oversized' flash, the core is probably permanently disabled due to licensing fees. And the encryption option probably too on the restricted versions due to export control issues.
Maybe the H742 is manufactured only on special order in huge quantities, hence not readily available.
2019-11-09 04:19 AM
Yeah, i just wanted to avoid adding another part. No big deal as I'll only be building a few. An extra $5-6 to avoid using an external flash is ok.
2019-11-19 10:31 AM
Hi Andreas,
I would like to know if there is any method by which we can use system flash memory( bank 2 ), to erase and modify it. Please let me know the same.
Thanks,
Ankit
2019-11-19 12:56 PM
I'm afraid I don't know how to use bank 2 of system flash memory. You might have a look at AN4992, this in turn refers to AN5243 which is available from ST only under NDA.