10 Rabbit 2000 Microprocessorthis degree of control is not desired for a particular situation, then certain pins can beleft unconnected in the connecting cable, limiting the functionality of the connector toserial communications. Z-World will be developing products and software that assumethe presence of the programming connector.• Dynamic C and a PC are not necessarily needed for the production programming offlash memory since the flash memory can be copied from one controller to another bycloning. This is done by connecting the system to be programmed to the same type ofsystem that is already programmed by means of a cloning cable. The cloning cable con-nects to both programming ports and has a button to start the transfer of program and anLED to display the progress of the transfer.Dynamic C programming uses the Rabbit’s serial port A for software development. How-ever, it is still possible, with some restrictions, for the user’s application to also use port A.4.1 Memory OrganizationThe Rabbit architecture is derived from that of the original Z80 microprocessor. The orig-inal Z80 instruction set used 16-bit addresses to address a 64K memory space. All codeand data had to fit in this 64K space. The Rabbit adopts a scheme similar to that used bythe Z180 to expand the available memory space. The 64K space is divided into zones anda memory mapping unit or MMU maps each zone to a block in a larger memory; the largermemory is 1 megabyte in the case of the Z180 or the Rabbit 2000. The zones are effec-tively windows to the larger memory. The view from the window can be adjusted so thatthe window points to different blocks in the larger memory. Figure 2 on page 12 shows thememory mapping schematically.The Rabbit has a basic 20-bit or 1-megabyte physical memory space. In special circum-stances more than 1-megabyte of memory can be installed and accessed using auxiliarymemory mapping schemes. Typical Rabbit systems have two types of physical memory—flash memory and static RAM memory. Flash memory follows a write once in a while andread frequently model. Depending on the particular type of flash used, the flash memorywill wear out after it has been written around 10,000 to 100,000 times.Rabbit flash memory may be small-sector type or large-sector type. Small-sector memorytypically has sectors of 128 or 256 bytes. Individual sectors may be separately erased andwritten. In large-sector memory the sectors are often 16K or 64K or more. Small-sectormemory provides better support for program development and debugging, and large-sec-tor memory is less expensive and has faster access time. The best solution will usually tolay out a design to accept several different types of flash memory, including the flexiblesmall-sector memories and the fast large-sector memories. At the present time develop-ment support for programs tested in flash memory is confined to flash memories with sec-tors of 256 bytes or 128 bytes. If larger sectors are used, the code must be debugged inRAM and then loaded to flash for a final test that does not involve setting break points. Infuture releases it is planned to support direct debugging in large-sector flash. Large-sectorflash is desirable for the better access time and power consumption specifications that areavailable.