Difference between revisions of "Using Guiliani 2.0 RZ/A with TES eGML SDK with e2Studio"

From Guiliani

(Dynamic behaviour)
Line 2: Line 2:
 
* C++
 
* C++
 
* General Handling of e² studio or eclipse
 
* General Handling of e² studio or eclipse
 
  
 
== Prerequisites ==
 
== Prerequisites ==
Line 17: Line 16:
 
* RZ_A1H_QSPI_LOADER: Loader for QSPI flash files
 
* RZ_A1H_QSPI_LOADER: Loader for QSPI flash files
 
* SR_ShowRoom: The ShowRoom demo
 
* SR_ShowRoom: The ShowRoom demo
 
  
 
=== QSPI bootloader ===
 
=== QSPI bootloader ===
 
The QSPI bootloader configures the QSPI FLASH to execute the application code at maximum speed. It can be configured for Single or Dual QSPI interfaces depending on your Hardware setup.
 
The QSPI bootloader configures the QSPI FLASH to execute the application code at maximum speed. It can be configured for Single or Dual QSPI interfaces depending on your Hardware setup.
 
  
 
==== bin folder ====
 
==== bin folder ====
 
Includes binaries for both Dual QSPI and Single QSPI flashes.
 
Includes binaries for both Dual QSPI and Single QSPI flashes.
 
  
 
==== inc folder ====
 
==== inc folder ====
 
Holds includes.
 
Holds includes.
 
  
 
==== linker_script ====
 
==== linker_script ====
 
Holds linker script.
 
Holds linker script.
 
  
 
==== src folder ====
 
==== src folder ====
Line 53: Line 47:
 
|Register I/O
 
|Register I/O
 
|}
 
|}
 
  
 
==== startup folder ====
 
==== startup folder ====
Line 70: Line 63:
 
|Interrupt handler
 
|Interrupt handler
 
|}
 
|}
 
  
 
==== Boot-up sequence ====
 
==== Boot-up sequence ====
 
[[File:QSPI Bootloader.png|QSPI Bootloader]]
 
[[File:QSPI Bootloader.png|QSPI Bootloader]]
 
  
 
==== Possible Adaptions ====
 
==== Possible Adaptions ====
 
* The application entry point can be defined by setting APPLICATION_VECTOR_TABLE.
 
* The application entry point can be defined by setting APPLICATION_VECTOR_TABLE.
 
* You can choose between dual or single QSPI by choosing the Build configuration
 
* You can choose between dual or single QSPI by choosing the Build configuration
 
  
 
=== Board support package ===
 
=== Board support package ===
Line 104: Line 94:
 
|startup files for application
 
|startup files for application
 
|}
 
|}
 
  
 
==== Driver ====
 
==== Driver ====
Line 126: Line 115:
 
|Video display controller
 
|Video display controller
 
|}
 
|}
 
  
 
==== Possible Adaptions ====
 
==== Possible Adaptions ====
Line 155: Line 143:
 
|Project specific sources
 
|Project specific sources
 
|}
 
|}
 +
 
==== Common ====
 
==== Common ====
 
{| class="wikitable"
 
{| class="wikitable"
Line 175: Line 164:
 
|Support file for GNU libc from BSP, needs to be linked in Application project.
 
|Support file for GNU libc from BSP, needs to be linked in Application project.
 
|}
 
|}
 +
 
==== Include/src ====
 
==== Include/src ====
 
{| class="wikitable"
 
{| class="wikitable"
Line 204: Line 194:
 
|GUI entry point
 
|GUI entry point
 
|}
 
|}
 +
 
==== GUIInputRZA1H.cpp ====
 
==== GUIInputRZA1H.cpp ====
 
This file includes the input wrapper for Guiliani. its main method is GetEvent. GetEvent shall last at most uiIdleTime in miliseconds. In addition the method should return as soon as possible after StopIdle is called. In this case the GetEvent-method waits until either uiIdleTime is exceeded or an (asynchronous) event from the touch screen occurs or StopIdle was called. If an event ocuured the touch controller is read out and a MouseEvent is generated.
 
This file includes the input wrapper for Guiliani. its main method is GetEvent. GetEvent shall last at most uiIdleTime in miliseconds. In addition the method should return as soon as possible after StopIdle is called. In this case the GetEvent-method waits until either uiIdleTime is exceeded or an (asynchronous) event from the touch screen occurs or StopIdle was called. If an event ocuured the touch controller is read out and a MouseEvent is generated.
  
 
In General GetEvent can return either a Mouse Event or a Keyboard Event or NULL.
 
