An emulator for ARM Cortex-M MCUes

Hello all,

I'm an experienced C++ programmer but very beginner to the world of embedded. My intention is to use modern C++ for embedded programming especially on ARM MCU. As my first hands-on experiment, I need to start with a Blue Pill and make its LED blink. Sadly, due to the hard situation in the place I live in, finding even such an simple board can be difficult. I'm not sure this is the right place on the site to ask my questions in this regard or not, but I hope so. I've got two questions:

1)  Is there any popular emulator that can properly emulate an MCU like Blue Pill, Black Pill or lower/higher models so that I can run my C++ program and observe the results on it? For instance, to see an LED blinking? If so, what's that good emulator, please? I've got two machines to install that emulator software on: Windows, and Linux.

2) What're the advantages and disadvantages of using such an emulator versus having real boards for that purpose, please?

Thanks beforehand. 

More questions in this forum