Which Hardware Emulator and Development IDE/Editor is best for Embedded Development

Thread Starter

mack38

Joined Nov 29, 2019
21
I am new to the embedded development area and doing self-study in this area (I am already from Computer Science background) but I have few doubts and need guidance on the development and testing tools used in this area.

Q1. What is the difference between :-
openOCD, pyOCD, Segger J-Link,

Jumper Virtual Lab,
https://www.thefreecountry.com/emulators/arm.shtml
QEMU CPU Emulator,
ARMware,
Microsoft Device Emulator 3.0,
Softgun - the Software ARM,
SkyEye

I am confused between an emulator and the one which is required and works with Debug Probe.

According to my understanding, a Debug Probe is a device used to write hex code from the laptop (hex file generated by the editor) to your project board/MCU (real board) ? Correct me if I am wrong
and those softwares which are used to run the debug prob device are e.g. J-Link or openOCD or pyOCD. Correct me if I am wrong

and there is another type of software which basically emulate the entire MCU on your laptop which means you actually don't need any real physical MCU board and by this, you can, again and again, run your code on this virtual MCU Board to test (which is not real MCU board but a software emulating like MCU Board on your laptop OS).
e.g. hardware emulator software are : Jumper Virtual Lab, QEMU etc... Correct me if my understanding is wrong?


Q2. Which hardware emulator is best and free for ARM Cortex-M, -R, AVR, PIC, STM***, NXP based MCU ? which are the popular and commonly Hardware emulators used by MNC during firmware development? (so that I can download and start practicing on that) (I don't know if real MNCs prefer to use free/open-source option or paid emulator.)

Q3. Which development IDE(s)/Editor(s) is/are most commonly used in Firmware development by MNCs e.g. eclipse, Visual Code Editor, Keil-MDK or anything else? I heard that most of the companies try to use Free IDEs but I also observe that for every MCU manufacturer they have their own IDE which gives better and full features than other free ones.
E.g if you buy AVR MCU board from Microchip then Atmel Studio is a free better-supported feature for that board compared to other fee IDE/Editor but still I want to know the name of most commonly and popularly used IDEs. So that I can practice on those IDEs used by MNCs in the IT industry.
 
Last edited:

MrChips

Joined Oct 2, 2009
20,870
I do not use simulators or emulators for the following reasons:

1) My projects are heavily dependent on external hardware, signals and stimuli.
2) How can you be confident that there is not a bug in the simulator/remulator?
3) Sooner or later you have to test the real system

Microchip/Atmel Studio and STM Atollic TrueStudio are free.
 

k.stew

Joined Apr 12, 2016
1
This is a pretty open-ended question and you are asking a little too much to answer everything. Most STM development is free getting started. As far as emulators, until you are familiar with hardware I would recommend development with hardware. Emulators are limited and probably only best for CI/CD development, practical knowledge into setting up and interfacing with hardware is where you should focus for now.
 

JohnInTX

Joined Jun 26, 2012
4,008
I do not use simulators or emulators for the following reasons:

1) My projects are heavily dependent on external hardware, signals and stimuli.
2) How can you be confident that there is not a bug in the simulator/remulator?
3) Sooner or later you have to test the real system
The best advice you'll get all day.
 

danadak

Joined Mar 10, 2018
4,057
If you do embedded designs with mixed signal PSOC is an ARM core(s) in several families
with extensive analog onchip as well, including precision reference.

The resources onchip are called "components". You drag and drop these onto design canvas,
click to config, right click to open datasheet that explains config parameters as well as
describe its APIs for use in code.` Component catalog for the 5LP family attached.

Chip is routable internally component to component and to external pins. Debugger onchip
accessed via USB connector on board.

Example of a filter design, again what you see is all onchip. Note right hand window shows
resources used/unused for other tasks.

IDE (PSOC Creator) and compiler free. https://www.cypress.com/products/psoc-creator-integrated-design-environment-ide

Low end board (very useful) $ 10 https://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-and


This project is a digital filter project (all onchip) -

1585149677973.png

1585150177000.png


Huge number example projects, lots of videos -

https://www.element14.com/community/thread/23736/l/100-projects-in-100-days

https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days


Regards, Dana.
 

Attachments

Last edited:

mckenney

Joined Nov 10, 2018
79
According to my understanding, a Debug Probe is a device used to write hex code from the laptop (hex file generated by the editor) to your project board/MCU (real board) ?
(...)
and there is another type of software which basically emulate the entire MCU on your laptop which means you actually don't need any real physical MCU board
Q1:
Simulator is used for a program (PC, e.g.) which simulates the chip. Even if it is very good, it has all the hazards that Mr. Chips mentioned.

Emulator as a term is a bit of an anachronism. In 2020, it means "Debug Probe". 25 years ago it meant a socket-ish thing which plugged into your board with (offboard) programmable logic to simulate the chip. Since the logic was designed by the chip designers, it was a pretty good simulation. It normally provided access to a number of internal signals, and sat in your board, so it had your external devices. The best could run at nearly full speed. They were very big and Very expensive, and still imperfect. I haven't seen a real one in years.

A Debug Probe is a little bit of logic, augmented by host (PC) software, which talks to a small Debug unit inside the MCU chip. The Debug unit provides breakpoints, memory read/write (and thus code download) and step-wise control. Modern debug units can provide something very close to "real life" in debug mode. Most are fairly small and inexpensive -- in many cases you can get one as a "loss leader" from the chip maker.

Your choice of Debug Probe will be mostly driven by what MCU you choose.
 
Top