cancel
Showing results for 
Search instead for 
Did you mean: 

What do "Download" and "Upload" mean?

Andrew Neil
Evangelist III

In the Good Old Days, "Download" always meant sending stuff to the Target (ie, programming), and "Upload" meant getting stuff from the Target (reading).

But the ones at Arduino have messed that up, saying "Upload" for programming the Target.

eg, https://docs.arduino.cc/software/ide-v2/tutorials/getting-started/ide-v2-uploading-a-sketch

:confounded_face: :\

Please clarify what STM32CubeProgrammer means when it says, "Download" and "Upload".

The terms should probably be avoided now.

:\

24 REPLIES 24

I don't argue at all, CubeProgrammer could use less ambiguous terminology.

"I solved that problem a long time ago when I swore off using Arduino IDE"

I understand, but sometimes, for some customers its easier to walk them through with Arduino, than confuse them with "detail" about how things actually work under the hood.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

It might be fun/amusing...

One guy I work with its 10x easier than dealing with a real IDE, and actual code, he can do his high level coding, and he's happy. He says he wants to use a real IDE, but I lack the mental fortitude to work with him at that level.

What I miss however is any kind of effective debugging or post-mortem analysis

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

I'm not a fan of learning the quirks of new IDEs (even if most of them are Eclipse or VS based) but the benefits are generally worth it. Effective debugging/post-mortem - making use of on-chip emulation - is pretty essential (I manage to do ESP-IDF without it, only because the set-up is clunky - it almost feels magical when you go to the trouble).

To be fair, earlier AVR parts didn't offer on-chip debugging, and a bootloader for programming is pretty reasonable, I see why Arduino IDE is what it is.

With the proliferation of inexpensive debugger/programmers, though, that's functionality that's hard to leave on the table. The other side of that is you end-up collecting a bunch of those debugger/programmers (some effectively for free).

I'd say the quirky thing about Arduino libraries is how they all assume super-loop operation and interrupt support is sort-of cross-trussed onto the side, but I'm also describing the ST UTIL_SEQ sequencer framework there ;)

Burn!

That's because I have problem with "program" (as a verb).

OK, it's radical, I get it. Write and Read (and Verify) are unambiguous and IMO already generally accepted.

JW

PS. I also have a problem with the generally childish (a.k.a. "modern") design of CubeProgrammer's UI. ST, please get some adults to explain the programmers the merits of hierarchical menus and conventional placement of controls.

and, if you're talking to someone who speaks Arduino, you'll need to use terminology that they understand.

@Dana Myers​ "earlier AVR parts didn't offer on-chip debugging, and a bootloader for programming is pretty reasonable, I see why Arduino IDE is what it is."

Nothing to do with the chip's capabilities - the first Arduino used an AVR with on-chip debug.

It's more about the capabilities (or lack thereof) behind the keyboard...

ssipa.1
Associate II

The download means to download from your PC to the Arduino board

and upload is from the board to the PC

@ssipa.1​ "download means to download from your PC to the Arduino"

not according to Arduino documentation, it doesn't!

That's my point: the term is ambiguous and, therefore, either needs to be clarified or avoided.

@Andrew Neil​  "Nothing to do with the chip's capabilities - the first Arduino used an AVR with on-chip debug."

Are you sure? I think the original Arduino products used the ATmega8; no on-chip debugging exposed, just ISP.