Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    47comments
  2. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    22comments
  3. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    26comments
  4. San Francisco Onion Futures Company(onionfutures.com ↗)
    59comments
  5. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    387comments
  6. Typesafe-computer-use drives a Mac toward a goal for 1/50th of a cent per step(github.com/awlevin ↗)
    34comments
  7. Science Is Open Software(jepedersen.dk ↗)
    31comments
  8. SDCC – Small Device C Compiler(sourceforge.net ↗)
    15comments
  9. Cloudflare Quick Tunnels(cloudflare.com ↗)
    275comments
  10. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    9comments
  11. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    28comments
  12. Saving another 100TB of RAM(cloudflare.com ↗)
    67comments
  13. NASA-IBM Lunar Foundation open-Source Geospatial AI Model(usra.edu ↗)
    2comments
  14. How to Write with an LLM(sockpuppet.org ↗)
    320comments
  15. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    81comments
  16. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    99comments
  17. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    4comments
  18. Goroutine Leak Profiles(go.dev ↗)
    2comments
  19. OpenJev(openjev.com ↗)
    259comments
  20. Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash(cactuscompute.com ↗)
    88comments
  21. Veronese's Dogs(publicdomainreview.org ↗)
    discuss
  22. Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug(ledger.com ↗)
    67comments
  23. Stepfun Step 5 Preview (LLM): On AA Pareto frontier(artificialanalysis.ai ↗)
    2comments
  24. Cache-to-Cache: Direct Semantic Communication Between LLMs (2025)(arxiv.org ↗)
    12comments
  25. Minimal Phone 2(minimalcompany.com ↗)
    218comments
  26. The Farnese letter(simonklee.dk ↗)
    6comments
  27. The Case of Elias Thorne, Imaginary Man AI Chatbots Are Obsessed With(vice.com ↗)
    1comments
  28. Cyclomatic Complexity in C#(ndepend.com ↗)
    18comments
  29. Warez: The Infrastructure and Aesthetics of Piracy (2021)(archive.org ↗)
    54comments
  30. Inside ZCode: Silently uploading your Git history to the cloud(ferstar.org ↗)
    97comments

SDCC – Small Device C Compiler

69 pointsby 5h agosdcc.sourceforge.net
15 comments
5h agoHN ↗

TIL about Dallas Semiconductor from this page.

Love Silicon Prairie lore.

4h agoHN ↗

SDCC has the best OSS 8051 compiler. It is buggy as hell, but it is free. Sometimes that is good enough.

4h agoHN ↗

I used it for some toy projects never ran into "bugs" as in this is just broken, but it's quirky for sure.

3h agoHN ↗

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.

3h agoHN ↗

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.

2h agoHN ↗

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.

2h agoHN ↗

Please file a bug report, if you haven't done so.

2h agoHN ↗

that the compiler optimized away some 'empty' loops a little bit too aggressively without realizing that these loops were setting output pins.

Doesn't sounds like a bug in the compiler, sounds more like `volatile` was not used (unless, of course, `volatile` was not being honoured).

2h agoHN ↗

What a coincidence, just yesterday I asked an LLM to generate a C compiler for the 8051 because SDCC's output was not optimized. Within an 1.5 hour it was correctly compiling my project at 60% of the size of what SDCC generates. One or 2 quota refreshes later it passed the SDCC test suite and optimized soft floats.

https://github.com/jyaif/cc51

2h agoHN ↗

I assume you're running that test suite using a 3rd party 8051 emulator to avoid the potential for common-mode errors in both your compiler and emulator resulting in false confidence the compiler's correctness?

two simulators used for testing, sim51 (a plain 8051) and minitel_sim

Narrator: No, he was not.

1h agoHN ↗

"it runs on my device" is my criteria of success here

4h agoHN ↗

Has worked well enough for me on 8051 and stm8

3h agoHN ↗

SDCC has been a nice resource for a variety of MCUs. I wish it had support for some of the 8-bit PIC chips like the PIC10 and PIC12... maybe one day!

3h agoHN ↗

If it has not to be SDCC, Mikroe compilers have support for them across C, BASIC and Pascal compilers, if I am not mistaken.

2h agoHN ↗

The PIC compiler options were never standards compliant up until around when Microchip purchased AVR. There are great chips now that have free gcc support, reasonable power draw, and 32bit float support (ATSAM3X8E current prices are not worth it in many cases.)

PIC does still have a few key use-cases, but most people will hit the stack depth limits pretty quickly in C. A pic12 Assembly project is fun, but the limitations cut deep these days.

STM32/ESP32/RP2350 or nRF for low power stuff are far less effort these days, and give much better value. =3