Features

1) Features

Embest Register Editor is aided development software provided by Embest for those software and hardware engineers to develop embedded systems. During the process of circuit design testing, drive program and bottom-layer software compilation debugging, embedded system developers often have to refer to register manual, manually calculate the current values set for the register, and analyze the current values of the register to find their meanings one by one. The Embest Register Editor can automatically fulfill the functions above, and present all the details of the register with direct and visual graphics. As a result, it is unnecessary to resort to the register’s data manual during embedded software programming and debugging, and it has become an indispensable tool for the development of embedded software.

Features of Embest Register Editor:

1) Supports all processor core, and processors of any models of any vendors;

2) Adds/deletes/modifies processor, register group, register and register field;

3) Visualized view of register’s details, including register description, register field description, set values for register field, and the corresponding meanings;

4) Supports modification of register values in hexadecimal mode, binary mode and register field setting mode;

5) Integrated processor and register import and export functions;

6) Supports operating systems of Windows 98/ME/XP and Windows NT/2000;

7) Free software release.

As an auxiliary tool for the embedded software Integrated Development Environment Embest IDE, the Embest Register Editor is able to achieve the following functions:

1) Users can view/add/modify the register, register group and process in an integrated environment;

2) Describes details of customized register.


Definition

2) Definition

To use the software adding register information, generally we refer to the data manual for processors to set. In the following is the register information in the S3C4510B datasheet, from which we can view the contents listed in Fig. 1-1:

（a）

（b）

Fig. 1-1 Description of register in data manual

As a correspondence to the information of register in the data manual as shown in Fig. 1-1, the following concepts will be employed for the software:

Processor core

Names of core portfolios of the processor, for example, ARM7, ARM9, M68K, MIPS, and so on.

Processor manufacturer

Processor manufacturers, for example, ATMEL, SAMSUGN, Motorola, and so on.

Processor

Models and names for processors of manufacturers, for example, AT91M55800, S3C4510B, MC68EZ328, and so on.

Register group

It refers to the grouping of registers in the processor. Generally speaking, registers are grouped in terms of peripheral modules or functional modules in the core. The same group of registers shares one base address, and base address+ offset address is employed for access to the registers in the group. For example, systems configuration register, clock control register, interruption register group, I/O register group, and so on.

Register

Access unit of special meaning specified by the processor, which is used to configure peripheral modules or functional modules in the core, for example, SYSCFG and CLKCON as shown in Fig. 1-1 (a).

Register field

With specific meanings, it is usually comprises one or multiple data bits of the register’s access unit. Generally speaking, character symbols of specific meanings are employed for marking. Values are accessible for the register field, and there are corresponding descriptions for the values of the data bits. For example, in Fig. 1-1 (b), bit [5:4] of SYSCFG register is named CM field, and bit [0] named SE field.

Register base address

Access address with the lowest memory allocated by the processor to the register, which can be got from the data manual.

Offset address of register group

A value of register’s offset base address in register and processor grouping.

Register’s offset address

One value in register group corresponding to register group’s offset address. The access address for the register is: register’s base address +register group’s offset address +register’s offset address.


System requirements

2.1 System requirements

Computer: | Pentium II or higher
Memory: | 64M or higher
Hard discs: | 10M is necessary to setup the complete software.
Monitor: | VGA or a monitor with resolution higher than VGA
Driver: | CD-ROM driver
Operation system: | Microsoft Windows 98, Windows Me, Windows XP, Serivice Pack 3 or updated Windows NT, Windows 2000.


Setup

2.2 Setup

It is quite simple to set up Embest Register Editor, just by running Setup.exe in the Embest Register Editor package and make implementation step by step according to the instructions.

Embest Register Editor setup program shall automatically distinguish whether Embest IDE software already exists in the computer.

1. If Embest IDE software exists in the computer, the setup program shall setup Embest Register Editor on default basis to “{Embest IDE setup directory}\Tools\Peripheral”. Please refer to the following figure. Meanwhile, the setup program shall automatically detect whether the computer needs to install the device module and driver program shared by IDE software. If IDE has been registered, the software works directly.

Fig. 2-1 Destination Location Dialogue of Setup Program

2. If Embest IDE software is not available in the computer, the setup program shall setup Embest Register Editor on default basis to “Program Files\ Embest\Peripheral”. It is necessary to restart the computer after setup. Registration is necessary before the software works normally.

After setup, make default-creation of Embest Tools program folder, which should contain shortcut of execution program and help.


