AMENDMENT E86MONTM Software User's Manual This document amends the E86MONTM Software User's Manual, order #21891B, (referred to throughout as the user's manual). The information contained in this amendment is based on version 3.4.2 of the E86MON software. DOWNLOADING FILES This section updates Chapter 2 of the user's manual. Downloading .HEX Files You can download seven example .HEX files. The files are located in the /OUT subdirectory on the floppy disk provided in the board kit. AMDDHRY.HEX RAM-based DHRYSTONE benchmark DUALCRT.HEX RAM-based dual terminal viewer SECONDS.HEX RAM-based seconds counter TESTMON.HEX RAM-based minimal DOS emulator test LEDS.HEX Flash-memory-based demonstration EDITMON.EXE DOS-based utility used in Flash memory FINDER.HEX Flash memory-based demonstration The .HEX files built with the older (version 3.2.x) MAKEHEX utility do not download with the version 3.4.x monitor. The version 3.4.x MAKEHEX files do not execute on a version 3.2.x monitor. Rebuild your .HEX file using the 3.4.x MAKEHEX utility. Upgrading the E86MON Software Files used to upgrade the E86MON software are provided in the \OUT subdirectory on the floppy disk included in the board kit. The latest version of the E86MON software is also available on the Web at http://www.amd.com/ products/lpd/codekits/downloads.html. Click on CK000901.EXE to download the E86MON software. Note: Two builds of the E86MON software are available. One build is for the Am186TMER/Am188TMER microcontrollers and one is for the other Am186 and Am188 microcontroller devices. The traditional version of E86MON software is too large to be contained in the 32K of SRAM on the SD186ER microcontroller demonstration board, so a separate build was created that does not include support for the other microcontrollers. The Am186ER/Am188ER microcontroller .HEX file version of the E86MON software uses "E_ER" as the first four characters of its filename. The other version uses "EMON" as the first four characters of its filename. Publication# 21891 Rev: B Amendment/1 Issue Date: October 1999 A M E N D M E N T The files listed below are in the \OUT subdirectory on the floppy disk for all boards except the SD186ER microcontroller board: EMON342U.HEX Main upgrade file EMON342R.HEX RAM-based version of the E86MON software EMON342B.HEX Bootable (suitable for programming with a PROM programmer) version of the E86MON software EXTEM342.HEX Extensions to provide support for a DOS emulator (Int21), command-line editor (additional LED patterns), and help Note: The 342 portion of the filename represents version 3.4.2. The version included on your floppy disk may vary. The files listed below are in the \OUT subdirectory on the floppy disk for the SD186ER microcontroller board: E_ER342U.HEX Main upgrade file E_ER342B.HEX Bootable (suitable for programming with a PROM programmer) version of the E86MON software EXTEM342.HEX Extensions to provide support for a DOS emulator (Int21), command-line editor (additional LED patterns), and help Note: Every upgrade of the E86MON software requires an upgrade of the DOS emulation library. To upgrade versions 3 or later of the E86MON software (prior versions must be upgraded twice--first to version 3, then to version 3.4.x): 1. Use the XA command to erase the application Flash memory sectors. 2. Download EMON342U.HEX, the upgrade file, to the board. It is not necessary to type any command to do this; the new E86MON software automatically recognizes a file download when it detects the colon that starts the file. 3. Use the G command to go to the new E86MON software, which is running from your Flash memory space. 4. Type an a to establish communication with the new monitor. You are now running the E86MON software from the copy of the E86MON software in the application area of the Flash memory. You can verify this using the I command. 5. Type a Z and press to initiate the upgrade. The software asks if this is really what you want to do. To perform the upgrade and make the new version of E86MON software (the version that starts up when you reset the hardware), answer Y. Do not do this if your power is not stable. Press n or reset to cancel the upgrade. If the upgrade is aborted before it finishes, you might need to send the board back to AMD to have the Flash memory reprogrammed. The E86MON software is upgraded and automatically runs out of the new boot copy of the software. Type an a within three seconds to establish communication with the boot copy of the E86MON software. You can use the XA command to remove the application copy of the E86MON software and download any desired .HEX file to the application area of the Flash memory. If you want to use the DOS emulation, upload the EXTEM342.HEX file. Loading this file automatically writes the DOS emulation library to location E0000h in Flash memory. 2 E86MONTM Software User's Manual Amendment A M E N D M E N T E86MON SOFTWARE COMMANDS This section updates Chapter 3 of the user's manual. H - Hex Math or Help The Help (H) command (without two hexadecimal words) displays the help menu: E86 Boot Monitor -- Version 3.42 1999/02/25 Copyright (C) 1994-1999 AMD, Austin, Texas, USA I - Input Syntax I [W] Description The Input (I) command followed by a word inputs from a byte-wide port and displays the results. IW followed by a word inputs from a word-wide port and displays the results. This command also allows read word access to the processor's peripheral control block, which is mapped to the upper portion of I/O space. cc86mon: i ffa8 83 cc86mon: iw ffa8 8183 L/LL - Load / Load Library The Load Library (LL) command loads the extensions (EXTEM342.HEX) into memory. Loading extensions provides support for a DOS emulator (Int21) and command-line editor (additional LED patterns). If the extensions are not loaded in Flash memory, you can download them using the EXTEM342.HEX file supplied on the E86MON software disk. See Chapter 2, "Downloading Files" in the user's manual for more information. P - Boot Parameters Syntax P [VariableName DecimalValue] Description The Boot Parameters (P) command sets or displays information about the boot parameters of the system. The monitor stores these values in the Flash memory device between the end of the monitor and absolute address FFF00h. Variables can be altered approximately five hundred times before this area becomes full. The following is the permanent variable screen for the E86MON software, version 3.4.2 for the Am186/CC/CH/CU and Am186ED microcontrollers: cc86mon: p baudrate cpuspeed led refresh_hz autorun monitorport protectflash lmcs_ws umcs_ws = = = = = = = = = 19200 40000000 1 64000 0 1 000e0000 0 3 E86MONTM Software User's Manual Amendment 3 A M E N D M E N T For other Am186 processors, the following is the permanent variable screen for the E86MON software, version 3.4.2: cc86mon: p baudrate cpuspeed led autorun monitorport protectflash = = = = = = 19200 40000000 1 0 1 000e0000 Note that because you cannot execute from the Flash memory device while modifying it, this command moves the monitor to RAM and then back, destroying any user program already loaded. The E86MON software supports the following permanent variables: autorun When this variable is non-zero, it selects which .EXE program to load from the Flash memory and to run at boot time. The W command is used to store .EXE programs into Flash memory. The .EXE programs can be listed using the L command. baudrate This variable defines the default baud rate used if an a is not detected during the threesecond autobaud period at boot. (Note that the baud rate is not correct unless the cpuspeed variable is also correct.) cpuspeed This variable defines the speed from the CPU to the monitor. The cpuspeed variable is required for correct default baud rate setup and correct DRAM refresh rate selection (Am186CC/CH/CU and Am186ED devices only). The cpuspeed variable is also used to set the internal timer tick correctly. The internal timer tick is used by benchmark programs and also governs the speed of the LED patterns. hhkey This variable should be only non-zero when the monitor is running on a Hamilton-Hallmark (formerly; now Avnet Personal Computer Components) keychain system. The hhkey variable sets up various GPIOs correctly for this system. led When this variable is non-zero, the monitor uses the LEDs to show current status. When the led variable is zero, the monitor does not change the LEDs. Set the variable to zero if the LED GPIOs are connected to other hardware, and you do not want the E86MON software disturbing that hardware. refresh_hz This variable is useful only for Am186CC/CH/CU and Am186ED microcontroller devices. The refresh_hz variable defines the rate at which the refresh cycles occur. The default rate is 64 KHz, which provides 512 refresh cycles every 8 ms. Note that the actual refresh rate is not correct unless the cpuspeed permanent variable matches the actual CPU clock speed. waitstates Version 3.4.2 of the E86MON software has replaced the waitstates permanent variable in prior versions of E86MON software with the umcs_ws and lmcs_ws variables. These variables enable you to configure the upper and lower memory chip select wait states. Version 3.4.2 of the E86MON software initially sets UMCS to three wait states and sets LMCS to zero wait states, then loads the number of wait states for both registers from the umcs_ws and lmcs_ws. Note that these variables are only used when the E86MON software is running on a system with an Am186CC/CH/CU or Am186ED microcontroller. protectflash Locations between this variable and the monitor upgrade sector (Figure 1-2 on page 1-5 of the user's manual) are not erased by the XA command. You can still erase a specific sector with the X command. 4 E86MONTM Software User's Manual Amendment A M E N D M E N T Emergency Recovery for Am186CC/CH/CU and Am186ED Microcontroller Boards If you program the DRAM refresh and/or memory chip select permanent variables to values that are not bootable on the Am186CC/CH/CU and Am186ED microcontroller boards, the E86MON software does not start up. However, you can tie address pin 8 on the data bus High with a weak pullup so pin 8 is sampled by the reset configuration register on the Am186CC/CH/CU or Am186ED microcontroller. This starts up the upper memory chip select at three wait states and sets the DRAM refresh rate to 15.6 s at 5 MHz. This enables the E86MON software to come up, which enables you to reprogram the permanent variables with appropriate values so the E86MON software can start up on its own. R - Display/Alter Register The R command can be used with the following registers: BX, CS, CX, DI, DS, DX, EX, IP, SI, SP, and SS. UTILITIES INCLUDED WITH THE E86MON SOFTWARE This section updates Appendix B of the user's manual. The MAKEHEX Utility Different versions of the E86MON software use different versions of MAKEHEX. Ensure that your version of software matches the version of MAKEHEX being used. You will receive an error message if the incorrect version of MAKEHEX is used. The MAKEHEX utility with version 3.4.x of the monitor has changed from previous versions. The .HEX files built with the older version (3.2.x) MAKEHEX utility do not download with the version 3.4.x monitor. The version 3.4.x MAKEHEX files do not execute on a version 3.2.x monitor. ERROR MESSAGES This section updates Appendix C of the user's manual. The following error message indicates the MAKEHEX utility with version 3.4.x of the monitor has changed from previous versions. The .HEX files built with the older (3.2.x) MAKEHEX utility do not download with the version 3.4.x monitor. Additionally, the 3.4.x MAKEHEX files do not execute on a 3.2.x monitor. Rebuild your .HEX file using the new MAKEHEX utility. File Error: Invalid segment or start record at file line number x. DOS EMULATION SUPPORT This section updates Appendix D of the user's manual. Every upgrade of the E86MON software requires an upgrade of the DOS emulation library. E86MONTM Software User's Manual Amendment 5 A M E N D M E N T PORTING E86MON SOFTWARE TO OTHER ENVIRONMENTS This section updates Appendix E of the user's manual. If you are using version 3.2.1 or later of the E86MON software, your \OUT subdirectory contains the files EDITMON.EXE and EMON332.EXE. The following command sequence modifies EMON332.EXE to change the CPU speed to 20 MHz, and the baud rate to 9600: EDITMON EMON342 CPUSPEED 20000000 EDITMON EMON342 BAUDRATE 9600 When you have done this, you can use MAKEHEX.EXE to convert EMON332.EXE into EMON332.HEX. Use the segment parameter of MAKEHEX to locate the E86MON software in the top 32K of the device image: MAKEHEX EMON342 7800 - For 512-KByte devices MAKEHEX EMON342 3800 - For 256-KByte devices MAKEHEX EMON342 1800 - For 128-KByte devices MAKEHEX EMON342 800 - For 64-KByte devices Before downloading EMON342.HEX to the device programmer, you should ensure that all memory in the programmer is erased to FFs. If this is not done, the E86MON software might assume that there is an application program loaded and might try to jump to it after booting. 6 E86MONTM Software User's Manual Amendment A M E N D M E N T Trademarks E 1999 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Am186, Am188, and E86MON are trademarks of Advanced Micro Devices, Inc. Product names used in this publication are for identification purposes only and may be trademarks of their respective companies. E86MONTM Software User's Manual Amendment 7