‹ BackHN Continuity

Thread

SDCC – Small Device C Compiler

137 points · 37 comments · lioeters

  1. dmitrygr · · focus · HN ↗
    SDCC has the best OSS 8051 compiler. It is buggy as hell, but it is free. Sometimes that is good enough.
    1. hacker_homie · · focus · HN ↗
      I used it for some toy projects never ran into "bugs" as in this is just broken, but it's quirky for sure.
      1. dmitrygr · · focus · HN ↗
        when you have large code, bugs will find you. for example two uint16 vars globally declared one after another. adding them together to each other will produce an access to garbage memory after 5-6 additions. dumb code but a simple repro. i ran into its bug when working on eInk price tags a while back.
        1. raphman · · focus · HN ↗
          As a student, 20 years ago, I felt like I was going crazy when using SDCC for pic16. Being new to microcontrollers and C, SDCC seemed cursed - even simple 'blink LED' test cases pseudo-randomly worked or didn't. It turned out that the compiler optimized away some 'empty' loops a little bit too aggressively without realizing that these loops were setting output pins. These bugs have long been fixed but still live on in my long-term memory.
          1. technothrasher · · focus · HN ↗
            I still run across this to this day with GCC and Cortex-M code. The optimizer will occasionally decide to blow away loops that are clearly doing something.
            1. uecker · · focus · HN ↗
              Please file a bug report, if you haven't done so.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.