Keil™, An ARM® Company

Technical Support

µVISION: ADDING CUSTOM PARTS TO THE DEVICE DATABASE


Information in this article applies to:

  • µVision Version 3

SYMPTOM

The µVision device database contains all 8051, 251, C16x/XC16x/ST10, and ARM standard products. However, there are some custom devices and there will be future devices that are not part of this database (they will be added as they are created, of course). If you need to work with an unlisted MCU, you have two alternatives:

  • Select a generic device.
  • Add a new device to the database.

SELECTING A GENERIC DEVICE

Under the Generic listing in the device database, you will find the following generic devices:

  • 8031 (all Variants)
  • 8032 (all Variants)
  • 8051 (all Variants)
  • 8052 (all Variants)
  • C166 (all Variants) - Supports CPUs with no extended instruction set
  • C167 (all Variants) - Supports CPUs with an extended instruction set

You may select one of these devices and then specify any necessary chip options in the Target Dialog.

ADDING A NEW DEVICE

From the File menu, select the Device Database item. µVision opens a dialog which shows the device database where you may add and modify the existing devices.

To add a new device...

  1. Select a CPU that is similar to the device you want to use. Be sure to double-click to bring the settings for this device into focus.
  2. Change the name of the chip vendor.
  3. Select the appropriate CPU family.
  4. Enter the part number in the device text box.
  5. Modify the description to match your device.
  6. Change the options for the tools (see below).
  7. Single-click in the database window (to change focus). This enables the Add button.
  8. Click Add to add the new device.

To remove a device...

  1. Locate the device you want to remove in the Data Base tree list box and left-click the name once to highlight it.
  2. Press the Del key to remove the device from the Device Database.
  3. Note

    • You will not receive a warning when you press the Del key. The device is deleted immediately.

Adjusting the Options...

In the Options box, CPU= specifies the basic tool settings for the chip. The parameters for CPU= are:

  • IRAM (range)
    Address location of the on-chip IRAM.
  • XRAM (range)
    Address location of the on-chip XRAM.
  • XRAM2 (range)
    Address location of a 2nd on-chip XRAM area (i.e. for C167CS).
  • IROM (range)
    Address location of the on-chip (flash) ROM.
    For classic C166: start address must be 0; IROM is split into two sections if size is above 32KB; range specifies physical ROM size.
  • IROM2 (range)
    (for 8051 and variants only) Address location of 2nd on-chip ROM.
  • ICAN (range)
    Address location of the on-chip CAN module. Use for C167 and variants only.
  • CPUTYPE (variant)
    Specify CPU variant for ARM based controllers. Currently only ARM7 and ARM9 devices are supported.
  • EBIG
    Default to BIG endian for ARM based controllers.
  • ELITTLE
    Default to LITTLE endian for ARM based controllers.
  • ESEL
    Allow selection of the endianiess for ARM based controllers.
  • CLOCK (val)
    Default CPU clock speed (in Hz) used when you select the device. For example CLOCK(12000000), indicates a 12MHz oscillator.
  • MDU_F120
    Use the Multiply/Accumulate Unit of SiliconLabs C8051F12x device variants.
  • MDU_R515
    Use the Multiply/Devide Unit of Cast/Evatronix R80515.
  • MOD167
    Use the extended instruction set of the C167 and variants.
  • MOD517DP
    Enable Infineon specific multiple DPTR registers.
  • MOD517AU
    Enable the Infineon specific Arithmetic Unit.
  • MODA2
    Enable Atmel specific multiple DPTR registers (like on AT89S8252).
  • MODAB2
    Enable Analog Devices specific multiple DPTR registers.
  • MODC2
    Enable Cast/Evatronix specific multiple DPTR registers (R80515).
  • MOD_CONT
    Enable support for the Dallas Contiguous Mode.
  • MODDA
    Enable Dallas specific Arithmetic Accelerator.
  • MODDP2
    Enable Dallas specific multiple DPTR registers.
  • MODH2
    Enable Hynix/ST uPSD33xx uPSD34xx multiple DPTR registers.
  • MODP2
    Enable Philips specific multiple DPTR registers. (Note also some Atmel devices are using this variant).
  • MODV2
    Use the Infineon XC16x / ST Super10 instruction set extensions.
  • MX
    Enable support for the Philips 80C51MX architecture.
  • MXP
    Enable support for the Philips SmartMX SmartCard architecture.
  • DPX
    Enable 24-bit DPTR register for the Analog Devices ADuC812.
  • PMW
    Enable the PCON.PMW feature that allows to use MOVX instructions to write into code space for the Evatronix R8051XC.
  • DPC
    Enable the data pointer control registers on the Evatronix R8051XC that provide auto-increment features for the DPTR registers.
  • BSE
    Enable the Bank Switch Enable feature in the register DPSEL.3 for the Evatronix R8051XC.
  • PSOC
    Enable the generation of interrupt vectors for Cypress PSoC.

The following additional options are also available:

  • REGFILE=sfr_file(folder)
    Specify the SFR register definition file for the CPU.
  • SFILE=startup_file(folder)
    Specify the default startup file that should be copied to a project.
  • FLASH=command_file(options)
    Specify the Flash Utility that should be used with the device.

Other options specify data books and µVision debugging DLLs. You should leave these variables unchanged when adding a new device to the database.

MORE INFORMATION

  • Refer to the Getting Started and Creating Applications User's Guide 07.99 for more information on the device database.

SEE ALSO

FORUM THREADS

The following Discussion Forum threads may provide information related to this topic.

Last Reviewed: Friday, July 18, 2008


Did this article provide the answer you needed?
 
Yes
No
Not Sure