we are using STM32H755IIT6 MCU
we made 5 boards with the same MCU STM32H755IIT6
all the board can be programable with verification but only one board of start to run
what we can check on the board to find the problem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 04:37 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 05:42 AM
Voltages and capacitors of VCAP pins.
BOOT0 pin pulled-low.
Level of NRST pin
Settings for LDO/SMPS and VOS in SystemClockConfig()
Flash settings
External clock vis HSE_VALUE define,
Stuck in Error_Handler() or HardFault_Handler()
One could perhaps use a debugger and see where things are stuck, use LED, GPIO or UART to indicate progress into code.
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 07:03 AM
This may or may not help:
When I make an L4 board, the first attempt to load and debug hangs after load and never gets to main.c. After cycling power, the next attempt loads and initializes OK.
Cheers, Hal
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 07:29 AM
Voltages and capacitors of VCAP pins. - yes
BOOT0 pin pulled-low. - via 10K resistor
Level of NRST pin - 3.3V
Settings for LDO/SMPS and VOS in SystemClockConfig() - what do you mean
Flash settings - 2 ws
External clock vis HSE_VALUE define, - we are using internal clock
Stuck in Error_Handler() or HardFault_Handler()
One could perhaps use a debugger and see where things are stuck, use LED, GPIO or UART to indicate progress into code. - we cant use the debugger it is look that we dot have clock
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 07:49 AM
when you say power cycling what do you mean ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 08:26 AM
- Voltages and capacitors of VCAP pins. - yes
- BOOT0 pin pulled-low. - via 10K resistor
- Level of NRST pin - 3.3V
- Settings for LDO/SMPS and VOS in SystemClockConfig() - what do you mean
- Flash settings - 2 ws
- External clock vis HSE_VALUE define, - we are using internal clock
- Stuck in Error_Handler() or HardFault_Handler() It is not start at all
- One could perhaps use a debugger and see where things are stuck, use LED, GPIO or UART to indicate progress into code. - we cant use the debugger it is look that we dot have clock
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 09:10 AM
You said you could program/verify, processor is working. You should be able to step through Reset_Handler, ie don't "Run to main()"
VCAP should be around 1.25V
The power supply settings should be consistent with the design. You've shared nothing of the code or design. If you're using the internal LDO, make sure that's selected.
Two wait states at what speed? Should be at least 4 for 400 MHz
static void SystemClock_Config(void)
{
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_OscInitTypeDef RCC_OscInitStruct;
HAL_StatusTypeDef ret = HAL_OK;
/*!< Supply configuration update enable */
HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_SUPPLY); // <<< THIS CORRECT?
/* The voltage scaling allows optimizing the power consumption when the device is
clocked below the maximum system frequency, to update the voltage scaling value
regarding system frequency refer to product datasheet. */
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {} // <<< STUCK HERE??
Does it run if you don't reconfigure any of the clocking? Should run at 64 MHz using HSI, without you touching anything.
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 09:58 AM
thanks for the fast answer
we are running internal clock 64Mhz.
2 wait state
voltage scale 2
the code :
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Supply configuration update enable
*/
HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_SUPPLY);
/** Configure the main internal regulator output voltage
*/
__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE2);
while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {}
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_DIV1;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2
|RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV1;
RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV1;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
{
Error_Handler();
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 10:08 AM
Does your design use SMPS?
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-02-20 10:10 AM
Complete removal of power sources.
If the H7 parts get completely hung up, you might have to pull BOOT0 HIGH, and cycle the power a couple of times to recover.
The H7 parts also differentiate between a reset button press, and a reset caused by being powered up. Most specifically deciding whether to run from ROM or FLASH. It will run from ROM if the FLASH looks to be blank.
Up vote any posts that you find helpful, it shows what's working..