Episode 9 - Ada - Even on a Microcontroller!

  Рет қаралды 12,417

Jack Ganssle

Jack Ganssle

Күн бұрын

Most embedded people shun Ada for a variety of reasons, one of which is a perception it's not appropriate for Microcontrollers. In this video Jack shows Ada running (efficiently!) on an ARM Cortex M4. For far lots more about embedded systems (including over 1000 articles), visit www.ganssle.com. And subscribe to my twice-monthly newsletter that has more reviews like this! Go to www.ganssle.com...

Пікірлер: 28
@edgeeffect
@edgeeffect 7 жыл бұрын
always good to hear someone bigging up Ada! :) :) :)
@MarkMcDaniel
@MarkMcDaniel 4 жыл бұрын
I've never heard the phrase "bigging up" before. I presume it means something similar to "supporting" given the context?
@juanpauloazaelpalacios-vil5422
@juanpauloazaelpalacios-vil5422 Жыл бұрын
VHDL/FPGA dev here, would be cool to use this for microcontrollers! Thanks!
@kristhetrader5029
@kristhetrader5029 10 жыл бұрын
Hi Jack, great videos so far, I'm not an expert programming MCUs, but use 16bit dsPICs extensively on my designs (up to 7 dsPICs on one device talking to each other over CAN, got also 2x 256x64 VFDs and Ethernet coming up now. I program all MCUs with something called "Flowcode", I love it. It gets the job done VERY VERY easily without being a programmer I can do wonderful things. I know it's a lot to ask for an embedded engineer to go and take a look at this software. However to say that in a few minutes you can have something running which will suit any need, I have even started to show this software to my 9-year old son as it's that easy to use :-) Anyway, take care and keep them coming!
@964tractorboy
@964tractorboy 10 жыл бұрын
I would never have imagined Ada was available on a controller, never mind viable. Or should that be the other way round? A real eye-opener. Thanks!
@Lucretia9000
@Lucretia9000 9 жыл бұрын
964tractorboy Ada was designed for embedded work as well as for use in other areas.
@JohnFoll1
@JohnFoll1 5 жыл бұрын
I don't understand why folks are shunning Ada for embedded systems, this is what it was designed for. And I read that there are many who are using Ada for embedded systems.
@ToddFun
@ToddFun 10 жыл бұрын
As an Oracle database admin I have used Ada for the past 15 years and still code 4 to 5 hours a day using it because the built in language for the database is PL/SQL which is an Ada base language. I had no idea I could use Ada for my micro controllers. Thanks. I will have yo look into this more.
@DOGMA1138
@DOGMA1138 8 жыл бұрын
+Todd Harrison (ToddFun) Ada and PL/SQL are both modeled after Pascal.
@tomstern1681
@tomstern1681 10 жыл бұрын
I can see why people like Ada because it is harder to "mess up" the code, however myself like many others write in C for ages and that is the tool we feel most comfortable in and is most widely support in modern MCUs. The 1st reason is a bad excuse but it is almost impossible to change how people work not to talk about what language they use.
@1337NoMad1337
@1337NoMad1337 10 жыл бұрын
Any plans on tutorials or further projects with the STM Discovery board? I'll probably buy one since they are dirt cheap but looking very powerful.
@introductiontomicrocontrol3894
@introductiontomicrocontrol3894 10 жыл бұрын
Damon, I've started a series on Ada and the STM Discovery board. Two entries so far, working on the next one now. www.embeddedrelated.com/showarticle/617.php
@zmichele
@zmichele 6 жыл бұрын
This one too is targeted at STM32 www.inspirel.com/articles/Ada_On_Cortex.html
@markteague8889
@markteague8889 7 жыл бұрын
A compiler class a friend and I took during the mid 90s required us to write an Ada compiler in Ada. The justification used by the instructor at the time for investing so much effort in Ada was that it was being promoted as a standard by the US Federal Government. I'm a little curious how many applications utilized by the Federal Gov't today are still maintained in Ada.
@edgeeffect
@edgeeffect 7 жыл бұрын
wow... I like Ada too... very not fashionable thing to say... although trying to do data-processing with strings in Ada is a tough one. If GCC has an Ada front-end (which it does) and an AVR back-end which it does... ... ....
@luaking84
@luaking84 9 жыл бұрын
Ada is far more useful and up-to-date than many realize...
@DOGMA1138
@DOGMA1138 8 жыл бұрын
+luaking84 If you mean 1 to 5 decades behind the curve, fragmented to hell, utterly pay-walled with no standard library to speak of or interoperability then sure Ada is very modern.
@luaking84
@luaking84 8 жыл бұрын
It's good enough for me.
@drakonzebra
@drakonzebra 9 жыл бұрын
Much more excited about rust for microcontroller programming myself.
@sbenitezb
@sbenitezb 9 жыл бұрын
Is it possible to program avr 8 bit microcontrollers in ada too?
@BryceSchroeder
@BryceSchroeder 8 жыл бұрын
+Sebastián Benítez Yes, I've programmed an Atmel AVR in Ada - the project is called, somewhat predictably, "avr-ada." It's a stripped-down version of the language, though, which is understandable given that Ada is kinda huge. I know Ada people might not like hearing it, but C just plain did some things right, and I'd like a language with the "safety" features of Ada but with some of the conveniences of C (e.g. augmented assignment - though Ada is right to have assignment as a statement, I think, in terms of bug-resistance.)
@mrlazda
@mrlazda 8 жыл бұрын
+Bryce Schroeder Ada "safety" features are so good that they cause most famous software bug related accident (and probably more costly) Ariane 5 rocket, Flight 501 accident, caused by inadequate protection from integer overflow
@menotworking
@menotworking 8 жыл бұрын
What, 20 years later and people are still trying to blame Ada for this?! The integer overflow was a hardware event. The programming team would have written the code to respond to the event in the same way regardless of the language used. And besides, the way the event was handled was reasonable for the earlier Ariane rockets. It only became unreasonable (and caused the loss of the rocket) when they stuck the old software into the new and very different Ariane 5, and didn't revisit their assumptions, or perform adequate bench simulation testing because of the expense.
@mrlazda
@mrlazda 8 жыл бұрын
woodlandmikey Only problem with your explanation is that Ada biggest "selling point" is that it should deal with problems like that. And conversion from a 64-bit floating point number to a 16-bit signed integer is not "hardware event" as you call it, even mediocrity C compiler will rise warning when you for that conversion and Ada which is allegedly designed for "safety critical" applications did not managed to do that. They did not stick old software in to new rocket, it is same software and hardware as it was used in Ariane 4 (only difference is that Ariane 5 have higher initial acceleration then Ariane 4 which lead to event that revealed flaw in way Ada deal with situation like that). But all that is not important, anyway even DoD dropped requirements to Ada be used, and they even go further then that (DOD preparing to drop its investment in sustaining Ada and rewriting all Ada code to other languages it it is planed to future use), which practically mean that ada is dying language for example for F-35 all software is written in C++ (by DoD requirements). And it was time they learn that Ada is dead end, which was proven may times (for example most reliable rockets use C, Pascal, Fortran and recently Drakon).
@menotworking
@menotworking 8 жыл бұрын
Ada never claimed that it could magically fix programming decisions that may have been valid for original hardware X, but are invalid for new hardware Y. It is absurd to think otherwise. And yes, the conversion from 64-bit FP to 16-bit INT, and the resulting Operand Error, was a hardware event, located in the 68000-family FPU. The Ada compiler generated the appropriate FPU instructions for the line of code under question, and of course any compiler for any other language would have generated the same FPU instructions for equivalent code. The question of a "warning" is irrelevant, since the Ariane 4 programmers determined (rightly or wrongly) that an overflow in the conversion could never happen in flight, and so must indicate a hardware failure. And do you really imagine that Ada would not emit such a warning? Finally, yes, they stuck "old" (previously written) software in the Ariane 501, rather than "new" or re-written software to account for the different flight characteristics of the new rocket. People can question the decisions made by the Ariane 4 programmers (though no Ariane 4 ever failed due to the code in question), but nobody can seriously claim that Ada somehow caused the Ariane 501 failure. Certainly the ESA never made such a claim, and continued to use Ada code in the Ariane 5 rockets.
@carldavis8228
@carldavis8228 8 жыл бұрын
Ada Good Unchecked_Conversion Bad
@warwagon
@warwagon 8 жыл бұрын
Him being out of focus is slightly distracting.
I Only Probed the Board With a Scope - Why Did My Board Crash?
12:52
The Ada 2012 Story
6:14
AdaCore
Рет қаралды 32 М.
Хасанның өзі эфирге шықты! “Қылмыстық топқа қатысым жоқ” дейді. Талғарда не болды? Халық сене ме?
09:25
Демократиялы Қазақстан / Демократический Казахстан
Рет қаралды 289 М.
Mom had to stand up for the whole family!❤️😍😁
00:39
Episode 7 - An Oscilloscope from 1946 Can Still Teach Some Lessons
11:25
Episode 6 - The Inside Scoop on Getting Names in Firmware Right
9:03
Episode 8 - How to Use Two GPIOs to Debug Firmware and Log Data
7:53
Harder Drive: Hard drives we didn't want or need
36:47
suckerpinch
Рет қаралды 1,7 МЛН
Perils of Probing: What's Inside That Scope Probe?
8:03
Jack Ganssle
Рет қаралды 20 М.
You’ve Never Seen WiFi Like This
20:43
Data Slayer
Рет қаралды 963 М.
Ada Programming For Embedded Systems
5:51
RunTime Recruitment
Рет қаралды 9 М.
Episode 10 - Is Your DMM Accurate? Here's How to Tell
3:42
Jack Ganssle
Рет қаралды 22 М.
The Tragedy of systemd
47:18
linux.conf.au
Рет қаралды 1,1 МЛН
Episode 17 - Review of Rigol's DSA 815-TG Spectrum Analyzer
9:58
Jack Ganssle
Рет қаралды 30 М.