Real Newbie question - Do I have a STM32401xC or xE ?  - I have a Nucleo-F401RE - Page 1
Forum section: electronics / general

author: ez24
author_rank: Super Contributor
timestamp: July 19, 2016, 12:18:45 am
content: I am installing Eclipse for a Nucleo-F401RE and I am at the Eclipse Target Processor settings screenI have spent days getting this far following a book.Now I have come to a roadblock that is not in the book. See attached. I am asked if I have anSTM32F401xC or STM32F401xE (my screen capture program will not allow me to show both but both come up). I HAVE to pick one of these.Since the board has an "E" in it, my guess it is xE. But I have spent so much time getting this far, I do not want to make a wrong turn and pick the wrong one.A google search did not help, but I got the doc that I attachedWhat is the difference between a C and the E ?One more question - are there any really really simple learning resources for the STM32, or by its very nature means there cannot be? If I get flamed over this then I will know this is not one of them. I hope not.thanks

author: richardman
author_rank: Frequent Contributor
timestamp: July 19, 2016, 12:42:41 am
content: The difference is minimal and generally will not affect the compiler output. You have an xE ("RE") in any case.

author: ez24
author_rank: Super Contributor
timestamp: July 19, 2016, 12:54:17 am
content: Quote from: richardman on July 19, 2016, 12:42:41 amQuestion answered - thanks Richardman

author: dannyf
author_rank: Super Contributor
timestamp: July 19, 2016, 12:57:15 am
content: RE is the way to go.in cases like this, download the datasheet and it will be clear.

author: MosherIV
author_rank: Super Contributor
timestamp: July 19, 2016, 06:58:13 am
content: HiIf you are new to embedded programming, my advice would be to NOT use Eclipse!It is so slow and cumbersome, it has real problems in debug mode. The last thing you need when debugging embedded is not knowing if the processor has locked up or if Eclipse is off doing some background task

author: tszaboo
author_rank: Super Contributor
timestamp: July 19, 2016, 07:06:20 am
content: The difference is the Flash memory size.

author: ez24
author_rank: Super Contributor
timestamp: July 19, 2016, 08:42:35 am
content: Quote from: MosherIV on July 19, 2016, 06:58:13 amsI do not think I will be using Eclipse for long. The author warned me the book is too advance for meI do not want to spend a lot of money, I want to learn MCU for fun, I am too old to work for moneyGetting tired of solitaire.

author: Kilrah
author_rank: Unknown
timestamp: July 19, 2016, 08:49:40 am
content: Quote from: ez24 on July 19, 2016, 12:18:45 amThe most reliable solution to know what processor you have would be... to look at the processor on your board

author: MosherIV
author_rank: Super Contributor
timestamp: July 19, 2016, 08:52:54 am
content: QuoteMy preference is for IAR workbench. They do a free version:https://www.iar.com/iar-embedded-workbench/#!?currentTab=free-trials(Choose the size limited trial - that is what I have done at home)The other alternative is emBlockshttp://www.emblocks.org/web/I have downloaded it but have not tried it for anything yet.

author: FreddyVictor
author_rank: Regular Contributor
timestamp: July 19, 2016, 03:13:22 pm
content: another vote for Emblocks - currently using it with an ST Nucleo F401REonly thing to bear in mind is that ST stopped updating the Std Peripheral libs, so it's not so good for newer ST parts such as STM32F7

author: ebclr
author_rank: Super Contributor
timestamp: July 22, 2016, 05:29:28 am
content: If you are not rich Don't wast your time with IAR you will need to sell your car to buy the compiler. the 30 days trial is to short , go with any other option except this one, is a good product but extremely expensive and in viable to use if you are not working in a fortune 500 company

author: MosherIV
author_rank: Super Contributor
timestamp: July 22, 2016, 11:41:21 am
content: QuoteQuotePrice = $0 or £0 or €0

author: rstofer
author_rank: Super Contributor
timestamp: July 22, 2016, 02:00:54 pm
content: Maybe it would be good to take a couple of steps back. Does your board look like this?https://developer.mbed.org/platforms/ST-Nucleo-F401RE/If so, it is very likely mbed compatible. When you connect it to your laptop do you see a new disk drive? Does it have the .htm file? You need that! You open that file with your browser to get registered at mbed.org. I have forgotten the process.Just give up on the installed toolchains and consider revisiting the issue when you have more experience. They don't really bring all that much to the dance anyway.The online mbed compiler will work very well and having the board attached to your computer will allow you to just place the automatically downloaded .bin file directly onto the board using ordinary file manager operations. Drag and drop works... It actually works better with Win 7 than Win 10 but it doesn't matter.My process: I have an open File Explorer window looking at my Downloads directory. I 'cut' the new file, move over to a second File Explorer window looking at my mbed board. I delete the existing .bin (not truly necessary) and paste in the new version. Hit the reset button and done.On Windows 7 I seem to recall the download targeting the mbed directory directly.So, with this setup what do you lose? Well, you lose everything you have installed, you don't need any of it. You gain a built-in serial port so printf() works (but you'll have to install a serial port driver) and you gain access to a TON of working code. Yesterday I was fooling around with the new Ethernet stack. A few lines of code and I'm making a connection.If you don't have an mbed compatible board, get one. You will save yourself days and days of struggling against a tide.Here is a link to the serial port driver:https://developer.mbed.org/handbook/Windows-serial-configurationI followed the instructions completely and it wouldn't install. So, I unplugged the board and tried again. Then I plugged in the board and tried a third or fourth time and it installed. Keep kicking it until it works! It will work eventually and, once it does, life with printf() is a lot nicer.You can chase toolchains down a rathole. Who cares? Most are based on GCC anyway whether they say so or not. They wrap a fancy GUI around it and call it theirs (Eclipse, etc). Truth be known, it is probably faster to just use the command line with Linux. You can build up a Makefile that handles everything. But that's a project that will take another week. I have written a lot of code using GEDIT (a minimal windowing editor for Linux) and a Makefile. So what did I do when I wanted to try out a little networking on my mbed? I just used the online toolchain. It's faster getting started.When you go to mbed.org, there's a button at the upper right labeled "mbed Classic Developer Site" - that's where you want to go. Of the several buttons on this page, I spend most of my time using the Compiler - blue button in upper right. Once you register (whatever that means these days), entering the Compiler will bring up an IDE and you're almost ready to go. You will have registered your board and now you need to select it in the upper right corner of the IDE.That's it! Sign up, open up the compiler, pick your board and you're good to go.Yes, you lose debugging. Mostly it's a PITA anyway. Stack traces sound a lot cooler than they are. Core dumps are worthless - I learned that on the IBM 1130 back in '70. What can you possibly do with 8K words of dump. Yes, that's all the memory we had but it still took up pages and was nigh on worthless!Hint: Don't put bugs in your program and you won't have to root them out.