This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Still wondering about Supplied Libraries with C51

I am still hoping someone can educate me on what I get when purchasing the C51 development package. After reviewing the online manuals, it appears that the libraries supplied are rather limited. For instance, I see no reference to a library that will support the standard time.h functions. Is this correct? It appears that the ARM development toolset has time.h libraries but not C51. I would appreciate someone informing me of whether these additional libraries may be obtained directly from Keil or do I need to contact a third-paty?

Thanks
Jim

  • You understand that Keil has direct sa1es and support methods?

    Where would "time" be coming from? As I recall the 8051 does not include an RTC.

    Seem to remember the "time" functionality on the ARM being somewhat empty too, or require board/system level support, either to pull from and RTC, or advance the time.

    Standard time.h functionality is pretty easy to chase down in the internet era. What you're really buying is a toolchain with compiler, linker, etc.

    What kind of development in 2019 really focuses on the 8051, pretty sure from a tool vendor perspective the well is getting rather dry, so expect current mindshare to be elsewhere nowadays.

  • Hello - I appreciate the response.

    Yes, I agree that the 8051 derivatives do not have an RTC but many designs include an external RTC. The AVR processors are really no different but the time libraries exist so that the designer has the option of writing their own clock() function which would read an RTC and supply the data to the Time routines.

    Anyway, I thought that the Keil touts C90 (or C99) compliance and figured that included the standard libraries as well, but I guess I'm wrong.

    Again, thanks and take care.

  • Did you read the reply to your previous post?

    http://www.keil.com/forum/64352/

    As noted there, the 8051 really is a very old, limited, simple microcontroller. The limitations of the Keil C51 toolchain are driven directly by these fundamental limitations of the underlying architecture. So, if you're thinking of using stuff from time.h, the 8051 is probably not a good choice.

    Keil C51 is very much focussed on the type of small-microcontroller, constrained-resource projects which are (were) ideal for the 8051 - as opposed to "Hosted" systems, where time.h et al really come into play.

    As already noted, probably best to use Keil's sa1es contacts to discuss your requirements in detail...

    "What kind of development in 2019 really focuses on the 8051"

    Indeed! Especially as this sounds like a new development - so not constrained by historical issues ...

  • As noted in the other thread:

    "Compilers from Keil are conforming freestanding implementations of the C Programming Language"

    http://www.keil.com/product/isoansi.asp

    where it also says:

    "A conforming freestanding implementation shall accept any strictly conforming program that does not use complex types and in which the use of the features specified in the library clause is confined to the contents of the standard headers: <float.h>, <iso646.h>, <limits.h>, <stdarg.h>, <stdbool.h>, <stddef.h>, and <stdint.h>. A conforming implementation may have extensions (including additional library functions), provided they do not alter the behavior of any strictly conforming program."