5 ms·
I might be wrong but I believe the problem with using these languages in industrial applications has to do with the back end running them as these os's are subj
by sigmaprimus 7y ago
I might be wrong but I believe the problem with using these languages in industrial applications has to do with the back end running them as these os's are subject to system calls or interrupts that mess with critical timing situations.
I believe this is the reason 3D printers and other CNC machines still use a seperate dedicated controller such as original arduino rather than just using the GPIO on a newer arm board running a full stack.
- 3fe9a03ccd14ca5 7y agoI think the vast majority of these iot applications are something like “read; send; sleep 60”. But your point stands that people needing high precision and timing probably won’t reach for this.
- magicalhippo 7y agoThat's the point of having the M4 cores alongside the M7 though, isn't it? Let the M4's handle real-time stuff like driving motors, and the M7 do communication and/or user interface.
- jschwartzi 7y agoDo they share a memory bus? How do they contend with devices? Can an interrupt or memory access on the M7 core cause the M4 core to miss a critical timing? If so it's not really a good design. If it's two totally independent cores with totally independent sets of devices, how do you manage the pinmux? Are there independent pinmuxes? And finally is the M4 core capable of detecting single-faults in the cache, memory, flash registers, and instruction pipeline? Such as might be caused by cosmic rays? These are some things I would look for if I was specifying a processor pair for use in a safety-critical system.
- magicalhippo 7y agoI tried reading the datasheet and they could have spelled out a lot of these things a bit more clearly I think. As far as I can see they have mostly separate memory busses, and a lot of the peripherals can only be accessed directly by either the M7 or the M4. Though there is some cross-bus access and how that works I have no idea. They specify that all the SRAM memory and Flash uses ECC, but no mention of the registers that I could spot. By no means a simple chip to wrap ones head around, but certainly looks interesting. Pricing of the Arduino though... not for me, at that price I'd rather take the RPi plus some extension board.
- sigmaprimus 7y agoI am very interested in your comment about different core functionality. If I understand you correct there are different functions for specific cores, if this is true, I would humbly request that you create a blog/post covering this topic as these traits have been totally been missed by me. This is probably the result of my biased opinion towards ARM devices but I would genuinely like to know this information.
- HeyLaughingBoy 7y agoThere's Industrial, and then there's Industrial. Factory automation applications written in BASIC have been a thing for decades. Javascript & Python are improvements in many ways. Like everything else in engineering, you have to know what you're doing, what you and your tools are capable of, and what performance is needed. Not everything has a 1ms deadline and the vast majority of so-called "industrial" applications will work perfectly fine on a 1-second loop.
- sigmaprimus 7y agoTrue enough, there are many applications that do not require critical timing. As far as engineering goes I would expect most engineers would feel more comfortable putting their seal on something that was over-engineered than just good enough. This is similar to why when designing a circuit it is common practice to double the power dissapation or wattage of components. I see no reason Java or Python languages wouldn't work or any other language for that matter, as long as they were running on a stable system, I'm just not convinced that arm processors offer that stability but again I may be wrong.