Software interface

3.1 Software interface

Upon software running, the interface will be displayed in two columns. On the left is a list of register’s information in a tree form; on the right is the properties setting for the items selected from the window on the left. And users can edit or modify the names and properties of different record items.


Window for processor product

3.1.1 Window for processor product

Fig. 3-1 Window for names of processor products

The properties of the window for the names of the processor products are listed in Table 3-1:

Table 3-1: Properties of the window for the names of the processor products

Item | Description | Default value
Default base address | Register’s default base address | 0x00000000
Current base address | Register’s current base address | 0x00000000
Enable visible | Whether to configure in Embest IDE project->Register item->Core display in the list | Display (TRUE)


Window for register group

3.1.2 Window for register group

Fig. 3-2 Register group window and its properties

The properties of the register group’s window are listed in Table 3-2:

属性Table 3-2 Properties of the register group’s window

Item | Description | Default value
Function name | Register’s grouping name in the datasheet, and users can use the register group’s name in the data manual | Prompt
Offset address | Register group’s offset address, and the register group is based on the offset of the base addresses of the processor and the register | 0
Description | Description of register group | Null


Register window

3.1.3 Register window

Fig. 3-3 Register’s window and properties

The properties of the register’s window are listed in Table 3-3:

Table 3-3 Properties of the register’s window

Item | Description | Default value
Word length | Register length | 32
Offset address | Register offset | 0x0000
Field number | Number of fields in the register | 1
Used bits mask | Used bit (mask), 1 means that the bit is being used | 0xffffffff
Generic Read-Write | Generics of read and write (0—read only; 1—read and write; 2—write only) | 1
Reset value | Reset value | 0x0
Description | Description of register in words | Prompt


Register field window

3.1.4 Register field window

Fig. 3-4 Register field window and its properties

The properties of the register field window are listed in Table 3-4:

Table 3-4 Properties of the register field window

Item | Description | Default value
Name | Name of register field | Prompt
Description | Description of register field in words | Null
Start Bit | Start bit for the field in the register unit | bit0
End Bit | End bit for the field in the register unit | bit31
Value [0:31] | Values of register fields and their meanings, namely, value N for register field and the corresponding [N], and description | Null


Software menu

3.2 Software menu

The software menu contains software operation commands, and different selected objects require different operation commands for realization. The software menu is further divided into file menu, edit menu, view menu and help menu.


Edit menu

3.2.1 File menu

The file menu is illustrated in Fig. 3-5:

Fig. 3-5 File menu of register

The meanings of the various items are listed in Table 3-5:

Table 3-5 Meanings of the various items

Item | Shortcut key | Description
Exit | None | Exit from the software
Import… | None | Import of records of processor and register
Export Core… | None | Export of records of processor and register


Edit menu

3.2.2 Edit menu

The edit menu is illustrated in Fig. 3-6:

Fig. 3-6 Edit menu of register

The meanings of the various items are listed in Table 3-6:

Table 3-6 Meanings of the various items

Item | Shortcut key | Description
Add New Item | Ctr+N | Add new record item
Modify Item Name | Ctr+M | Modify specified record item
Delete Item | Del | Delete specified record item
Edit Property | Ctrl+P | Edit property of specified record item


View menu

3.2.3 View menu

The view menu is illustrated in Fig. 3-7:

Fig. 3-7 View menu of register

The meanings of the various items are listed in Table 3-7:

Table 3-7 Meanings of the various items of the view menu

Item | Shortcut key | Description
Status Bar | None | Select whether to display status bar
Refresh | F5 | Refresh record items
Show Register | Ctl+S | Open the window for details of the register


Help menu

3.2.4 Help menu

The help menu is illustrated in Fig. 3-8:

Fig. 3-8 Help menu of register

The meanings of the various items are listed in Table 3-8:

Table 3-8 Meanings of the various items of the help menu

Item | Shortcut key | Description
Using Help | None | User’s manual of register editor
About… | None | Related information about editor


Right-key menu

3.2.5 Right-key menu

Right click the items in the information record window of the register, and a menu will pop up as shown in Fig. 3-9:

Fig. 3-9 Right-key menu of the system

The definitions for the right-key menus of the system are listed in:

Table 3-9 Meanings of various items of the system’s right-key menu

Item | Description
Show Register… | Activate detail widow of the register
Expand | Expand the display of the register group
Collapse | Collapse the display of the register group
Refresh | Refresh records, and its functions are the same as the operations of the view menu
Add New Item | Add record items, and its functions are the same as the operations of the edit menu
Modify Item Name | Edit the current record items, and its functions are the same as the operations of the edit menu
Delete Item | Delete the current record items, and its functions are the same as the operations of the edit menu
Edit Property | Edit the properties of the current records, and its functions are the same as the operations of the edit menu

Note: when users choose record items at different positions, partial functions of the right-key menu may be forbidden


Add processor register

4.1 Add processor register

Users can according to their specific requirements add any one type of processor’s register record. To add a complete register information record, the following operations shall be implemented: add name of processor core, add name of processor manufacturer, add processor and its properties, add register group and its properties, add register and its properties, add register field and its properties.


Add a type of processor core

4.1.1 Add a type of processor core

Right click the first item name in the information record tree, and the right-key menu as shown in Fig. 3-? will pop up.

Click Add New Item option, and New Core will be added in the register tree, and users can use the right-key menu Modify Item Name to modify the name.

At the same time, the system will generate the default configuration item of New Core node, and the default configuration items include the new processor manufacturer, the big and little Endian mode item, and the name of the little Endian processor, as shown in Fig. 4-1:

Fig. 4-1 Default items for new core system


Add processor manufacturer

4.1.2 Add processor manufacturer

Users can add a new processor manufacturer in the existing ARM core series sub tree. Right click the series names of the ARM core, and a menu as shown in Fig. 3-9 will pop up. Select Add New Item to add a new processor manufacturer, and select Modify Item Name to modify the name of the manufacturer. At the same time, the system will generate the default configuration item for the processor manufacturer, including the mode items of big and small Endian, and the name of the little Endian processor, as shown in Fig. 4-2:

Fig. 4-2 Add processor manufacturer


Add processor

4.1.3 Add processor

Right click the Endian mode of the corresponding processor manufacturer, and a right-key menu will pop up as shown in Fig. 3-9. Select Add New Item to add the ARM core processor of the manufacturer (note: users can only add product series in the corresponding mode), and select Modify Item Name to modify the name of the processor. The system will automatically generate initialization properties for the new processor, as shown in Fig. 4-3:

Fig. 4-3 Default configuration items for the processor system

The meanings of the various items are listed in Table 4-1:

Table 4-1 Meanings of the various item of processor

Item | Description | Default value
Default base address | Default base address for register | 0x00000000
Current base address | Current base address for register | 0x00000000
Enable visible | Whether to configure at Embest IDE project->Processor item-> Core | Display (TRUE)


Add register group

4.1.4 Add register group

Right click the processor name, and a right-key menu as shown in Fig. 3-9 will pop up. Select Add New Item to add a register group for the processor, and select Modify Item Name to modify the name of the register group. The system defines the default configuration items for the new peripheral register group, as shown in Fig. 4-4:

Fig. 4-4 Default configuration items for register group

The meanings of the various items are listed in Table 4-2:

Table 4-2 Meanings of the various items of register group’s properties

Item | Description | Default value
Function name | Name of register grouping in the datasheet, and users can use the register group name of the data manual | Prompt
Offset address | Offset address of the register group, and the offset of the processor register’s base address based on the register group | 0
Description | Description of register group | Null


Add a register

4.1.5 Add a register

A register group may contain multiple registers, and the list of the registers is displayed in the corresponding register group tree. Right click the name of the register group, and a right-key menu of the system as shown in Fig. 3-9 will pop up. Select Add New Item to add a register, and select the right-key menu Modify Item Name to modify the name of the register. Default configuration items will be generated by the system for a new register, as shown in Fig. 4-5:

Fig. 4-5 Default configuration items for the register

The meanings of the various items are listed in Table 4-3:

Table 4-3 Meanings of property items for the register

Item | Description | Default value
Word length | Register length | 32
Offset address | Register offset | 0x0000
Field number | Number of fields contained in the register | 1
Used bits mask | Used bit (mask), 1 means that the bit is being used | 0xffffffff
Generic Read-Write | Generics of read and write (0—read only; 1—read and write; 2—write only) | 1
Reset value | Reset value | 0x0
Description | Description of the register in words | Prompt


Add a register field

4.1.6 Add a register field

Register field is a combined description of register bits. One register may have multiple register fields or only one field, and multiple register fields are displayed in the corresponding register tree in a list. Right click the register name, and a right-key menu for the system as shown in Fig. 3-9 will pop up. Select Add New Item as the added register field for the current register, and select Modify Item Name to modify the name of the register field. The system will generate default configuration items for the register field, as shown in Fig. 4-6:

Fig. 4-6 Default configuration for register field

The meanings of the various items are listed in Table 4-4:

Table 4-4 Meanings of the various items for register field

Item | Description | Default value
Name | Register field name | Prompt
Description | Description of register fields in words | Null
Start Bit | Start bit of the field in the register unit | bit0
End Bit | End bit of the field in the register unit | bit31
Value [0:31] | Values of register fields and their meanings, namely, value N for register field and the corresponding [N], and description | Null


View details of register

4.2 View details of register

Through the register details window, we can conveniently view the full name of the register’s field, and the functions list, or, we can manually input configuration values to check the users’ configurations.


Register details window

4.2.1 Register details window

The register details window provides the user with the most direct observation interface for the processor register’s values and description, and it can conveniently and flexibly modify the values of the register.

The register details window provides the user with detailed information about the register, including detailed name, access address, and specific meaning of the register field. Users can input hexadecimal or binary values to modify the values of the register, or directly modify the values of the register field.

Right click the register name, and use the right-key menu to select the Show Register… item, and the register details window will pop up, as shown in Fig. 4-7:

Fig. 4-7 Register details window

The register details window comprises the following contents:

Dialog box header: to display the register name.

Blue characters at the top of the dialog box: to display the complete description of the current register.

Register edit box (HEX Value): to display the hexadecimal values of the register, or directly modify the values of the register.

Register edit box (Binary Value): to display the binary values of the register, or modify the register values.

Register field: it is composed of one or multiple bits of the register unit.

Pull-down box for selection (Select Option): to select the values of the current register field, and description.

Register field data bit (bit): start bit and end bit of the register field.

Register field name (Name): abbreviation of the register field.

Register field’s binary value (Bin): binary representation of register field’s values, modify the values of the register field by double clicking the mouse, and there will be corresponding change to the values of the register edit box.

Register field description (Desc): meaning of the current register field value.

Screen prompt: to display the abbreviation for the register field, the complete description of the register field, and list and description of the register field’s values, and the characters in red indicate the current register field’s values and descriptions.

To modify the values of the register, users can directly do it in the hexadecimal or binary edit box, or separately modify the values of the register field. To modify the values of the register field, users can double click the register field, or use the pull-down box for the register field for modification. The pull-down box of the register field is illustrated in Fig. 4-8:

Fig. 4-8 Pull-down box for register field

For the usage of the register details window in the Embest IDE for ARM development environment, please refer to Section 7.6.2 of Embest IDE user’s manual.


Deletion of register information records

4.3 Deletion of register information records

Users can delete the original register information record items.

Note: deletion of record items will only delete records from the database, while the index information of the original records cannot be deleted, and this is the deficiency of the MicroSoftware


Deletion operation

4.3.1 Deletion operation

Select the record items to be deleted, click the Edit Menu or right click the Delete Item in the right-key menu, or directly use the Del key for deletion operation.

When a user deletes the register record items, he can only start from the sub record item for the whole record, and only after the sub record items are deleted, can the current records be deleted.


Import and export of processor register

4.4 Import and export of processor register

The import and export function of the register information record can enable users to add or save his own or customized register information records, and achieve information sharing.


Import of register information

4.4.1 Import of register information

Click the File Menu of the system or right click the mouse to select the Import…option to import a record containing complete register information. The imported file contains a complete piece of processor register information, so, users can import the records when the mouse is pointed at any location of the software.

The import operation for information records will overwrite alias record items, and any first emerging name will create a record.

Note: the object files to be imported or exported are text files composed of certain data structure with .txt as extension name, including register-related information, and users are not recommended to directly perform modification.


Export of register information

4.4.2 Export of register information

On the record name of any one processor, click the system’s File Menu or right click the mouse to select Export Core, so as to export all the register record information of the current processor.


Example for adding OKI register

5.1 Example for adding OKI register

OKI M674000 series are ARM7 core processor products. First, add a processor manufacturer in the ARM7 core of the editor and name it OKI; add a processor item named ML674000 (or adding as per ML674001, M674002 and ML674003, and here is only one example); add a register group named Watchdog Timer in example operation, and add three registers of the group.


Step 1: add processor manufacturer

Right click the name of the ARM7 core series, and a right-key menu will pop up as shown in Fig. 3-9. Select Add New Item to add the processor manufacturer, and select Modify Item name to modify the name of the processor manufacturer named OKI.


