2024-05-15 04:57 AM - edited 2024-05-16 04:50 AM
Hi everybody.
I am using "STM32H7B3LIHQ" MCU and i want to try led blinking. I have created a new project in CubeMx. I am using 24MHz crystal resonator and MCU frequency is 280 MHz.
Toolchain is "STM32CubeIDE" and program is very simple;
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOD, GPIO_4, SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOD, GPIO_4, RESET);
But i can't build project. I have a "No such file or directory" error.
I researched on the internet but could not find any information about solving the problem. What is the problem?
Solved! Go to Solution.
2024-05-15 06:28 AM
I solved this problem. I changed the file name from "startup_stm32h7b3lıhxq.s" to "startup_stm32h7b3lihxq.s". But I encountered a new problem. The problem is that there is no "FLASH.Id" file in the projects I created with cubemx and I have to manually copy this file into the project folder each time. Finally, I compile the project without any problems, but I cannot debug it. I programmed the MCU with "STMCubeProgrammer". But I cannot program with Cube IDE.
In this project, I will use 512MB QSPI flash, 256MB DRAM, 24Bit TFT screen and a lot of ADC-PWM-DMA hardware. Creating a project and a simple led blink program shouldn't be this difficult. :thinking_face:
2024-05-15 06:28 AM
I solved this problem. I changed the file name from "startup_stm32h7b3lıhxq.s" to "startup_stm32h7b3lihxq.s". But I encountered a new problem. The problem is that there is no "FLASH.Id" file in the projects I created with cubemx and I have to manually copy this file into the project folder each time. Finally, I compile the project without any problems, but I cannot debug it. I programmed the MCU with "STMCubeProgrammer". But I cannot program with Cube IDE.
In this project, I will use 512MB QSPI flash, 256MB DRAM, 24Bit TFT screen and a lot of ADC-PWM-DMA hardware. Creating a project and a simple led blink program shouldn't be this difficult. :thinking_face:
2024-05-15 06:33 AM
Hello,
Could you please share your project? at least your ioc file + main.c (led blink program)?
2024-05-15 11:03 PM - edited 2024-05-16 12:22 AM
Hi SofLit.
I solved the problem. I had to create it launch configuration for project and now working normally. This is my first time using CubeIDE. I was using Keil before.
But I need to use cubeIDE for this project. Because, as I mentioned in my previous message, the main project is much more complex. I need to use a 24bit TFT screen, DRAM and QSPI flash with TouchGfx. There is also a lot of hardware (ADC, PWM, DMA etc.). Looks like I'll be posting a lot more until this project is completed. :thinking_face:
I am sharing led example project.
Have a nice day.
Edit note: You will see it when you download the "Led example" project. I wrote a small blink program to test that the pins in the project are working properly. All pins are working properly, but "PB8 - PB9 and PG9" are not working. This pins always low. I tried it on 2 different boards. Whats it the problem? Do you have any idea?
2024-05-16 05:20 AM
Hi guys.
I will explain the details of the solution to a problem that I encountered while working on the project and that many people have experienced but could not find a solution to. Some pins in this MCU cannot be used. Many people on the internet have experienced problems where they cannot use port B. The main reason for this problem is that some pins are connected to a secondary power supply. In the MCU I am using (STM32H7B3LIHQ), PB8 - PB9 - PD6 - PD7 - PG9 - PG10 - PG11 - PG12 - PG13 and PG14 pins are connected to the secondary power supply.
These pins are powered by "VDDMMC". When designing the schematic and PCB, I used the "MB1331" reference design and the "STM32H7B3I-EVAL" board. On this eval board, the "VDDMMC" pin is connected to the uSD2 card via the SB14 jumper.As I was not using a uSD card, I connected this pin to ground with a capacitor and left it unused. As a result, the pins connected to this power supply did not work. It is clearly stated in the datasheet that if this pin is not used, it should be connected to the VDD pin.
In summary, for the I/Os connected to the "VDDMMC" supply to work, the "VDDMMC" pin must be connected to VDD.