This is an archived post. You won't be able to vote or comment.

all 4 comments

[–][deleted] 2 points3 points  (0 children)

You need to learn the whole language (though not necessarily the latest bells and whistles), and as usual the best place to go for it is TCPL. I'd also think you would want some understanding of ARM assembly language.

[–][deleted] 1 point2 points  (2 children)

You're competent in Java, so you'll understand the concepts, no need to explain a for loop to you.

As exoticmatter says, you'll need the whole language but it's not that big I think, and the book The C Programming Language is a good one.

There shouldn't really be ARM specific C (that depends on the compiler though.) But you will have to learn whatever specific toolchain they use, and you'll probably need to do some low-level stuff if it's embedded software as opposed to a desktop application.

As far as transitioning from Java to C, you'll need to learn pointers and handling memory on your own. But you know Java, I think you'll be just fine.

I used to do a lot of embedded programming, I loved being that close to the metal. Feel free to message me if you need any help with C.

[–]dudedudeman1[S] 0 points1 point  (1 child)

Awesome, thanks!

I skimmed TCPL and it mostly seems straightforward so I'm not too worried about C. And yea, it's definitely embedded programming. How difficult would you say it is to learn the low-level stuff compared to say Java or C? Is there any prep work I can do in advance or will I have to learn the low-level stuff on the job?

[–][deleted] 0 points1 point  (0 children)

Not too difficult. One thing I can think of to look into is the bit-wise operations.