Skip to main content
henry.dick
Associate II
August 4, 2019
Question

How to start on 32-bit chips?

  • August 4, 2019
  • 8 replies
  • 1573 views

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.

    This topic has been closed for replies.

    8 replies

    Tesla DeLorean
    Guru
    August 5, 2019

    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 (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Tesla DeLorean
    Guru
    August 5, 2019
    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Pavel A.
    August 5, 2019

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

    -- pa

    henry.dick
    Associate II
    August 6, 2019

    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?

    waclawek.jan
    Super User
    August 6, 2019

    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

    Tesla DeLorean
    Guru
    August 6, 2019

    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 (See Profile) Up vote any posts that you find helpful, it shows what's working..
    Pavel A.
    August 6, 2019

    @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