ARM Microprocessor IDEs?

I decided to say 'Fuck you Arduino" and and picked up a couple Neutrino ARM microcontrollers.

What's Sup Forums's IDE of choice for development on these?

Other urls found in this thread:

developer.mbed.org/platforms/
twitter.com/SFWRedditGifs

Fuck, I meant Nucleo, not Neutrino

And for what are you going to use it?

I use an embedded system depending of what I am going to do

I'm going to be using it to control a microspectrometer which I'll be mounting on various platforms.

Assuming I end up liking ARM and whichever IDE I land on, I'll be using them in various robotics projects, starting with something like pic related

I took a course which used MSP430 with TI's IDE, but I decided to use the GCC clone/spinoff that had been released for the MSP430. It was a really good experience using makefiles instead of the IDE. Much faster to compile and flash. I didn't need to load up an old re-skinned version of eclipse every time I wanted to flash an executable. It felt really good. Maybe there's a GCC spin that targets the ARM chip you're using.

Also, FYI, I've heard that arm development is hard. Having an oscilloscope handy will make your life a lot easier. Print off a copy of the manual and keep it in a binder next to your machine. You'll want to pay very special attention to configuring and calibrating the timers on the microcontroller, since if those are off, you won't be able to set up a reliable serial connection with your PC, meaning that you won't be able to safely control the actuators on your robot. Have patience. It took me a *very* long time to master the MSP430 (which has a much simpler architecture than the ARM Cortex chips). Maybe 100 hours before I felt comfortable programming a robot with it. Anyway, if you can make it work, you'll have an **extremely** valuable skill. Embedded C is the door to all kinds of "intelligent" consumer products.

Thanks for the info, it's more helpful than you know. I've done quite a bit of C programming, but this is my first foray into microcontrollers and I'm definitely not an EE, so checking clock timing with oscilliscopes and stuff is pretty far outside my wheelhouse (though I'm a physicist by trade, so I do understand what you're saying).

I'll definitely need to use an ARM chip with my spectrometer since the clock speed and subsequent A/D conversion rate on my Arduino Zero a shit... Luckily I have a homie with the same ARM microcontroller and an oscilliscope who can characterize it for me (unless timing varies from chip to chip?).

But if ARM stuff is as hard as you say, I think it may be a good idea to use Arduino for the rest of the robotics in my project in the interest of rapid prototyping. Would you do the same?

I can't really advise you further without more information. I haven't played around with Arduino too much so I don't know what the capabilities are, but I have a hunch that ATMEL's chips are not as full-featured as what you can get from ARM (in evidence: the abundance of ARM-based smartphones and the non-existence of ATMEL-based ones).

Obviously, as with any engineering project, there will be tradeoffs. I don't want to talk you out of learning a useful skill because it might be hard. Even if you give up, you'll learn something at least.

I stand by my recommendation to print out the manual and use a scope to help debug the machine though. On a microcontroller, you can easily forget to set a port to to "out mode" and not be able to blink your LED or send a message over the serial port or whatever.

I also have a physics background. Could you tell me more about your project? I'm not sure how to securely exchange contact information on Sup Forums.

It's just a hobby project, really - essentially what I want to achieve is to have a robotic platform that allows me adjust the view angle of my spectrometer. Like pic related.

You're probably right that ARM is the way to go - I'll look into it and see what kind of proficiency I need to gain before I really get into it.

I'll also check out some oscilliscopes; didn't realize handheld ones could be had for less than $100. Are the cheap ones garbage?

If you're gonna get a scope, make sure that the scope has a (nominal) read frequency at least twice that of the highest frequency signal you could reasonably expect to measure. For example, if your microcontroller has a clock frequency of 25MHz, go for a scope with 50MHz nominal read. This is just a rule of thumb that I use. Manufacturer's specs may or may not be accurate or correct.

Handheld 'scopes often have poor specs, but it's been two years since I looked at what's available. Another thing to look for is whether it will export your data to CSV or not. I worked on a project with a group of MEs once and they took pictures of oscilloscopes instead of exporting data. Fucking weird. Don't force yourself to do that.

One place I look for measurement tools is dx.com. Most things are cheap and reasonably good, but take around a month to ship.

Yeah, learn ARM. If you can hack it, you'll be happy you learned how.

So it's a spectrometer attached to the end of a rotating arm? I would use a stepper motor for that. Stepper motors enable you to control the rotation angle very precisely without using sensors. There are other options, but if your spectrometer weighs anything more than a few grams, those options are totally out the window.

There are stepper drivers out there, but you could totally write your own and run it on the microcontroller. You'd learn a lot that way, both about microcontrollers and about stepper motor math.

Is this some kind of gas or particle flowmeter project you're working on?

>IDE
Just write your software in C

There isn't a processor on this planet that doesn't have a working C compiler

How many samples per second do you need?

>Embedded C is the door to all kinds of "intelligent" consumer products.
Don't they just throw a JVM on it these days?

GCC

>I'm not sure how to securely exchange contact information on Sup Forums.
You could try using text-based Diffie-Helman to establish a shared key
(appended to a post that's detailed enough to make sure you're talking to the
right person), then encrypt your contact info using the shared key generated
from it.

I'll figure out how to do this and post detailed instructions on Sup Forums at some point in the future. DH isn't very complicated.

A text editor.

>using an ide

Cool, I'll make sure I overshoot on the oscilliscope specs.

I was thinking a stepper motor may be the way to go, seems like they have good repeatability without having to dick around too much. Thanks for confirming that.

Nothing as hardcore as a flow meter, the pic was just for illustrating the angular aspect. I'm just going to be looking at how light scatters anisotropically off different natural surfaces based on sun angle and look angle; like for a patch of dirt or a short plant canopy.

It's not really how many samples I need, it's more about reducing the integration time as low as possible so I can avoid saturating the signal in all possible cases.

lad, share some of your pwm timer routines. also, which stepper motor?

true, they can translate java bytecode on the fly

I have none, friend. I haven't decided on a stepper motor yet. Any suggestions?

Try

I gave it a shot

import System.Random

dh_e = 0x30820...spam...20102

dh_new = randomRIO (0, 2^2048 :: Integer)

modExp _ 0 _ = 1
modExp b 1 m = b `rem` m
modExp b e m = case quotRem e 2 of
(e', 0) -> modExp (b*b `rem` m) e' m
(e', 1) -> modExp b (e-1) m * b `rem` m


λ privA

But having written this I also realized that it would be easier to just re-use GnuPG for this job

I'm sure you could figure out some easy way to coax GnuPG into generating a temporary public/private keypair in a shell script, using that, then throwing it away.

vim and a c compiler

>asks technology question
>go to /diy/
>Sup Forums is only for graphics cards and cell phones

I hate you

You misspelled emacs.

emacs is confirmed malware that will inject a bloated lisp interpreter and utilities into your lightweight C code you edit with it

god I love this meme

Personally, I use:
tmux for environment management
vim for editing
make for automating everything below this line
gcc (arm-none-eabi) for compiling
gdb for debugging
openocd for deploying/creating debug server

Now, I recognize I'm weird and fringe.

If you want an IDE that's a step up from Arduino-tier but isn't jumping in the deep end immediately, you might try mbed. They even just released an RTOS platform.

developer.mbed.org/platforms/

Nice trips, and thanks buddy. I'll give mbed a look.

sorry, should also mention
screen /dev/ttyACM0 115200
for interacting with the serial terminal.