|
Forum Index : Microcontroller and PC projects : Which module for the H7
| Page 1 of 2 |
|||||
| Author | Message | ||||
| Tinine Guru Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
Apologies if this has been addressed but the Nucleo module linked in the manual, states that it is no longer manufactured. Which is the one to go for now? |
||||
goc30![]() Guru Joined: 12/04/2017 Location: FrancePosts: 435 |
have-you see h753ZI? |
||||
| KeepIS Guru Joined: 13/10/2014 Location: AustraliaPosts: 1945 |
I believe the replacement is NUCLEO-H743ZI2 Development Board, STM32 Nucleo-144, STM32H743ZI MCU, ST Zio, ST Morpho. Mike. NANO Inverter: Full download - Only Hex Ver 8.1Ks |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10572 |
Correct. As far as I can see the only difference is an update of the ST-LINK from V2 to V3 |
||||
| Tinine Guru Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
Ah, good...Thanks, all |
||||
| SiNut Newbie Joined: 12/03/2015 Location: United StatesPosts: 12 |
I just received a NUCLEO-H743ZI2 from Digikey. As stated above the module has V3 of the ST_LINK. I had to install a new version of the USB driver to get it working with my PC. The driver from ST is "STSW-LINK009". The other notable change is that this module has a 480Mhz processor on it, up from 400Mhz on the previous version. I loaded the latest version of ARMmite H7 code (2019-06-16 194636 Armmite1.3bin) and it ran without a hitch - once I had updated the driver. Cheers, -- Gurbir |
||||
| Tinine Guru Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
Very cool...thanks for the info. Cheers |
||||
| HardingJohn Regular Member Joined: 28/07/2017 Location: AustraliaPosts: 78 |
Can someone check that the new Nucleo-H743ZI2 is actually running at 480 Mhz not 400 Mhz without needing to change anything in the ARMmite1.3 code?? It uses the new model STM32H743ZIT6U chip which can run at speeds up to 480Mhz. I presume the HSE clock crystal is still 8Mhz on the Nucleo ZI2 board?? Thanks John Just know enough to get me in trouble, but not quite enough to get me out. |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10572 |
It won't. A significant code change is needed to run at a different speed and a) I don't have a ZI2 b) If the chips have the same ID then there is no way the code can know if it can run at the higher speed |
||||
| KeepIS Guru Joined: 13/10/2014 Location: AustraliaPosts: 1945 |
I've just got one of the new boards and the first things I noticed are: 1: Cannot remove the Debugger Programmer board. 2: The board has a new layout and completely different link set. 3: Same link software I had installed works as before and finds V.3. 4: Dropped the H7.bin file onto the Virtual drive and MMBasic prompt was there. I now need to download the Circuits and documentation for the new board to enable / remove the required links. BTW the package states M7 Core at 480 MHz. Mike. NANO Inverter: Full download - Only Hex Ver 8.1Ks |
||||
| HardingJohn Regular Member Joined: 28/07/2017 Location: AustraliaPosts: 78 |
The 8Mhz HSE clock on the new Nucleo-H743ZI2 board is supplied by the ST Link MCO. The board has provision for a 25 Mhz crystal as an alternative but is not fitted. The 32.768Mhz LSE clock crystal is fitted. It would be nice to use this new 480Mhz capable chip. The 8Mhz HSE should be kept. Would it be too much work to provide an ARMmite CPU Speed Option to select either 400 Mhz or 480 Mhz? Just know enough to get me in trouble, but not quite enough to get me out. |
||||
| KeepIS Guru Joined: 13/10/2014 Location: AustraliaPosts: 1945 |
That's the same as the previous version of the board, are you thinking that this new board is only running at 400MHz as is? BTW: I haven't had time to read though the manual as yet but I did a quick" Sieve of Eratosthenes Speed Test" used on this forum, the old and new boards are the same showing around 0.486. NANO Inverter: Full download - Only Hex Ver 8.1Ks |
||||
| JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4135 |
Peter already said in this topic that it will be running MMBasic at the same (400MHz) speed. John |
||||
| KeepIS Guru Joined: 13/10/2014 Location: AustraliaPosts: 1945 |
I was only interested in processor clock speed. Not how the Port to the ARM handles clock speed. NANO Inverter: Full download - Only Hex Ver 8.1Ks |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10572 |
It is the Port to the ARM that sets the processor clock speed. Nothing runs without a lot of code setting up multiple PLLs. Because MMBasic has lots of real time functionality, all this can be affected by clock changes void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct; /**Supply configuration update enable */ MODIFY_REG(PWR->CR3, PWR_CR3_SCUEN, 0); /**Configure the main internal regulator output voltage */ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); while ((PWR->D3CR & (PWR_D3CR_VOSRDY)) != PWR_D3CR_VOSRDY) { } /**Configure LSE Drive Capability */ HAL_PWR_EnableBkUpAccess(); __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW); /**Macro to configure the PLL clock source */ __HAL_RCC_PLL_PLLSOURCE_CONFIG(RCC_PLLSOURCE_HSE); /**Initializes the CPU, AHB and APB busses clocks */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSI |RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.LSEState = RCC_LSE_ON; RCC_OscInitStruct.HSIState = RCC_HSI_DIV1; RCC_OscInitStruct.HSICalibrationValue = 16; RCC_OscInitStruct.HSI48State = RCC_HSI48_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLM = 1; RCC_OscInitStruct.PLL.PLLN = 100; RCC_OscInitStruct.PLL.PLLP = 2; RCC_OscInitStruct.PLL.PLLQ = 4; RCC_OscInitStruct.PLL.PLLR = 2; RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3; RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; RCC_OscInitStruct.PLL.PLLFRACN = 0; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } /**Initializes the CPU, AHB and APB busses 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_PLLCLK; RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USART3 |RCC_PERIPHCLK_USART2|RCC_PERIPHCLK_USART6 |RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_UART5 |RCC_PERIPHCLK_RNG|RCC_PERIPHCLK_SPI5 |RCC_PERIPHCLK_SPI3|RCC_PERIPHCLK_SPI1 |RCC_PERIPHCLK_SPI2|RCC_PERIPHCLK_I2C2 |RCC_PERIPHCLK_ADC|RCC_PERIPHCLK_I2C1 |RCC_PERIPHCLK_USB; PeriphClkInitStruct.PLL2.PLL2M = 2; PeriphClkInitStruct.PLL2.PLL2N = 100; PeriphClkInitStruct.PLL2.PLL2P = 8; PeriphClkInitStruct.PLL2.PLL2Q = 8; PeriphClkInitStruct.PLL2.PLL2R = 8; PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_2; PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE; PeriphClkInitStruct.PLL2.PLL2FRACN = 0; PeriphClkInitStruct.PLL3.PLL3M = 4; PeriphClkInitStruct.PLL3.PLL3N = 192; PeriphClkInitStruct.PLL3.PLL3P = 8; PeriphClkInitStruct.PLL3.PLL3Q = 5; PeriphClkInitStruct.PLL3.PLL3R = 4; PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_1; PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE; PeriphClkInitStruct.PLL3.PLL3FRACN = 0; PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL2; PeriphClkInitStruct.Spi45ClockSelection = RCC_SPI45CLKSOURCE_PLL3; PeriphClkInitStruct.Usart234578ClockSelection = RCC_USART234578CLKSOURCE_D2PCLK1; PeriphClkInitStruct.Usart16ClockSelection = RCC_USART16CLKSOURCE_D2PCLK2; PeriphClkInitStruct.RngClockSelection = RCC_RNGCLKSOURCE_HSI48; PeriphClkInitStruct.I2c123ClockSelection = RCC_I2C123CLKSOURCE_HSI; PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48; PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2; PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSI48, RCC_MCODIV_4); /**Configure the Systick interrupt time */ HAL_SYSTICK_Config(SystemCoreClock/1000); /**Configure the Systick */ HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); /* SysTick_IRQn interrupt configuration */ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); } ![]() |
||||
| KeepIS Guru Joined: 13/10/2014 Location: AustraliaPosts: 1945 |
I tried to reply last night but the forum keep loosing a connection from my location. I'm thinking that I will have to re-word my reply's in this forum as they seem to be taken out of context? My comment above was to indicate that I wanted to know if the CPU is indeed a 480Mhz part and not testing under the timing constraints of running under mm.basic. It was not a slight on the Port to ARM, I understand the complexities of internal scaling and PPL control of timing and final internal clock speed, hence my comment. It was a curiosity thing as the CPU's appear to be the same part number, but obviously, as in the past, that is no indication of the speed capability of the part, I was hoping the ARM had not gone down the Microchip's path. IE: Same part number and ID but sold as different speed parts with no way of really knowing if you got the correct part. I got burned by this with the M100 120Mhz. Anyway, just now I see that you have been busy coding an option for CPU speed and this is really fantastic, thankyou once again for the time and effort. NANO Inverter: Full download - Only Hex Ver 8.1Ks |
||||
| CaptainBoing Guru Joined: 07/09/2016 Location: United KingdomPosts: 2171 |
seems to be a rash of it just lately. I just want to put it out there: if I ever say anything that can be taken two ways and one of those ways makes you angry or sad, I meant the other one |
||||
| KeepIS Guru Joined: 13/10/2014 Location: AustraliaPosts: 1945 |
The User USB port on the new board is a Micro USB Type-C This explains the extra power link on JP2 for CHGR. NANO Inverter: Full download - Only Hex Ver 8.1Ks |
||||
| KeepIS Guru Joined: 13/10/2014 Location: AustraliaPosts: 1945 |
Well looks like I got that wrong in a sense, as at first glance (being oval) it looked like a new hard to find mini USB-C. The manual says "USB Micro-AB receptacle connector CN13" The housing is different to the Micro-B connector for STLINK, this housing on TWO units looks completely oval, the connection Pins contacts appear to be upside down to the normal Micro-B port and the contact centering looks different. Has anyone else had a chance to look at this yet? NANO Inverter: Full download - Only Hex Ver 8.1Ks |
||||
| Tinine Guru Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
I much prefer the USB-C because they are more robust and can plug-in, in any orientation....I never get the other plugs the right-way up There are adapters available, BTW. |
||||
| Page 1 of 2 |
|||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |