Workbench Views

The Project Explorer view

The Project Explorer is the main utility to work with C/C++ projects. The Project Explorer contains all HighTec IDE projects currently available in the workspace and allows you to open source files for editing or engage other actions, such as build.

The Project Explorer presents the project items in the form of a tree structure. The tree starts with the project name on the first level. The second level contains the project resources. You can group the project resources into folders. Folders reflect the physical structure of the project on the disk. Folders, however, may also be only Virtual, grouping content based on a particular type or location in the file system.

The following picture gives you a comprehensive overview:

ide project explorer
Fig. 1. Project Explorer
ID Description

1

Project name. It contains information about the toolchain version selected for the build as well as the active configuration.

2

Virtual folder which holds the output binary file.

3

Virtual folder which collects all the configured include path locations.

4

Project header files.

5

Project source files.

6

Output folder. The folder name came from the active build configuration name. It contains all the files generated during the build process (*.o, *.map, …​).

7

Project linker files.

The Editor view

The C/C++ editor provides specialized features for editing C/C++ related files.

ide editor
Fig. 2. Editor view

The editor offers an effective environment to compose your C/C++ code, including:

  • Run as you type code analysis

  • Content/code assist and parameter hints

  • Advanced syntax highlighting

  • Word completion

  • Code folding and line numbering

  • Find/Replace/Refactor options

The most common way to invoke the C/C++ editor is to open a file from the Project Explorer or the C/C++ Project views using pop-up menus or by clicking the file (single or double-click depending on the user preferences).

The C/C++ editor does not contain a toolbar itself but relies on the use of the main toolbar, Edit menu, Search menu and keybinding actions.

The IDE provides default editors for other types of sources as well, such as makefile, linker, and text or map files. The level of supported features may vary.

The Memory Allocation view

The memory allocation view provides an overview of the memory footprint of the selected project. The memory allocation view feature is supported by the following toolchains:

Tab. 1. The list of supported toolchains
GCC-based Development Platforms LLVM-based Development Platforms
  • TriCore

  • PowerPC

  • ARM

  • MCS

If this view is closed, you can open it via the menu Window  Show view  Other…​  HighTec EDV-Systeme  Memory Allocation.

The following picture gives you a comprehensive overview:

ide quick start guide memory alloc view
Fig. 3. Memory allocation view
ID Description

1

List of memory regions.

2

Project name.

3

Output memory map file name.

4

Limits the content of the memory regions to only those matching the filter.

5

Removes configured filter, and shows all regions.

6

Collapses all expanded memory regions.

7

Opens configuration window.

8

Memory allocation view menu. The menu provieds these options:

  • Hide all section

  • Hide empty regions

  • Hide empty sections

  • Merge mirrored sections

9

Image associated with the memory region type (see Memory region types).

10

The tooltip shows exact value hexadecimal value and its decadic conversion as well as human-readable rounded conversion to an integer number using convenient units (K, M, G, …​).

The memory allocation view provides information about the memory configuration and memory usage by your application. The view provides this information:

  • The list of all defined memory regions.

  • The size of used memory in [%] and [bytes] units.

  • The total size of the memory region.

  • The list of output sections for each memory region.

  • the list of mirrors in case of a mirrored memory region.

You can see several different elements within the memory allocation view. See the following table for more details.

Tab. 2. Memory Region Types
Icon Type Description

g2 list memalloc region 16px

The memory region

The memory region, which you defined within the linker script by the command MEMORY.

g2 list memalloc section 16px

The output section

the output section, which you defined in the linker script by the command SECTION.

g2 list memalloc mirorred region 16px

Mirrored memory region

Memory regions with different logical addressing of the same physical memory.

g2 list memalloc group 16px

Memory region group

Logical group collecting more memory regions.

g2 list memalloc def group 16px

Default memory region group

Logical group collecting all the memory regions which you do not assign to any other group.

NOTE: The memory allocation view implementation relly on the parsed output of the generated memory map file. In the case, the memory map file is corrupted or missing the memory allocation view does not show any data.

To make the view better understandable, you can define logical groups and assign the memory regions to them. This way you can minimize the number of regions displayed at one time. The group definition and its regions assignment are accessible via the config window which you can open by click to the config icon (g2 btn memalloc config 16px).

ide quick start guide memory alloc view config
Fig. 4. Configuration
ID Description

1

