# Julia for Simulating Embedded Systems (HW/SW/Environment)

**URL:** <https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130>\
**Category:** General Usage\
**Created:** [January 24, 2022, 2:51pm UTC](https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130 "2022-01-24T14:51:19Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![mrkrynmdsco](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mrkrynmdsco/32/19756_2.png) [@mrkrynmdsco](https://discourse.julialang.org/u/mrkrynmdsco)\
**Post date:** [January 24, 2022, 2:51pm UTC](https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130/1 "2022-01-24T14:51:19Z")

</div>

Hi,  
I’m a Julia starter and I would want to leverage the language in doing **cyber-physical simulation** in the **embedded systems** domain. Something similar to what [Renode](https://renode.io/) can do but dynamically (if we can think of how to run the application software source instead of its compiled binary ELF or HEX), but also supports running these binaries.

Please let me know if someone is already doing the same and suggestions on how to do it.

Regards,  
Mark

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 24, 2022, 3:49pm UTC](https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130/2 "2022-01-24T15:49:27Z")

</div>

There is work on compilation for embedded simulations, hardware-in-the-loop, etc. that is being developed as part of [JuliaSim - Julia Computing](https://juliacomputing.com/products/juliasim/), though more details are not public as of now. If you represent a interested party and are interested in being a commercial partner please feel free to contact me privately.

---

<div class="post-metadata">

**Author:** ![datnamer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datnamer/32/3471_2.png) [@datnamer](https://discourse.julialang.org/u/datnamer)\
**Post date:** [January 24, 2022, 4:08pm UTC](https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130/3 "2022-01-24T16:08:38Z")

</div>

Is the compilation part going to be closed source? IE generating a standalone small c binary or something like that (similar to tf lite).

Useful for autonomous vehicles or edge deployment, not Sciml style simulations

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 24, 2022, 5:31pm UTC](https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130/4 "2022-01-24T17:31:35Z")

</div>

Yes.

---

<div class="post-metadata">

**Author:** ![datnamer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datnamer/32/3471_2.png) [@datnamer](https://discourse.julialang.org/u/datnamer)\
**Post date:** [January 24, 2022, 5:57pm UTC](https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130/5 "2022-01-24T17:57:36Z")

</div>

Thanks. What about other more standard static compilation stories? (ie facilities for tree shaking and minimal runtime to deploy webservers and CLI apps with smaller memory footprints and lower latency than is currently possible.)

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 24, 2022, 6:06pm UTC](https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130/6 "2022-01-24T18:06:28Z")

</div>

> [@datnamer](#):
>
> What about other more standard static compilation stories? (ie facilities for tree shaking and minimal runtime to deploy webservers and CLI apps with smaller memory footprints and lower latency than is currently possible.)

There are some things that can be improved in the Julia compiler (and are already being done), and some things which need a completely alternative compiler pipeline. But getting to full embedded can require runtime free scenarios.

---

<div class="post-metadata">

**Author:** ![datnamer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datnamer/32/3471_2.png) [@datnamer](https://discourse.julialang.org/u/datnamer)\
**Post date:** [January 26, 2022, 4:16pm UTC](https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130/7 "2022-01-26T16:16:38Z")

</div>

Isn’t that basically GPUCompiler.jl?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 26, 2022, 4:17pm UTC](https://discourse.julialang.org/t/julia-for-simulating-embedded-systems-hw-sw-environment/75130/8 "2022-01-26T16:17:16Z")

</div>

No
