cancel
Showing results for 
Search instead for 
Did you mean: 

How to start on 32-bit chips?

henry.dick
Senior II

Hi, there:

I have been a professional embedded programmer - mostly 8051 and 8-bit PICs. Things have not been going well professionally and personally there so I am looking to expand into the growing market of 32-bit chips. However, I found those chips to be much more complex than the 8051s and PICs I have been familiar with.

I wonder if you could share some tips on how you started on those super complex chips.

Thanks in advance.

8 REPLIES 8

I'm getting deja-vu https://community.st.com/s/question/0D50X00009XkaLCSAZ/where-to-start-on-stm32

Ok so in the six years there what things have we looked at?

Are they actually that complicated, or do they just duplicate peripheral instances multiple times, and do math much more efficiently?

You're perhaps not going to want to remember the bits in every register, in every part. Understand the mechanics not the minutia. Know where to find the material you want, not memorize the material. Find an author whose perspective closely matches your own, read books from multiple authors, understand their perspectives, and triangulate. Identify the areas and materials you have specific difficulty with.

Programming in Assembler? I learned ARM assembler within the context of 6502, Z80 and 68K assembler.

Are you trying to do complex things? People are expecting embedded systems to do more complex things. Process more data, deal with faster signals, handle screens and user interfaces.

What type of systems have you been building in recent years?

What have people been expecting you to be able to do?

What languages are you good at programming in?

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

That's a vicious circle. You cannot learn stuff without doing few projects. You don't get projects without knowing the stuff.

-- pa

> I'm getting deja-vu https://community.st.com/s/question/0D50X00009XkaLCSAZ/where-to-start-on-stm32

And I am deeply impressed.

Posted on September 02, 2013 at 12:09

> I wonder if you could share some tips on how you started on those super complex chips.

Well, by writing blinky, how else. Small steps at a time, writing many small testcases. Much of the complexity is extensive, i.e. although there are some really deep intricacies, often it's just simply huge.

Had written some C previously, and hated it (I still do) but made passion out of the hatred, trying to find out, why things are designed in such an idiotic way helps me understand them. At the end of the day, the saying is true, C is just a fancy PDP-11 macroassembler.

JW

henry.dick
Senior II

Pavel and all: you are spot on. Everything on those chips is so complicated. A port has gazillions of registers that even a very experienced programmer like myself find it challenging so you guys must have been superman or super woman to have mastered those chips.

Unfortunately the market for those 8-bit chips is dying or I would have stayed in the 8051/PIC land forever.

waclawek, I wish I could get a blinky going. Hated C too here. Coding in assembler or machine code is so much more fun. debug.com anyone?

There are gotchas and exceptions, but most peripherals' registers' default values are set so that the basic functionality can be achieved without having to touch the registers/bits responsible for the extensions.

Have a Disco or Nucleo board, and a Windows PC?

JW

Going to have to learn to manage complexity, what worked for 2KB of machine code isn't going to work for 2MB of machine code.

The choice of tools and languages provide leverage. Have to stop writing everything from scratch.

ARM assembler should be clean and consistent compared to 8051, it certainly scales a lot better.

Current STEM grads likely have programming skills in C, C++, C#, Python, Matlab, etc.

Not sure assembler has been a big thing in recent years, perhaps SIMD stuff in video/processing applications, and that's complex and specialized.

DEBUG.COM ? DDT, SID, SYMDEB sounds like you're trapped in the 80's or 90's

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

@henry.dick​ There is nothing to regret about in PIC, 8051 and assembler. Welcome to the new world.

So much fun around - robots, drones, AI, GUI and what not. Learn some Python, Node.js, Linux, IoT, get a Raspberry Pi.

/* I repeat this to myself every so often, making plans for retirement */

-- pa