Issues Deploying Code with online compiler

14 Mar 2014

Whenever I hit compile in my browser (I tried IE, Firefox, and Chrome) it just downloads a .bin file but how do I actually deploy the code onto the device?

In addition I just received my Nucleo board today and it missing several SMT components. Not sure if they are supposed to be missing maybe they were determined unnecessary after manufacturing or something or maybe my board is just a dud. I bought if from Mouser so I suppose I can get somewhere with their support but I wanted to make sure the parts were supposed to be there first.

I am missing crystals 2 and 3 as well as probably 10 surface mount resistors and capacitors. That just seems so wrong to be but who knows.

14 Mar 2014

Ok, I've discovered if I manually drag the .bin file from the download folder to my Nucleo device drive it restarts automatically and the new code takes effect. Seems like a roundabout in efficient way to do it but at least I got the compilation completed, but I am still highly worried about my missing components, maybe i need to send it back.

14 Mar 2014

Those crystals were removed on purpose. You can debate on how good an idea that was, but it is intended.

And dragging and dropping bin files is very easy for programming, and it doesn't require anything special. Any PC or even tablet with a browser and USB host capability can program it. Sure you could make it that that is done automatically, but then you need special program/drivers. (It could be there are scripts which detect a bin file has been downloaded, and then copy it to the mbed).

14 Mar 2014

I am also missing a jumper header and the resistors and capacitors, are those intended to be missing too? What is the reason for removing these parts as well as the crystals? Is the device still capable of reaching the speed advertised without these components and will their removal effect any of the devices operations?

14 Mar 2014

Dragging and dropping the files is fine for now; but I do see myself implementing a script at some point to automatically move the binary files to the device once they're detected.

14 Mar 2014

Jumper headers are quite often missing, they are for example for PCB traces which you can cut manually and replace with a header (which for example can be used to measure supply current). I don't have it myself, so dunno what the resistors and capacitors are for, but it happens more often in the final version stuff is removed.

Can it reach the speed it should be able to reach? Yes, on its internal oscillator with PLL enabled. Does it currently do it? No, it looks like ST has been a bit lazy with proper support. It is being added slowly by community members who have it, but imo it should have been there from the beginning.

There is for me also one-big 'if' regarding the crystal removal: the microcontroller has a USB peripheral. But does the crystal provide sufficient accuracy to actually use it? (Although I don't even know if the relevant pins are available). (This is unrelated to the programmung USB port btw, if that also doesn't have a crystal then it should still work for the F401, as soon as there is USB code).

14 Mar 2014

The programmer part has a crystal (8 MHz, same as recommended for the target F401). One of the many solderbridge jumpers allows you to feed that 8MHz to the target F401. That would work as long as you dont cut off the interface, which is possible. I have not tried USB on the target sofar. I will probably add the crystal when I can find a suitable one in my pile of components..

14 Mar 2014

In that case I would consider it indeed unlikely it can use USB without a crystal (either its own, or fed from the programmer part).

14 Mar 2014

Ok I will do some playing around with it, but thanks for all the help so far!

15 Mar 2014

I think a possible explanation for the missing surface mount components is that the Nucleo family of boads all use the same base board and different combinations of the SMT parts are required to support the various targets.

16 Mar 2014

That's also a very reasonable explanation. I never thought of that but it makes perfect sense.