In General GetEvent can return either a Mouse Event or a Keyboard Event or NULL.
 +
 
==== Dynamic behaviour ====
 
==== Dynamic behaviour ====
 
Startup
 
Startup

Revision as of 10:52, 25 January 2017

Assumed knowledge

  • C++
  • General Handling of e² studio or eclipse

Prerequisites

e² studio workspace

Select this directory as project workspace (relative to SDK directory):

SR_ShowRoom\projects\e2Studio

The opened workspace includes three projects :

  • BSP: Renesas Board support package files
  • RZ_A1H_QSPI_LOADER: Loader for QSPI flash files
  • SR_ShowRoom: The ShowRoom demo

QSPI bootloader

The QSPI bootloader configures the QSPI FLASH to execute the application code at maximum speed. It can be configured for Single or Dual QSPI interfaces depending on your Hardware setup.

bin folder

Includes binaries for both Dual QSPI and Single QSPI flashes.

inc folder

Holds includes.

linker_script

Holds linker script.

src folder

C sources

File/directory Description
qspi_controller_driver General driver for QSPI controller
main.c Program entry
qspi_change_config.c QSPI configuration
rza_io_regrw.c Register I/O

startup folder

low-level startup code

File Description
low_level_init_gcc.c C/C++ Inititlization; call to main function
reset_handler.S low-level Program entry
start.S Interrupt handler

Boot-up sequence

QSPI Bootloader

Possible Adaptions

  • The application entry point can be defined by setting APPLICATION_VECTOR_TABLE.
  • You can choose between dual or single QSPI by choosing the Build configuration

Board support package

Directory Description
Architecture_support Common ARM drivers (i.e. caches)
Chip_support Special RZ/A drivers
Driver RZ/A peripherial drivers
Board_settings Set-up for Display-It board
FreeRTOS FreeRTOS Operating System
startup startup files for application

Driver

Directory Description
INTC Interrupt controller
OSTM Operating System Timer
RIIC I²C interface
SCIF_UART UART with Serial Communication Interface
VDC5 Video display controller

Possible Adaptions

  • Heap menagement of FreeRTOS
  • Touch driver
  • Video display controller

SR_ShowRoom

ShowRoom Demo project.

Directory Description
common Common files over different Guiliani applications
include Project specific includes
linker_script linker script for both QSPI and RAM configurations
share shared files between GSE and Guiliani application
src Project specific sources

Common

File Description
[include|src]/platform/FreeRTOS/StreamRuntimeStartup_FreeRTOS.[cpp|h] Target specific initalization of Wrappers and configurations
[include|src]/platform/win/StreamRuntimeStartup_FreeRTOS.[cpp|h] Windows specific initalization of Wrappers and configurations
[include|src]/StreamRuntimeConfig.[cpp|h] Loads project configuration
[include|src]/StreamRuntimeGUI.[cpp|h] Loads GUI
syscalls.c Support file for GNU libc from BSP, needs to be linked in Application project.

Include/src

File Description
custom_extension Custom extensions.
guiconfig/UserConfig.h Configuration of used Wrappers in case of Windows build.
guiconfig/User*Resource.h Resource IDs generated by GSE.
guiconfig_custom Custom IDs for use in Guiliani application.
platform/*/StreamRuntime*.[cpp|h] Program entry points(main-function) for different platforms
Application.[cpp|h] Demo manager. Handles common demo functions
Demo_*.[cpp|h] Specific code for the different demo parts
MyGUI_SR.[cpp|h] GUI entry point

GUIInputRZA1H.cpp

This file includes the input wrapper for Guiliani. its main method is GetEvent. GetEvent shall last at most uiIdleTime in miliseconds. In addition the method should return as soon as possible after StopIdle is called. In this case the GetEvent-method waits until either uiIdleTime is exceeded or an (asynchronous) event from the touch screen occurs or StopIdle was called. If an event ocuured the touch controller is read out and a MouseEvent is generated.

In General GetEvent can return either a Mouse Event or a Keyboard Event or NULL.

Dynamic behaviour

Startup

StreamRuntime.png

Possible Adaptions

  • Everything except guiconfig/User*Resource.h. Use GSE generated files only.