4 ms·
The 8051 was originally developed by Intel but there were many second sources. It has a Harvard architecture so separate code and data memory space and furtherm
by pkaye 10y ago
The 8051 was originally developed by Intel but there were many second sources. It has a Harvard architecture so separate code and data memory space and furthermore an external memory space. Also can do single bit operations which is useful for controlling IO pins. Although an 8-bit processor, the compilers (like Keil which is now owned by ARM) are quite good. Not a days if I was wanting a low end micro-controller I would go with an ARM Cortex-M as the 32-bit CPU just makes programming a lot easier. I recall the days I spent micro optimizing a 32-bit multiply or divide on an older 8-bit CPU.
- vardump 10y ago> Although an 8-bit processor, the compilers (like Keil which is now owned by ARM) are quite good. Quite good? Keil's compiler is horrible. It produces large (2x too big) slow (2-4x too slow) binaries.
- kbeckmann 10y agoWhich compiler would you recommend using instead?
- vardump 10y agoI don't think there's a competent 8051 C compiler.
- pkaye 10y agoCompared to what?
- vardump 10y agoCompared to handcoded assembler. To the level comparable to gcc -O3.
- pkaye 10y agoHandcoded assembly is slower to develop and it depending on the capabilities of the developer so there are tradeoffs. And is gcc available for an 8051?
- vardump 10y agoLike I said, I wish 8051 had some good compiler. Like gcc. No disagreement there that handcoded assembly is slower to develop! You do get code size below 50% and it runs twice as fast.