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

Installation of MON51

Is there a possibility to load Keil MON51 into internal flash memory of the AT89C55? How must I configurate it?

  • You can set up almost any 8051 family part to use MON51. To boot from FLASH or EEPROM you'll need to write or obtain a boot loader. This is a simple program that will copy the MON51 code from the FLASH to SRAM and then start it. I wrote a boot loader for the EZ-USB parts that I use in all my projects, it takes up less than 256 bytes and will load registers, and xdata memory. I wrote a utility on the PC that reads in a hex file, pre-pends the boot loader, and writes it out in a format that the Cypress EEPROM burn utility can use.

    You can set up MON51 to use whatever resources you like.

    Things to watch:

    Serial port and system clock speed. Hint: If your system clock is a multiple of 12MHz, adjust the baud rate in the Keil debugger to match. EX: The AN2131 parts use a 24MHz crystal. The standard MON51 runs at 9600 with a 12MHz crystal so on the AN2131 it runs at 19200 (2x baud).

    Memory usage. >>>very important<<< Make sure and then make sure again you know exactly where in memory you're placing MON51 and that it doesn't overlap any of of your code or data. I just found two notes for one version of MON51 that give two different sets of memory usage...no wonder my code was crashing. Time to run the batch file and make my own version of MON51.

    Initialization: Some parts may need special setup. You can enter this in the INSTALL.A51 code or better yet, in the boot loader.