The list of the available memory regions.

2

The list of groups with their assigned regions.

3

Creates a new group.

4

Removes a selected group.

5

Adds memory region into the selected group.

6

Removes selected region.

7

Saves the configuration and closes the configuration window.

8

Discards changes in your configuration and closes the window.

If you create a groups configuration, your memory allocation view then can look like the following.

ide quick start guide memory alloc view groups
Fig. 5. Memory allocation view - groups

Problems view

Sooner or later you will run into problems with your code or your project setup. To view the problems discovered in your project, you can use the Problems view which is part of the standard Hightec perspective. The view shows error and warning messages generated by instant code checkers or reported during the build process. If this view is closed, you can open it via Window  Show view  Problems.

ide problems view
Fig. 6. Problems view

Console view

The Console view displays the output of a process activated by the user, such as the build process.

ide console view
Fig. 7. Console view
ID Name Description

1

Next error

Show the next error in the Console view.

2

Previous error

Show the previous error in the Console view.

3

Show error in Editor

Toggle to synchronize the selected error with the Editor view (default).

4

Copy build log

Copy build output to file.

5

Scroll Lock

Toggles the Scroll Lock.

6

Wrap lines

Toggles wrapping lines option.

7

Clear Console

Clears the current console.

8

Pin Console

Forces the Console view to remain on top of other views in the window area.

9

Display selected Console

If multiple consoles are open, you can choose the one to display from a list.

10

Open Console

Opens a new console to show the log for:

  • New Console View

  • Program Output Console

  • Windows Program Output Console

Build console provides also highlighting of build problems. You can use double-click on a highlighted line to open code in an editor when error parsers can determine file and line from build output.

The HighTec Memory Overview (preview)

The memory overview view provides an overview of the memory utilization of the selected project in other graphical interpretation. This view is a preview of the coming future features and is supported by the following toolchains:

Tab. 3. The list of supported toolchains
GCC-based Development Platforms LLVM-based Development Platforms
  • TriCore

  • PowerPC

  • ARM

  • MCS

You can open the view it via the menu Window  Show view  Other…​  HighTec EDV-Systeme  Memory Overview.

The following picture gives you a quick overview:

ide quick start guide memory overview view
Fig. 8. Memory Overview view
ID Description

1

List of memory regions/section/symbols ordered ascending by address.

2

Project name.

3

Output memory map file name.

4

Navigation back to a higher level of view.

5

Memory region/section/symbol detail information.

6

Tooltip with detail information.

The memory overview can display three different levels of view. The Top-level is represented by the memory regions. By click on any region, the view is switched to a middle-level view providing the information about the output section of the given region. By clicking on any section, the view is switched to the lowest level displaying all the symbols related t the given output section. In each level of the view, you can zoom in/out the displayed blocks by the CTRL + mouse-wheel action to see more details.

The memory regions view shows the memory region, which you defined within the linker script by the command MEMORY. The size of a single block represents the memory region size relative to the whole memory. The section view shows the output section, which you defined in the linker script by the command SECTION. The size of a single block represents the output section size relative to the parent memory region size. The symbols view displays all symbols related to the parent output section. Since the number of symbols can be relatively high, the default view is configured to minimal symbol size. You can see the symbol details either in the tooltip (triggered by mouse-over action) or by zoom-in the whole symbols view. See the details of the displayed elements below.

ide memory overview view flow
Fig. 9. Memory Overview - display levels

Memory region

ide memory overview region
Fig. 10. Memory region
ID Description

1

Memory name.

2

Memory origin.

3

Memory length.

4

Free memory.

5

Memory flags.

6

Used memory.

Output section

ide memory overview section
Fig. 11. Output section
ID Description

1

Section name.

2

Section origin.

3

Section size.

Symbol

ide memory overview symbol
Fig. 12. Symbol
ID Description

1

Symbol name.

2

Symbol value.

3

Symbol size.

4

Input section name.

5

The object name the symbol is coming from.

6

Symbol scope (ide memory overview symbol local / ide memory overview symbol global).

Notification queue

The notification queue contains all rised and not cleared notifications. You can open the notification queue either by click to the tool notification2 status normal icon in IDE the status bar or from the menu Help  Notification Queue.

ide notification queue
ID Description

1

List of notifications.

2

Number of pending notifications.

3

Clear all pending notifications.

4

Close notification queue.