2024-03-26 11:17 PM
A question of compehension:
I cannot find any of the OCTOSPIM registers - neither in STM32CubeMX, nor in the register list, read by STM32CubeProgrammer. Am I right, that's because in our chip, there's only one OCTOSPIM port?
(I would appreciate, if that was mentioned in the reference manual, that that whole section "OCTOSPI I/O manager (OCTOSPIM)" has no relevance for certain chip subtypes, with a reference to the data sheet.)
But then I ask: Why do I still have the OCTOSPI2 registers? Because "In the default out-of-reset configuration, all the OCTOSPI1 and OCTOSPI2 signals are mapped, respectively, on Port 1 and on Port 2." (reference manual). And since I cannot change that mapping, and since I have no OCTOSPIM2 port, what's the point in the OCTOSPI2 registers then?
Did I misunderstand / miss something?
Solved! Go to Solution.
2024-03-27 10:19 PM - edited 2024-03-27 10:40 PM
Hello @pkoevesdi ,
Yes, the second view is taken from the STM32CubeIDE tool.
The OCTOSPI I/O manager is not a peripheral, so you can not see the "OCTOSPIM" in STM32CubeMX "categories" but you can configure it as shown in the below figure:
And you can see this configuration in the generated code:
sOspiManagerCfg.ClkPort = 1;
sOspiManagerCfg.DQSPort = 1;
sOspiManagerCfg.IOLowPort = HAL_OSPIM_IOPORT_1_LOW;
sOspiManagerCfg.IOHighPort = HAL_OSPIM_IOPORT_1_HIGH;
if (HAL_OSPIM_Config(&hospi1, &sOspiManagerCfg, HAL_OSPI_TIMEOUT_DEFAULT_VALUE) != HAL_OK)
{
Error_Handler();
}
Thank you.
Kaouthar
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-03-27 02:42 AM - edited 2024-03-27 02:53 AM
Hello @pkoevesdi ,
Could you please precise which STM32CubeProgrammer version are you using?
I made some tests with STM32CubeProgrammer 2.14.0 and with STM32CubeIDE 1.14.0 and I can see the OCTOSPI I/O manager (OCTOSPIM) registers as shown in the below:
The registers view groups all registers supported in STM32H730 ( STM32H730AB STM32H730IB
STM32H730VB STM32H730ZB)
Note that STM32H730VBxx have one Octo-SP interface as mentioned in the datasheet.
Thank you.
Kaouthar
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-03-27 03:02 AM
I use STM32CubeProgrammer 2.16.0 and STM32CubeIDE 1.15.0.
Ok, I'm sorry, now I found it in the Programmer. I assumed (and wished) that the Peripheral list was alphabetically sorted, which it isn't, and further that a search for "octo" in the field left of it would show all "octo"-peripherals, which it doesn't.
Still, I can't see it in the MX:
Where can I find your second picture "register view"?
> Note that STM32H730VBxx have one Octo-SP interface as mentioned in the datasheet.
...and mentioned in my initial post. ;)
2024-03-27 09:57 AM
> Where can I find your second picture "register view"?
Ok, found it, it's while debugging inside STM32CubeIDE, on the right side.
Ok, there I also found the OCTOSPIM register.
Now, I understand, why I don't see it in the MX view: because the parameters I set in "OCTOSPIx Mode and Configuration" configures the OCTOSPIM registers "in the background". That's why these don't have an own entry there. It's a sub function of OCTOSPI, not a main function.
Can You confirm?
2024-03-27 10:19 PM - edited 2024-03-27 10:40 PM
Hello @pkoevesdi ,
Yes, the second view is taken from the STM32CubeIDE tool.
The OCTOSPI I/O manager is not a peripheral, so you can not see the "OCTOSPIM" in STM32CubeMX "categories" but you can configure it as shown in the below figure:
And you can see this configuration in the generated code:
sOspiManagerCfg.ClkPort = 1;
sOspiManagerCfg.DQSPort = 1;
sOspiManagerCfg.IOLowPort = HAL_OSPIM_IOPORT_1_LOW;
sOspiManagerCfg.IOHighPort = HAL_OSPIM_IOPORT_1_HIGH;
if (HAL_OSPIM_Config(&hospi1, &sOspiManagerCfg, HAL_OSPI_TIMEOUT_DEFAULT_VALUE) != HAL_OK)
{
Error_Handler();
}
Thank you.
Kaouthar
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-03-28 12:33 AM
Thank You too!
2024-05-11 05:05 AM
One more question: Why are all the registers of the OCTOSPIM zero? I see it in Your screenshot and in my STMProg as well. The reset values are non-zero.