cancel
Showing results for 
Search instead for 
Did you mean: 

HSE of STM32F373RC is not working

Diget
Associate II

Hello.

My MCU does not work. I guess it is oscillator problem.

- PF1 pin of STM32F373RC is low even though 3.3V power is supplied to MCU, so 8Mhz oscillator does not work.

- The oscillator has internal capacitors and part number is "CSTNE8M00G550000R0"

- I designed this circuit board. I used MCUs of Atmel, TI and Microchip for several years but this is first time to use STM32 MCU.

- I checked 3.3V power is normal and NRST pin value is HIGH.

- There is no other oscillator for LSE

Did I make a mistake?

Please let me know some way how can I check this issue.

Attached image is oscillator part of my circuit.

1 ACCEPTED SOLUTION

Accepted Solutions
Diget
Associate II

Hello Amel

The mcu package I choose is LQFP64 and there is no PD5, 6 pins but there is USART2 peripheral. It is impossible to use boot mode with USART2 in my mcu then?

By the way I solved this issue. The problem was my emulator. I tried downloading firmware with Nucleo board as emulator and it worked well.

Thank you for your useful helps :)

View solution in original post

8 REPLIES 8

The HSE does not start automatically, the part should run from HSI initially.

Can you download and debug code?

Is BOOT0 pulled low?​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Diget
Associate II

Omg. I didn't know that it is not started automatically. Could you let me know which document has description related to it.

BOOT0 is LOW now and it is connected to slide switch to switch between high and low easily.

I could never download any firmware yet. I got only this message when I try it "No device found on target".

I'm using TRUE studio and ST-LINK/V2-ISOL emulator. Actually I think there is little possibility that emulator connection or TRUE studio setting has some problem.

Attached images are emulator connection

0690X000006C4haQAC.png

0690X000006C4hfQAC.png

Check level of NRST

Make sure you have VDDA connected to a supply

Power/wiring of SWD looks ok.

Check part orientation.

Secondary signs-of-life is to wire up USART1 PA9/PA10, when reset with BOOT0=HIGH you should be able to send an 0x7F pattern at 9600 8E1 (Even Parity) and get a 0x79 response. Use something like RealTerm in HEX mode.

If this is also not responsive check all supply pins. Double check part orientation.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Diget
Associate II

Power connection of mcu is same as attached image. I checked every power pins by scope

Part orientation is ok, actually it is assembled by SMT not by hand

Unfortunately It is hard to check USART1. it is connected to bluetooth module already... Is there another way? I have usb port in my circuit and USART2 is available.

I found something strange while checking NRST level

Voltage of these pins are changed after trying download firmware by emulator

First value is measured before connect emulator, second value is measured after download is tried.

SWDIO: 3.3V --> 3.3V

SWCLK: 0V --> 2.4V

NRST: 3.3V --> 2.8V

NRST and other values become normal after emulator connector is detached. My emulator has some problem?

0690X000006C4i9QAC.png

You'd need to review the AN2606 app note, but traffic on pins of interest will confuse the loader.

If the device supports USB in the loader, then with BOOT0=HIGH a PC should recognize the board as a "STM32 DFU Device"

Check that the ST-LINK reports seeing the target voltage. Generally speaking the kind of situation you are describing is where the core is not running/powered. Or you're trying to communicate on the wrong pins.

https://www.st.com/content/ccc/resource/technical/document/application_note/b9/9b/16/3a/12/1e/40/0c/CD00167594.pdf/files/CD00167594.pdf/jcr:content/translations/en.CD00167594.pdf

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Diget
Associate II

I had similar idea with you so I checked pins again and again but I couldn't find something wrong.

I connected the board to PC with usb cable but mcu was not recognized on PC.

I read that boot mode document and found 3 ways to boot usart1, 2, usb in my mcu.

USART1 is PA9, 10, USART2 is PD5, 6 but I arranged USART2 to PA2, 3. Is there any difference?

I tried sending 0x7F by USART2(PA2, 3) but nothing is happened.

I'm keep trying to find solution. Please suggest any idea.

Thank you

Amel NASRI
ST Employee

Hello @Diget​ ,

Dedicated pins for boot mode with USART2 are PD5 and PD6, you cannot use PA2 and PA3.

Make sure that you follow all recommendations provided in the hardware getting started of the STM32F373. The power scheme is particular as there are the VDDSD available only this line STM32F3 family.

You need to refer to AN4206 (Getting started with STM32F3 series hardware development).

https://www.st.com/resource/en/application_note/dm00070391.pdf

-Amel

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.

Diget
Associate II

Hello Amel

The mcu package I choose is LQFP64 and there is no PD5, 6 pins but there is USART2 peripheral. It is impossible to use boot mode with USART2 in my mcu then?

By the way I solved this issue. The problem was my emulator. I tried downloading firmware with Nucleo board as emulator and it worked well.

Thank you for your useful helps :)