Step 2: add a processor

Right click the Little Endian mode of the OKI, and a right-key menu will pop up as shown in Fig. 3-9. Select Add New Item to add a new processor, and select Modify Item name to modify the name of the processor named OKI; input the lowest access address of the register by referring to the OKI 674000 datasheet, namely, 0x78000000, and the correspondingly, set the following items in the property window as follows:

1) Double click the Default base address line, enter 0x78000000, and the base address of the processor register;

2) Double click the Current base address line, enter 0x78000000, and the setting is the same as the base address.

The operation result is illustrated in Fig. 5-1:

Fig. 5-1 Add an ARM7 core processor ML674000


Step 3: add a register group

Right click ML674000, and a right-key menu as shown in Fig. 3-9 will pop up. Select Add New Item to add a processor register group, and select Modify Item Name to modify the name of the register group to be named Watchdog Timer; double click the Function name line and enter WDT (in case of cooperation with Embest IDE for ARM, this is just the name of the register group displayed on the register window, which can be customized); select Watchdog Timer, and refer to the OKI 674000 datasheet, and correspondingly the setting in the property window is shown as below:

1) Double click the Offset address line, and enter the base address of the register group of 0x3FE00000 = 0xB7E00000 - 0x78000000;

2) Double click the Description line, enter the description words for the register group: “Watchdog timer group”. (in case of cooperation with Embest IDE for ARM, this will be the buoy prompt of the register group for register window).

The operation result is illustrated in Fig. 5-2:

Fig. 5-2 Add register group Watchdog timer


Step 4: add register

Right click Watchdog Timer, and a right-key menu as shown in Fig. 3-9 will pop up. Select Add New Item to add a processor register group, and select Modify Item Name to modify the name of the register group to be named WDTBCON; and refer to the OKI 674000 datasheet, change the settings in the property window is shown as below:

1) Double click the Word length to enter the word length 32;

2) Double click the Offset address to enter register offset address, which reference the base of the register group 0x0004 = 0x3FE00004 - 0x3FE00000;

3) Double click the Field number to enter 5, indicating that the register has 5 register fields availed;

4) Double click the Used bits mask to enter 0x000000FF, indicating that the register use low 8 bits normally;

5) Double click the Generic Read-Write, input 1, the meanings of the register can Read and Write;

6) Double click the Description to input the descriptions of the register.

The operation result is illustrated in Fig. 5-3:

Fig. 5-3 Add register field WDTBCON


Step 5: add a register field

Right click on the WDTBCON register, and a right-key menu for the system as shown in Fig. 3-9 will pop up. Select Add New Item to add a register field for the current register, and select Modify Item Name to modify the name f the register field to be named WDCLK. Refer to the OKI 674000 datasheet, and we can get the related WDTBCON register information as shown in Fig. 5-4:

Fig. 5-4 Register field WDCLK in ML674000 data manual

Correspondingly, the settings in the property window are as follows:

1) Double click the Name line to enter WDCLK (in case of cooperation with Embest IDE for ARM, this will be the register field name displayed in the register window, and the symbols defined in the data manual are recommended);

2) Double click the Description line to enter “These bits specify the frequency divisor for deriving the operating clock from CCLK”, namely, description of register field;

3) Double click the Start-Bit line to enter 0, indicating that the register field starts from the register unit bit [0];

4) Double click the End-Bit line to enter 1, indicating that the register field ends from the register unit bit [1];

5) Double click the Value[0:3] line, and respectively enter the meanings of the corresponding to the register field values 0-3 in the processing data menu, namely:

Value0 line input: CCLK/32; Value1 line input: CCLK/64;

Value2 line input: CCLK/128; Value3 line input: CCLK/256;

The operation result is illustrated in Fig. 5-5:

Fig. 5-5 Add register field WDCLK

Refer to the add method for the WDCLK register field and the datasheet, similarly, we can add other register fields for the register.

Refer to the five operation steps mentioned above and the datasheet, similarly, we can add other register groups of ML674000 processor.


Example for adding S3C2410X register

5.2 Example for adding S3C2410X register

The S3C2410X processor is the core of ARM9TDMI. If there is no ARM9 core series for the editor, it is necessary to re-add a core series. According to the operating procedures for adding OKI ML674000 processor register records of ARM7 core, users can respectively add processor manufacturer SAMSUNG, register group, register, and register field records by referring to the related operations.