ADuC812: How to program external code space

Document created by analog-archivist Employee on Feb 23, 2016
Version 1Show Document
  • View in full screen mode

I have a aduc812 equipped with 16K (AT28 C256) of external memory. My program
to download is greater than 8K.
My questions are:
-       Are some switches "on board"  that I  have to  switch on or off ?
-       the Windows Serial downloader does not  work with program higher than
I wrote a program with the instruction that I find in teach note u004.
This program  works properly with programs  smaller than 8k.
If I try to  download a program higher then 8K,  I have a NACK answer from
This NACK occurs when the program tries to download the instruction in the
first location of external memory.
I do not know if  there is an instruction that I had to add in my program.


The ADuC812 includes 8k of program memory Flash. The simple tools included with
the ADuC812 quickstart kit allow you to download code and debug in the 8k
program memory flash space.

The on-chip serial down load monitor program is designed for downloading code
to the internal flash program space only, it is not designed for downloading
code to external program memory space.

The windows serial downloader checks the size of the program and if it exceeds
8k will return an error.

To execute from external program memory space simply pull EA line low.  If you
require to write to external program space there are a few options:
· Use a parallel programmer to program external EEPROM
· Write your own serial downloader to  program external EEPROM, this would
reside in the ADuC812 program flash.