Difference between revisions of "Using Guiliani 2.0 RZ/A with TES eGML SDK with e2Studio"
From Guiliani
m (Patrik moved page Using Guiliani RZ/A SDK with e2Studio to Using Guiliani 2.0 RZ/A with TES eGML SDK with e2Studio: Renamed) |
|||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | == Assumed knowledge == | |
− | |||
− | |||
− | |||
* C++ | * C++ | ||
* General Handling of e² studio or eclipse | * General Handling of e² studio or eclipse | ||
+ | == Prerequisites == | ||
+ | * Installed [https://www.guiliani.de/mediawiki/downloads/SDK/Guiliani_2.0_SDK_GSE_RenesasRZ-A.zip Guiliani 2.0 SDK for Renesas RZ/A] | ||
+ | * Installed [https://www.renesas.com/en-eu/products/software-tools/tools/ide/e2studio.html e² studio V5] | ||
− | + | == e² studio workspace == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Select this directory as project workspace (relative to SDK directory): | Select this directory as project workspace (relative to SDK directory): | ||
<code>SR_ShowRoom\projects\e2Studio</code> | <code>SR_ShowRoom\projects\e2Studio</code> | ||
− | The opened workspace includes three projects : | + | The opened workspace includes three projects: |
* BSP: Renesas Board support package files | * BSP: Renesas Board support package files | ||
* 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 boot loader === | ||
+ | The QSPI boot loader 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. | ||
− | + | For debugging, it can also be configured for booting from RAM. | |
− | |||
− | + | ==== bin folder ==== | |
− | |||
Includes binaries for both Dual QSPI and Single QSPI flashes. | Includes binaries for both Dual QSPI and Single QSPI flashes. | ||
− | + | ==== inc folder ==== | |
− | |||
Holds includes. | Holds includes. | ||
− | + | ==== linker_script ==== | |
− | |||
Holds linker script. | Holds linker script. | ||
− | + | ==== src folder ==== | |
− | |||
C sources | C sources | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 59: | Line 50: | ||
|} | |} | ||
− | + | ==== startup folder ==== | |
− | |||
low-level startup code | low-level startup code | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 76: | Line 66: | ||
|} | |} | ||
+ | ==== Boot-up sequence ==== | ||
+ | [[File:QSPI Bootloader.png|QSPI Boot loader]] | ||
− | + | ==== 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 === | |
− | + | Includes everything needed to run Guiliani on RZ/A. Its build can be configured as Release or Debug. | |
{| class="wikitable" | {| class="wikitable" | ||
!|Directory | !|Directory | ||
Line 98: | Line 86: | ||
|- | |- | ||
|Driver | |Driver | ||
− | |RZ/A | + | |RZ/A peripheral drivers |
|- | |- | ||
|Board_settings | |Board_settings | ||
Line 110: | Line 98: | ||
|} | |} | ||
− | + | ==== Driver ==== | |
− | |||
{| class="wikitable" | {| class="wikitable" | ||
!|Directory | !|Directory | ||
Line 132: | Line 119: | ||
|} | |} | ||
+ | ==== Possible Adaptions ==== | ||
+ | * Heap management of FreeRTOS | ||
+ | * Touch driver | ||
+ | * Video display controller | ||
+ | |||
+ | === SR_ShowRoom === | ||
+ | ShowRoom Demo project. it can be configured as Debug or Release version. | ||
+ | For debugging, it can also be configured for booting from RAM. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !|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 ==== | ||
+ | {| class="wikitable" | ||
+ | !|File | ||
+ | !|Description | ||
+ | |- | ||
+ | |<nowiki>[include|src]/platform/FreeRTOS/StreamRuntimeStartup_FreeRTOS.[cpp|h]</nowiki> | ||
+ | |Target specific initialization of Wrappers and configurations | ||
+ | |- | ||
+ | |<nowiki>[include|src]/platform/win/StreamRuntimeStartup_FreeRTOS.[cpp|h]</nowiki> | ||
+ | |Windows specific initialization of Wrappers and configurations | ||
+ | |- | ||
+ | |<nowiki>[include|src]/StreamRuntimeConfig.[cpp|h]</nowiki> | ||
+ | |Loads project configuration | ||
+ | |- | ||
+ | |<nowiki>[include|src]/StreamRuntimeGUI.[cpp|h]</nowiki> | ||
+ | |Loads GUI | ||
+ | |- | ||
+ | |syscalls.c | ||
+ | |Support file for GNU libc from BSP, needs to be linked in Application project. | ||
+ | |} | ||
+ | |||
+ | ==== Include/src ==== | ||
+ | {| class="wikitable" | ||
+ | !|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. | ||
+ | |- | ||
+ | |<nowiki>platform/*/StreamRuntime*.[cpp|h]</nowiki> | ||
+ | |Program entry points(main-function) for different platforms | ||
+ | |- | ||
+ | |<nowiki>Application.[cpp|h]</nowiki> | ||
+ | |Demo manager. Handles common demo functions | ||
+ | |- | ||
+ | |<nowiki>Demo_*.[cpp|h]</nowiki> | ||
+ | |Specific code for the different demo parts | ||
+ | |- | ||
+ | |<nowiki>MyGUI_SR.[cpp|h]</nowiki> | ||
+ | |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 milliseconds. 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 occurred 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 behavior ==== | ||
+ | Startup | ||
+ | |||
+ | [[File:StreamRuntime.png]] | ||
+ | |||
+ | ==== Possible Adaptions ==== | ||
+ | * Everything except guiconfig/User*Resource.h. Use GSE generated files only. | ||
− | ==== | + | == Further information == |
− | * | + | * [https://www.guiliani.de/mediawiki/downloads/Guiliani_doc_2.0/index.html Guiliani 2.0 Documentation] |
+ | * [[Support:Howto:Application_Binding|Howto: Application Binding]] |
Latest revision as of 13:11, 22 May 2017
Contents
Assumed knowledge
- C++
- General Handling of e² studio or eclipse
Prerequisites
- Installed Guiliani 2.0 SDK for Renesas RZ/A
- Installed e² studio V5
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 boot loader
The QSPI boot loader 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.
For debugging, it can also be configured for booting from RAM.
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
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
Includes everything needed to run Guiliani on RZ/A. Its build can be configured as Release or Debug.
Directory | Description |
---|---|
Architecture_support | Common ARM drivers (i.e. caches) |
Chip_support | Special RZ/A drivers |
Driver | RZ/A peripheral 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 management of FreeRTOS
- Touch driver
- Video display controller
SR_ShowRoom
ShowRoom Demo project. it can be configured as Debug or Release version. For debugging, it can also be configured for booting from RAM.
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 initialization of Wrappers and configurations |
[include|src]/platform/win/StreamRuntimeStartup_FreeRTOS.[cpp|h] | Windows specific initialization 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 milliseconds. 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 occurred 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 behavior
Startup
Possible Adaptions
- Everything except guiconfig/User*Resource.h. Use GSE generated files only.