Forum breadcrumbs - You are here:ForumGeneral: HelpNew MCUs help
You need to log in to create posts and topics.

New MCUs help

To simulate in SimulIDE AVR32 and ESP32 (Without WiFi) you can use existing modules example SPI I2C UART etc...

For I51 I see the files: i51core.cpp, i51core.h, i51pin.cpp, i51pin.h, i51port.cpp, i51port.h, i51timer.cpp, i51timer.h, i51usart.cpp, i51usart.h.

Which modules can be used and which need to be made new.

Such a high clock frequency would be a problem.

Hi.

The MCU framework in Simulide is made for 8 bit MCUs, it doesn't support 32 bits.
Also these devices are usually much more complex and need new types of peripherals.
So almost everything should be created for scratch.

 

It could be convenient to emulate esp32 and maybe other MCUs with Qemu as it happens in picsimlab and above all it is possible in Simulide.

Greetings

Quote from feri on March 20, 2025, 6:12 pm

It could be convenient to emulate esp32 and maybe other MCUs with Qemu as it happens in picsimlab and above all it is possible in Simulide.

Greetings

Yes, that's an option, I will have a look.

I got Qemu running in Simulide, the problem is synchronization.

In Simulide, the simulation engine controls everything in the circuit, but Qemu execution can't be controlled, it must be the other way around: Qemu controlling the simulation, which is not compatible with the current engine.

I'm thinking in some way to implement this in the future...

ks-0 has reacted to this post.
ks-0

Hi,

If Qemu is not suitable, perhaps integrating Renode could be a better option?

Quote from ks-0 on March 26, 2025, 3:15 am

Hi,

If Qemu is not suitable, perhaps integrating Renode could be a better option?

Thanks, I didn't know about Renode, looks a nice project.
Have you used it?

Challenges I see with Renode (without much knowledge):

- The reason why Qemu is not very "controllable" is the same reason why it is so fast. I guess Renode speed can be a challenge.
- Not much support for peripherals. Implementing new ones takes a LOT of work.
- Very limited documentation and resources available online (not a lot of people using it).
- Written in C#.

Good things I see about Renode:

- Specific for embedded systems (Qemu has a lot more including x86, etc.)
- Fully controllable execution (much easier to synchronize).
- Much much smaller source code ?? (Edited: source code is in  multiple repos)

 

Yesterday I managed to synchronize Qemu and Simulide for output signals (changing pin state) with ns accuracy.
But doing it for input signals (Simulde->Qemu) is another challenge (maybe unsolvable?)

 

In any case I will give it a try and see what can be done with Renode.
I'm specially concerned about speed.

ks-0 has reacted to this post.
ks-0

Have you used it?

No, unfortunately I don't have any experience with Renode.

I just found it yesterday while looking for an alternative to Qemu and I saw someone recommending Renode as a faster alternative to Qemu, so I thought it could be a good option, especially since it's purpose-built to simulate SOCs.

When I saw you were having difficulties syncing Qemu with Simulide, I immediately recalled the Synchronization section of the official documentation mentioning how the simulation can be synced, and I thought it could be helpful to mention it.

Thank you very much for working on this feature, it would be a dream come true to have 32-bit microcontroller support in Simulide.

Unfortunately, helping with the code is way above my pay grade, but please let me know if I can help in any way.

Regards.

Yes, Renode looks very well and is fully controllable, even instruction by instruction I think.

Unfortunately, helping with the code is way above my pay grade, but please let me know if I can help in any way.

Eventually we will need lot of testing, but this will take some time.

By now I'm just trying to get some basic examples working with Qemu:

ks-0 has reacted to this post.
ks-0

Eventually we will need lot of testing, but this will take some time.

By now I'm just trying to get some basic examples working with Qemu:

 

I'd be happy to help when it's time for testing.
Again, thank you for working on this, it's already very exciting just to see the ESP32 blinking an LED in Simuilde.