mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-13 17:44:48 +02:00
Update RZ examples
- Use xSPI0 boot mode - Update FSP from v1.3 to v2.0.0 - Simplify UART - Migrate new User Ctx - Update README - Fix SCE TLS on RA6M4
This commit is contained in:
@@ -21,37 +21,49 @@ The example project summary is listed below and is relevant for every project.
|
|||||||
### Project Summary
|
### Project Summary
|
||||||
|Item|Name/Version|
|
|Item|Name/Version|
|
||||||
|:--|:--|
|
|:--|:--|
|
||||||
|
|e2Studio|2025-04.1 (25.4.1)|
|
||||||
|Board|RZN2L|
|
|Board|RZN2L|
|
||||||
|Device|R9A07G084M08GBG|
|
|Device|R9A07G084M08GBG|
|
||||||
|Toolchain|GCC for Renesas RZ|
|
|Toolchain|GCC for Renesas RZ|
|
||||||
|Toolchain Version|10.3.1.20210824|
|
|Toolchain Version|10.3.1.20210824|
|
||||||
|FSP Version|1.2.0|
|
|FSP Version|2.0.0|
|
||||||
|
|
||||||
#### Selected software components
|
#### Selected software components
|
||||||
|
|
||||||
|Components|Version|Note|
|
|Components|Version|Note|
|
||||||
|:--|:--|:--|
|
|:--|:--|:--|
|
||||||
|Board Support Package Common Files|v1.20||
|
|Board Support Package Common Files|v2.0.0||
|
||||||
|I/O Port|v1.2.0||
|
|I/O Port|v2.0.0||
|
||||||
|Arm CMSIS Version 5 - Core (M)|v5.7.0+renesas.1||
|
|Arm CMSIS Version 5 - Core (M)|v5.7.0+renesas.1.fsp.2.0.0||
|
||||||
|Board support package for R9A07G084M04GBG|v1.2.0|Note1|
|
|Board support package for R9A07G084M04GBG|v2.0.0|Note1|
|
||||||
|Board support package for RZN2L|v1.2.0||
|
|Board support package for RZN2L|v2.0.0||
|
||||||
|Board support package for RZN2L - FSP Data|v1.2.0||
|
|Board support package for RZN2L - FSP Data|v2.0.0||
|
||||||
|RSK+RZN2L Board Support Files (RAM execution without flash memory)|v1.2.0||
|
|RSK+RZN2L Board Support Files (xSPI0 x1 boot mode)|v2.0.0||
|
||||||
|FreeRTOS - Buffer Allocation 2|v1.2.0||
|
|FreeRTOS - Buffer Allocation 2|v2.0.0||
|
||||||
|FreeRTOS - Memory Management - Heap 4|v1.2.0||
|
|FreeRTOS - Memory Management - Heap 4|v2.0.0||
|
||||||
|FreeRTOS+TCP|v1.2.0||
|
|FreeRTOS+TCP|v2.0.0||
|
||||||
|Ethernet PHY |v1.2.0||
|
|Ethernet PHY |v2.0.0||
|
||||||
|Ethernet Selector|v1.2.0||
|
|Ethernet Selector|v2.0.0||
|
||||||
|Ethernet|v1.2.0||
|
|Ethernet|v2.0.0||
|
||||||
|Ethernet Switch|v1.2.0||
|
|Ethernet Switch|v2.0.0||
|
||||||
|SCI UART|v1.2.0||
|
|SCI UART|v2.0.0||
|
||||||
|r_ether to FreeRTOS+TCP Wrapper|v1.2.0||
|
|r_ether to FreeRTOS+TCP Wrapper|v2.0.0||
|
||||||
|Renesas Secure IP Driver|v1.3.0+fsp.1.2.0|Need to contact Renesas to get RSIP module|
|
|Renesas Secure IP Driver|v1.5.0+fsp.1.3.0||
|
||||||
|RSIP Engine for RZ/N2L|v1.3.0+fsp.1.2.0|Need to contact Renesas to get RSIP module|
|
|RSIP Engine for RZ/N2L|v1.5.0+fsp.1.3.0||
|
||||||
|
|
||||||
Note1:\
|
Note1:\
|
||||||
To use RSIP driver, a device type should be `R9A07G084M04GBG`. However, choosing `R9A07G084M04GBG` won't allow to select `RSK+RZN2L` board. This example uses LED and external flash memory on `RSK + RZN2L` board. Therefore, the example temporary `R9A07G084M04GBG` for the device type. Updating e2studio or fsp could resolve the issue.
|
To use RSIP driver, a device type should be `R9A07G084M08GBG`. However, choosing `R9A07G084M04GBG` won't allow to select `RSK+RZN2L` board. This example uses LED and external flash memory on `RSK + RZN2L` board. Therefore, the example temporary `R9A07G084M04GBG` for the device type. Updating e2studio or fsp could resolve the issue.
|
||||||
|
|
||||||
|
## Board Settings
|
||||||
|
This example program uses `xSPI0 boot`. Therefore, the board's switch and jumper settings required to run the sample program from external flash are shown below. For details on each setting, see the Renesas Starter Kit+ for RZN2L User's Manual.
|
||||||
|
|
||||||
|
|Project|SW4-1|SW4-2|SW4-3|SW4-4|SW4-7|
|
||||||
|
|:--|:--|:--|:--|:--|:--|
|
||||||
|
|xSPI0 boot mode|ON|ON|ON|ON|OFF|
|
||||||
|
|
||||||
|
|Project|CN8|CN24|
|
||||||
|
|:--|:--|:--|
|
||||||
|
|xSPI0 boot mode|Short 2-3|Short2-3|
|
||||||
|
|
||||||
## Setup Steps and Build wolfSSL Library
|
## Setup Steps and Build wolfSSL Library
|
||||||
|
|
||||||
@@ -63,7 +75,7 @@ Note1:\
|
|||||||
|
|
||||||
+ Click File->New->`RZ/N C/C++ FSP Project`.
|
+ Click File->New->`RZ/N C/C++ FSP Project`.
|
||||||
+ Enter project name `dummy_application`.
|
+ Enter project name `dummy_application`.
|
||||||
+ Select Board: to `RSK+RZN2L (RAM execution without flash memory)`.
|
+ Select Board: to `RSK+RZN2L (xSPI0 x1 boot mode)`.
|
||||||
+ Select Device: to `R9A07G084M04GBG`. Click Next.
|
+ Select Device: to `R9A07G084M04GBG`. Click Next.
|
||||||
+ Check to `Executable`
|
+ Check to `Executable`
|
||||||
+ Select FreeRTOS from RTOS selection. Click Finish.
|
+ Select FreeRTOS from RTOS selection. Click Finish.
|
||||||
@@ -93,31 +105,125 @@ Note1:\
|
|||||||
+ Click `Generate Project Content` on FSP configuration GUI
|
+ Click `Generate Project Content` on FSP configuration GUI
|
||||||
|
|
||||||
3.) Prepare UART to logging
|
3.) Prepare UART to logging
|
||||||
|
+ Download Example packages from [RZ/N2L Group Example program](https://www.renesas.com/us/en/document/scd/rzn2l-group-example-program?r=1622651) and unzip the archived file.
|
||||||
+ Download Sample package from [BACnet Start-Up](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rz-mpus/bacnet-start-rzn2l-rsk)
|
+ unzip RZN2L_RSK_sci_uart_Rev200.zip
|
||||||
|
+ unzip RZN2L_RSK_sci_uart_Rev200/basis/gcc/RZN2L_RSK_sci_uart_Rev200a.zip
|
||||||
|
+
|
||||||
+ Copy the following C source files from the project to src/serial_io folder of `test_RZN2L`\
|
+ Copy the following C source files from the project to src/serial_io folder of `test_RZN2L`\
|
||||||
um_serial_io_uart.c\
|
sio_char.h\
|
||||||
um_serial_io_task_writer.c\
|
siochar.c
|
||||||
um_serial_io_cfg.h\
|
|
||||||
um_common_api.h\
|
|
||||||
um_common_cfg.h\
|
|
||||||
um_serial_io.c\
|
|
||||||
um_serial_io.h\
|
|
||||||
um_serial_io_api.h\
|
|
||||||
um_serial_io_internal.h
|
|
||||||
|
|
||||||
|
4.) Prepare loader project
|
||||||
|
+ Download Example packages from [RZ/N2L Group Example of separating loader program and application program projects](https://www.renesas.com/en/document/scd/11691006?language=en&r=1622651) and unzip the archived file.
|
||||||
|
+ Unzip `RZN2L_loader_application\gcc\xspi0bootx1\Loader_application_projects.zip
|
||||||
|
+ Copy `RZN2L_bsp_xspi0bootx1_loader` and `RZN2L_bsp_xspi0bootx1_app` to `<wolfSSL>\IDE\Renesas\e2studio\RZN2L` folder
|
||||||
|
+ Import `RZN2L_bsp_xspi0bootx1_loader` from `e2studio`
|
||||||
|
|
||||||
+ Open um_serial_io_task_writer.c and re-name printf to uart_printf
|
## Build `test_RZN2L`
|
||||||
|
1). Modify `fsp/src/bsp/cmsis/Device/RENESAS/Source/cr/startup_core.c`:
|
||||||
|
ORIGINAL
|
||||||
|
```
|
||||||
|
BSP_TARGET_ARM BSP_ATTRIBUTE_STACKLESS void __Vectors (void)
|
||||||
|
{
|
||||||
|
__asm volatile (
|
||||||
|
" ldr pc,=Reset_Handler \n"
|
||||||
|
```
|
||||||
|
==>
|
||||||
|
|
||||||
3.) Build `test_RZN2L` project
|
MODIFIED
|
||||||
|
```
|
||||||
|
BSP_TARGET_ARM BSP_ATTRIBUTE_STACKLESS void __Vectors (void)
|
||||||
|
{
|
||||||
|
__asm volatile (
|
||||||
|
#if 0
|
||||||
|
" ldr pc,=Reset_Handler \n"
|
||||||
|
#else
|
||||||
|
" ldr pc,=local_system_init \n"
|
||||||
|
#endif
|
||||||
|
```
|
||||||
|
1). Modify `fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c`:
|
||||||
|
|
||||||
## Run `test_RZN2L`
|
ORIGINAL
|
||||||
|
```
|
||||||
|
void SystemInit (void)
|
||||||
|
{
|
||||||
|
#if BSP_CFG_EARLY_INIT
|
||||||
|
...
|
||||||
|
#if BSP_CFG_C_RUNTIME_INIT
|
||||||
|
|
||||||
1). Right click the project and Select menu `Debug` -> `Renesas GDB Hardware debugging`
|
/* Copy the loader data from external Flash to internal RAM. */
|
||||||
|
bsp_loader_data_init();
|
||||||
|
|
||||||
2). Select J-Link ARM and R9A07G084M04
|
/* Clear loader bss section in internal RAM. */
|
||||||
|
bsp_loader_bss_init();
|
||||||
|
#endif
|
||||||
|
...
|
||||||
|
#if !(BSP_CFG_RAM_EXECUTION)
|
||||||
|
|
||||||
3). Break at Entry point. Change `cpsr` register value from 0xXXXXX1yy to 0xXXXXX1da
|
/* Copy the application program from external Flash to internal RAM. */
|
||||||
|
bsp_copy_to_ram();
|
||||||
|
|
||||||
|
/* Clear bss section in internal RAM. */
|
||||||
|
bsp_application_bss_init();
|
||||||
|
#endif
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
==>
|
||||||
|
|
||||||
|
MODIFIED
|
||||||
|
```
|
||||||
|
BSP_TARGET_ARM void mpu_cache_init (void)
|
||||||
|
{
|
||||||
|
...
|
||||||
|
if BSP_CFG_C_RUNTIME_INIT && !defined(EXTERNAL_LOADER_APP)
|
||||||
|
|
||||||
|
/* Copy the loader data from external Flash to internal RAM. */
|
||||||
|
bsp_loader_data_init();
|
||||||
|
|
||||||
|
/* Clear loader bss section in internal RAM. */
|
||||||
|
bsp_loader_bss_init();
|
||||||
|
#endif
|
||||||
|
...
|
||||||
|
#if !(BSP_CFG_RAM_EXECUTION) && !defined(EXTERNAL_LOADER_APP)
|
||||||
|
|
||||||
|
/* Copy the application program from external Flash to internal RAM. */
|
||||||
|
/* bsp_copy_to_ram(); */
|
||||||
|
|
||||||
|
/* Clear bss section in internal RAM. */
|
||||||
|
bsp_application_bss_init();
|
||||||
|
#endif
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
2). Copy contenst of `fsp_xspi0_boot_app.ld` of `RZN2L_bsp_xspi0bootx1_app\script\` to `test_RZN2L\script\fsp_xspi0_boot.ld`
|
||||||
|
|
||||||
|
3). Right click the project and Select menu `Debug` -> `Renesas GDB Hardware debugging`
|
||||||
|
|
||||||
|
4). Select J-Link ARM and R9A07G084M04
|
||||||
|
5). Build `test_RZN2L`
|
||||||
|
|
||||||
|
## Build loader project
|
||||||
|
+ Modify `src/Flash_section.s`:
|
||||||
|
|
||||||
|
ORIGINAL
|
||||||
|
```
|
||||||
|
.incbin "../../RZN2L_bsp_xspi0bootx1_app/Debug/RZN2L_bsp_xspi0bootx1_app.bin"
|
||||||
|
```
|
||||||
|
|
||||||
|
==>
|
||||||
|
|
||||||
|
MODIFIED
|
||||||
|
```
|
||||||
|
.incbin "../../test/Debug/test_RZN2L.bin"
|
||||||
|
```
|
||||||
|
+ Modify `Load Image and Symbol`. Open `Debug Configuration` -> Open `Statup` tab -> Replace `RZN2L_bsp_xspi0bootx1_app.elf` to `test_RZN2L.elf`
|
||||||
|
|
||||||
|
## Run loader and `test_RZN2L`
|
||||||
|
+ Run the loader project
|
||||||
|
+ Loader download `test_RZN2L` binary from flash to system ram and execute it.
|
||||||
|
+ Note: It recommends to re-build the loader project when re-building `test_RZN2L`
|
||||||
|
|
||||||
## Run TLS 1.3 Client
|
## Run TLS 1.3 Client
|
||||||
1.) Enable `WOLFSSL_TLS13` macro in `user_settings.h`
|
1.) Enable `WOLFSSL_TLS13` macro in `user_settings.h`
|
||||||
|
@@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
/* Operating Environment and Threading */
|
/* Operating Environment and Threading */
|
||||||
#if defined(WOLFSSL_RENESAS_RSIP)
|
#if defined(WOLFSSL_RENESAS_RSIP)
|
||||||
|
#define WOLFSSL_RENESAS_RZFSP_VER 200
|
||||||
/* FSP SM stands for Flexible Software Package Security Module
|
/* FSP SM stands for Flexible Software Package Security Module
|
||||||
* WOLFSSL_RENESAS_FSPSM enables fundamental code when it uses.
|
* WOLFSSL_RENESAS_FSPSM enables fundamental code when it uses.
|
||||||
* e.g. Open/Close/Random generator
|
* e.g. Open/Close/Random generator
|
||||||
@@ -104,7 +105,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_RSIP_CRYPTONLY)
|
#if defined(WOLFSSL_RENESAS_RSIP_CRYPTONLY)
|
||||||
|
#define WOLF_CRYPTO_CB_RSA_PAD
|
||||||
#define WOLFSSL_KEY_GEN
|
#define WOLFSSL_KEY_GEN
|
||||||
|
#define RSA_MIN_SIZE 512
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int uart_printf (const char *__restrict format, ...);
|
int uart_printf (const char *__restrict format, ...);
|
||||||
@@ -112,4 +115,7 @@ int uart_printf (const char *__restrict format, ...);
|
|||||||
#define printf uart_printf
|
#define printf uart_printf
|
||||||
|
|
||||||
#define TEST_SLEEP() vTaskDelay(50)
|
#define TEST_SLEEP() vTaskDelay(50)
|
||||||
|
#if defined(WOLFSSL_RENESAS_RSIP)
|
||||||
#define CUSTOM_RAND_GENERATE_BLOCK wc_fspsm_GenerateRandBlock
|
#define CUSTOM_RAND_GENERATE_BLOCK wc_fspsm_GenerateRandBlock
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -10,7 +10,7 @@ EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/wolfssl_dummy.c
|
|||||||
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/test/wolf_client.c
|
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/test/wolf_client.c
|
||||||
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/test/wolf_server.c
|
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/test/wolf_server.c
|
||||||
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/test/wolfssl_rsip_unit_test.c
|
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/test/wolfssl_rsip_unit_test.c
|
||||||
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/serial_io/.gitignore
|
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/serial_io/app_print.c
|
||||||
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/wolfCrypt/.gitignore
|
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/wolfCrypt/.gitignore
|
||||||
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/wolfSSL/.gitignore
|
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/test/src/wolfSSL/.gitignore
|
||||||
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/common/wolfssl_demo.h
|
EXTRA_DIST+= IDE/Renesas/e2studio/RZN2L/common/wolfssl_demo.h
|
||||||
|
@@ -43,7 +43,7 @@
|
|||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.2133049482" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.2133049482" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="true" valueType="boolean"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1476755314" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1476755314" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="true" valueType="boolean"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1180377769" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1180377769" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="true" valueType="boolean"/>
|
||||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.deviceName.385566364" name="Device name" superClass="com.renesas.cdt.managedbuild.gcc.rz.deviceName" value="R9A07G084M04GBG" valueType="string"/>
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.deviceName.385566364" name="Device name" superClass="com.renesas.cdt.managedbuild.gcc.rz.deviceName" value="R9A07G084M08GBG" valueType="string"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.85130646" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.85130646" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.438363043" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.438363043" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
|
||||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.family.734485543" name="Arm family (-mcpu)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-r52" valueType="enumerated"/>
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.family.734485543" name="Arm family (-mcpu)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-r52" valueType="enumerated"/>
|
||||||
@@ -66,6 +66,7 @@
|
|||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.878213280" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.878213280" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
||||||
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
|
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
|
||||||
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
|
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
|
||||||
|
<listOptionValue builtIn="false" value="_RZN_ORDINAL=1"/>
|
||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include.1404470165" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include" valueType="includePath">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include.1404470165" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include" valueType="includePath">
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
||||||
@@ -96,17 +97,32 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value="".""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/bsp/mcu/all/cr}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/ca}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/cr}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/arm/CMSIS_5/CMSIS/Core_A/Include}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/primitive}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/sb_lib/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/rsip/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/otp/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/primitive}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/private}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/public}""/>
|
||||||
</option>
|
</option>
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.920863118" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.920863118" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.compilerC.15728131" name="Cross ARM C Compiler" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.compilerC">
|
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.compilerC.15728131" name="Cross ARM C Compiler" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.compilerC">
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.2054256250" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.2054256250" name="Language standard" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.std.c99" valueType="enumerated"/>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.737680653" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.737680653" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||||
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
|
<listOptionValue builtIn="false" value="EXTERNAL_LOADER_APP"/>
|
||||||
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RSIP"/>
|
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RSIP"/>
|
||||||
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RZN2L"/>
|
<listOptionValue builtIn="false" value="WOLFSSL_RENESAS_RZN2L"/>
|
||||||
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
|
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
|
||||||
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
|
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
|
||||||
|
<listOptionValue builtIn="false" value="_RZN_ORDINAL=1"/>
|
||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include.1392028571" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include" useByScannerDiscovery="false" valueType="includePath">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include.1392028571" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include" useByScannerDiscovery="false" valueType="includePath">
|
||||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/generate""/>
|
<listOptionValue builtIn="false" value=""${ProjDirPath}/generate""/>
|
||||||
@@ -142,6 +158,20 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value="".""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/bsp/mcu/all/cr}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/ca}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/cr}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/arm/CMSIS_5/CMSIS/Core_A/Include}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/primitive}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/sb_lib/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/rsip/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/otp/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/primitive}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/private}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/public}""/>
|
||||||
</option>
|
</option>
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1188589179" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.1188589179" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
@@ -154,7 +184,7 @@
|
|||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.1707323954" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.1707323954" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" value="true" valueType="boolean"/>
|
||||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint.2121320154" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint.2121320154" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript.35544828" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript" valueType="stringList">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript.35544828" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value=""fsp_ram_execution.ld""/>
|
<listOptionValue builtIn="false" value=""fsp_xspi0_boot.ld""/>
|
||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath.1169036561" name="User defined archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath" valueType="stringList">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath.1169036561" name="User defined archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}/script""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}/script""/>
|
||||||
@@ -436,6 +466,7 @@
|
|||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.rz.archives.includeFiles.1438841261" name="Standard archive (library) files (-l)" superClass="com.renesas.cdt.managedbuild.gcc.rz.archives.includeFiles" valueType="stringList"/>
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.rz.archives.includeFiles.1438841261" name="Standard archive (library) files (-l)" superClass="com.renesas.cdt.managedbuild.gcc.rz.archives.includeFiles" valueType="stringList"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnosys.1028106860" name="Do not use syscalls (--specs=nosys.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnosys" value="false" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnosys.1028106860" name="Do not use syscalls (--specs=nosys.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnosys" value="false" valueType="boolean"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.useprintffloat.584424940" name="Use float with nano printf (-u _printf_float)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.useprintffloat" value="false" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.useprintffloat.584424940" name="Use float with nano printf (-u _printf_float)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.useprintffloat" value="false" valueType="boolean"/>
|
||||||
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.usenewlibnano.2085931869" name="Use newlib-nano (--specs=nano.specs)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.usenewlibnano" value="true" valueType="boolean"/>
|
||||||
<inputType id="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c.1165207646" superClass="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c">
|
<inputType id="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c.1165207646" superClass="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c">
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(LIBRARY_GENERATOR_OUTPUTTYPE_OUTPUTS)"/>
|
<additionalInput kind="additionalinputdependency" paths="$(LIBRARY_GENERATOR_OUTPUTTYPE_OUTPUTS)"/>
|
||||||
@@ -448,12 +479,16 @@
|
|||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.1744364271" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.1744364271" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" value="true" valueType="boolean"/>
|
||||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint.1291406965" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint.1291406965" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript.310553223" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript" valueType="stringList">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript.310553223" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value=""fsp_ram_execution.ld""/>
|
<listOptionValue builtIn="false" value=""fsp_xspi0_boot.ld""/>
|
||||||
</option>
|
</option>
|
||||||
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.usenewlibnano.803193311" name="Use newlib-nano (--specs=nano.specs)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.usenewlibnano" value="true" valueType="boolean"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver.1683309259" name="Cross ARM GNU Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver"/>
|
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver.1683309259" name="Cross ARM GNU Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver"/>
|
||||||
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.flash.495323055" name="Cross ARM GNU Create Flash Image" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.flash">
|
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.flash.495323055" name="Cross ARM GNU Create Flash Image" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.flash">
|
||||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.flash.choice.1427749577" name="Output file format (-O)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.flash.choice" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.srec" valueType="enumerated"/>
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.flash.choice.1427749577" name="Output file format (-O)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.flash.choice" value="ilg.gnuarmeclipse.managedbuild.cross.option.createflash.choice.binary" valueType="enumerated"/>
|
||||||
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.flash.other.182390017" name="Other flags" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.flash.other" valueType="stringList">
|
||||||
|
<listOptionValue builtIn="false" value="--gap-fill 0xff"/>
|
||||||
|
</option>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.listing.1833581304" name="Cross ARM GNU Create Listing" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.listing">
|
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.listing.1833581304" name="Cross ARM GNU Create Listing" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.listing">
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.421010994" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source.421010994" name="Display source (--source|-S)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.createlisting.source" value="true" valueType="boolean"/>
|
||||||
@@ -784,7 +819,7 @@
|
|||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.926371065" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop.926371065" name="Warn if suspicious logical ops (-Wlogical-op)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.logicalop" value="true" valueType="boolean"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1328296477" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn.1328296477" name="Warn if struct is returned (-Wagreggate-return)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.agreggatereturn" value="true" valueType="boolean"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1500121997" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal.1500121997" name="Warn if floats are compared as equal (-Wfloat-equal)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.warnings.floatequal" value="true" valueType="boolean"/>
|
||||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.deviceName.1664475593" name="Device name" superClass="com.renesas.cdt.managedbuild.gcc.rz.deviceName" value="R9A07G084M04GBG" valueType="string"/>
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.deviceName.1664475593" name="Device name" superClass="com.renesas.cdt.managedbuild.gcc.rz.deviceName" value="R9A07G084M08GBG" valueType="string"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.75533497" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name.75533497" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.toolchain.name" value="GNU Tools for ARM Embedded Processors" valueType="string"/>
|
||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.349814325" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.349814325" name="Architecture" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.architecture" value="ilg.gnuarmeclipse.managedbuild.cross.option.architecture.arm" valueType="enumerated"/>
|
||||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.family.2115333421" name="Arm family (-mcpu)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-r52" valueType="enumerated"/>
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.family.2115333421" name="Arm family (-mcpu)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.family" value="ilg.gnuarmeclipse.managedbuild.cross.option.arm.target.mcpu.cortex-r52" valueType="enumerated"/>
|
||||||
@@ -807,6 +842,7 @@
|
|||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.305259748" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs.305259748" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.defs" valueType="definedSymbols">
|
||||||
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
|
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
|
||||||
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
|
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
|
||||||
|
<listOptionValue builtIn="false" value="_RZN_ORDINAL=1"/>
|
||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include.1749182888" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include" valueType="includePath">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include.1749182888" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.assembler.include" valueType="includePath">
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/>
|
||||||
@@ -837,6 +873,20 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value="".""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/bsp/mcu/all/cr}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/ca}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/cr}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/arm/CMSIS_5/CMSIS/Core_A/Include}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/primitive}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/sb_lib/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/rsip/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/otp/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/primitive}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/private}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/public}""/>
|
||||||
</option>
|
</option>
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.456671311" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input.456671311" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.assembler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
@@ -845,6 +895,7 @@
|
|||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.856881917" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs.856881917" name="Defined symbols (-D)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
|
||||||
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
|
<listOptionValue builtIn="false" value="_RENESAS_RZN_"/>
|
||||||
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
|
<listOptionValue builtIn="false" value="_RZN_CORE=CR52_0"/>
|
||||||
|
<listOptionValue builtIn="false" value="_RZN_ORDINAL=1"/>
|
||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include.1411892430" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include" useByScannerDiscovery="false" valueType="includePath">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include.1411892430" name="Include paths (-I)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.compiler.include" useByScannerDiscovery="false" valueType="includePath">
|
||||||
<listOptionValue builtIn="false" value=""${ProjDirPath}/generate""/>
|
<listOptionValue builtIn="false" value=""${ProjDirPath}/generate""/>
|
||||||
@@ -877,6 +928,20 @@
|
|||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/sb_lib/inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/otp/inc}""/>
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip/rzt2n2/private/lib/rsip/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value="".""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/bsp/mcu/all/cr}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/ca}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/rm_freertos_port/cr}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/arm/CMSIS_5/CMSIS/Core_A/Include}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/primitive}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/sb_lib/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/rsip/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/otp/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private/lib/inc}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/rzt_rzn/private}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/primitive}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/private}""/>
|
||||||
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/rzn/fsp/src/r_rsip_protected/src/common/public}""/>
|
||||||
</option>
|
</option>
|
||||||
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.179835817" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
<inputType id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input.179835817" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.input"/>
|
||||||
</tool>
|
</tool>
|
||||||
@@ -889,11 +954,12 @@
|
|||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.2140522055" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano.2140522055" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.linker.usenewlibnano" value="true" valueType="boolean"/>
|
||||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint.2072792159" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint.2072792159" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript.1599876065" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript" valueType="stringList">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript.1599876065" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linkerscript" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value=""fsp_ram_execution.ld""/>
|
<listOptionValue builtIn="false" value=""fsp_xspi0_boot.ld""/>
|
||||||
</option>
|
</option>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath.1202803303" name="User defined archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath" valueType="stringList">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath.1202803303" name="User defined archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rz.archives.userIncludePath" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}/script""/>
|
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}/script""/>
|
||||||
</option>
|
</option>
|
||||||
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.usenewlibnano.885232888" name="Use newlib-nano (--specs=nano.specs)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.usenewlibnano" value="true" valueType="boolean"/>
|
||||||
<inputType id="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c.899703779" superClass="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c">
|
<inputType id="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c.899703779" superClass="com.renesas.cdt.managedbuild.gcc.rz.inputType.linker.c">
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||||
<additionalInput kind="additionalinputdependency" paths="$(LIBRARY_GENERATOR_OUTPUTTYPE_OUTPUTS)"/>
|
<additionalInput kind="additionalinputdependency" paths="$(LIBRARY_GENERATOR_OUTPUTTYPE_OUTPUTS)"/>
|
||||||
@@ -906,8 +972,9 @@
|
|||||||
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.1225392189" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" value="true" valueType="boolean"/>
|
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano.1225392189" name="Use newlib-nano (--specs=nano.specs)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.cpp.linker.usenewlibnano" value="true" valueType="boolean"/>
|
||||||
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint.827697822" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint.827697822" name="Entry Point:" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.entrypoint" value="-Wl,-esystem_init" valueType="string"/>
|
||||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript.963403495" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript" valueType="stringList">
|
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript.963403495" name="Script files (-T)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.cpp.linkerscript" valueType="stringList">
|
||||||
<listOptionValue builtIn="false" value=""fsp_ram_execution.ld""/>
|
<listOptionValue builtIn="false" value=""fsp_xspi0_boot.ld""/>
|
||||||
</option>
|
</option>
|
||||||
|
<option id="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.usenewlibnano.1785719899" name="Use newlib-nano (--specs=nano.specs)" superClass="com.renesas.cdt.managedbuild.gcc.rz.option.linker.cpp.usenewlibnano" value="true" valueType="boolean"/>
|
||||||
</tool>
|
</tool>
|
||||||
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver.1356408537" name="Cross ARM GNU Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver"/>
|
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver.1356408537" name="Cross ARM GNU Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.archiver"/>
|
||||||
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.flash.1736780445" name="Cross ARM GNU Create Flash Image" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.flash">
|
<tool id="com.renesas.cdt.managedbuild.gcc.rz.tool.flash.1736780445" name="Cross ARM GNU Create Flash Image" superClass="com.renesas.cdt.managedbuild.gcc.rz.tool.flash">
|
||||||
|
@@ -1,243 +0,0 @@
|
|||||||
/*
|
|
||||||
Linker File for Renesas RZ/N2L FSP
|
|
||||||
*/
|
|
||||||
|
|
||||||
MEMORY
|
|
||||||
{
|
|
||||||
ATCM : ORIGIN = 0x00000000, LENGTH = 0x00020000
|
|
||||||
BTCM : ORIGIN = 0x00100000, LENGTH = 0x00020000
|
|
||||||
SYSTEM_RAM : ORIGIN = 0x10000000, LENGTH = 0x00180000
|
|
||||||
SYSTEM_RAM_MIRROR : ORIGIN = 0x30000000, LENGTH = 0x00180000
|
|
||||||
xSPI0_CS0_SPACE_MIRROR : ORIGIN = 0x40000000, LENGTH = 0x04000000
|
|
||||||
xSPI0_CS1_SPACE_MIRROR : ORIGIN = 0x44000000, LENGTH = 0x04000000
|
|
||||||
xSPI1_CS0_SPACE_MIRROR : ORIGIN = 0x48000000, LENGTH = 0x04000000
|
|
||||||
xSPI1_CS1_SPACE_MIRROR : ORIGIN = 0x4C000000, LENGTH = 0x04000000
|
|
||||||
CS0_SPACE_MIRROR : ORIGIN = 0x50000000, LENGTH = 0x04000000
|
|
||||||
CS2_SPACE_MIRROR : ORIGIN = 0x54000000, LENGTH = 0x04000000
|
|
||||||
CS3_SPACE_MIRROR : ORIGIN = 0x58000000, LENGTH = 0x04000000
|
|
||||||
CS5_SPACE_MIRROR : ORIGIN = 0x5C000000, LENGTH = 0x04000000
|
|
||||||
xSPI0_CS0_SPACE : ORIGIN = 0x60000000, LENGTH = 0x04000000
|
|
||||||
xSPI0_CS1_SPACE : ORIGIN = 0x64000000, LENGTH = 0x04000000
|
|
||||||
xSPI1_CS0_SPACE : ORIGIN = 0x68000000, LENGTH = 0x04000000
|
|
||||||
xSPI1_CS1_SPACE : ORIGIN = 0x6C000000, LENGTH = 0x04000000
|
|
||||||
CS0_SPACE : ORIGIN = 0x70000000, LENGTH = 0x04000000
|
|
||||||
CS2_SPACE : ORIGIN = 0x74000000, LENGTH = 0x04000000
|
|
||||||
CS3_SPACE : ORIGIN = 0x78000000, LENGTH = 0x04000000
|
|
||||||
CS5_SPACE : ORIGIN = 0x7C000000, LENGTH = 0x04000000
|
|
||||||
}
|
|
||||||
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.loader_text 0x00102000 : AT (0x00102000)
|
|
||||||
{
|
|
||||||
*(.loader_text)
|
|
||||||
*/fsp/src/bsp/cmsis/Device/RENESAS/Source/*.o(.text*)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_clocks.o(.text*)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_irq.o(.text*)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_register_protection.o(.text*)
|
|
||||||
*/fsp/src/r_ioport/r_ioport.o(.text*)
|
|
||||||
KEEP(*(.warm_start))
|
|
||||||
} > BTCM
|
|
||||||
.loader_data :
|
|
||||||
{
|
|
||||||
*/fsp/src/bsp/cmsis/Device/RENESAS/Source/*.o(.data*)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_clocks.o(.data*)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_irq.o(.data*)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_register_protection.o(.data*)
|
|
||||||
*/fsp/src/r_ioport/r_ioport.o(.data*)
|
|
||||||
__loader_bss_start = .;
|
|
||||||
*/fsp/src/bsp/cmsis/Device/RENESAS/Source/*.o(.bss*)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_clocks.o(.bss*)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_irq.o(.bss*)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_register_protection.o(.bss*)
|
|
||||||
*/fsp/src/r_ioport/r_ioport.o(.bss*)
|
|
||||||
*/fsp/src/bsp/cmsis/Device/RENESAS/Source/*.o(COMMON)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_clocks.o(COMMON)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_irq.o(COMMON)
|
|
||||||
*/fsp/src/bsp/mcu/all/bsp_register_protection.o(.COMMON)
|
|
||||||
*/fsp/src/r_ioport/r_ioport.o(.COMMON)
|
|
||||||
__loader_bss_end = . ;
|
|
||||||
} > BTCM
|
|
||||||
.intvec 0x00000000 : AT (0x00000000)
|
|
||||||
{
|
|
||||||
_fvector_start = .;
|
|
||||||
KEEP(*(.intvec))
|
|
||||||
_fvector_end = .;
|
|
||||||
} > ATCM
|
|
||||||
.text 0x30000000 : AT (0x30000000)
|
|
||||||
{
|
|
||||||
_text_start = .;
|
|
||||||
*(.text*)
|
|
||||||
|
|
||||||
KEEP(*(.init))
|
|
||||||
KEEP(*(.fini))
|
|
||||||
|
|
||||||
/* .ctors */
|
|
||||||
*crtbegin.o(.ctors)
|
|
||||||
*crtbegin?.o(.ctors)
|
|
||||||
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
|
|
||||||
*(SORT(.ctors.*))
|
|
||||||
*(.ctors)
|
|
||||||
_ctor_end = .;
|
|
||||||
|
|
||||||
/* .dtors */
|
|
||||||
*crtbegin.o(.dtors)
|
|
||||||
*crtbegin?.o(.dtors)
|
|
||||||
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
|
|
||||||
*(SORT(.dtors.*))
|
|
||||||
*(.dtors)
|
|
||||||
_dtor_end = .;
|
|
||||||
|
|
||||||
*(.rodata*)
|
|
||||||
_erodata = .;
|
|
||||||
KEEP(*(.eh_frame*))
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
.rvectors :
|
|
||||||
{
|
|
||||||
_rvectors_start = .;
|
|
||||||
KEEP(*(.rvectors))
|
|
||||||
_rvectors_end = .;
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
.ARM.extab :
|
|
||||||
{
|
|
||||||
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
__exidx_start = .;
|
|
||||||
.ARM.exidx :
|
|
||||||
{
|
|
||||||
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
__exidx_end = .;
|
|
||||||
.got :
|
|
||||||
{
|
|
||||||
*(.got)
|
|
||||||
*(.got.plt)
|
|
||||||
_text_end = .;
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
.data :
|
|
||||||
{
|
|
||||||
_data_start = .;
|
|
||||||
|
|
||||||
*(vtable)
|
|
||||||
*(.data.*)
|
|
||||||
*(.data)
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* preinit data */
|
|
||||||
PROVIDE_HIDDEN (__preinit_array_start = .);
|
|
||||||
KEEP(*(.preinit_array))
|
|
||||||
PROVIDE_HIDDEN (__preinit_array_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* init data */
|
|
||||||
PROVIDE_HIDDEN (__init_array_start = .);
|
|
||||||
KEEP(*(SORT(.init_array.*)))
|
|
||||||
KEEP(*(.init_array))
|
|
||||||
PROVIDE_HIDDEN (__init_array_end = .);
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
/* finit data */
|
|
||||||
PROVIDE_HIDDEN (__fini_array_start = .);
|
|
||||||
KEEP(*(SORT(.fini_array.*)))
|
|
||||||
KEEP(*(.fini_array))
|
|
||||||
PROVIDE_HIDDEN (__fini_array_end = .);
|
|
||||||
|
|
||||||
KEEP(*(.jcr*))
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
|
|
||||||
/* All data end */
|
|
||||||
_data_end = .;
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
.bss :
|
|
||||||
{
|
|
||||||
. = ALIGN(4);
|
|
||||||
__bss_start__ = .;
|
|
||||||
_bss = .;
|
|
||||||
*(.bss*)
|
|
||||||
*(COMMON)
|
|
||||||
. = ALIGN(4);
|
|
||||||
__bss_end__ = .;
|
|
||||||
_ebss = .;
|
|
||||||
_end = .;
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
.heap (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
__HeapBase = .;
|
|
||||||
/* Place the STD heap here. */
|
|
||||||
KEEP(*(.heap))
|
|
||||||
__HeapLimit = .;
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
.thread_stack (NOLOAD):
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
__ThreadStackBase = .;
|
|
||||||
/* Place the Thread stacks here. */
|
|
||||||
KEEP(*(.stack*))
|
|
||||||
__ThreadStackLimit = .;
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
.sys_stack (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
__SysStackBase = .;
|
|
||||||
/* Place the sys_stack here. */
|
|
||||||
KEEP(*(.sys_stack))
|
|
||||||
__SysStackLimit = .;
|
|
||||||
} > BTCM
|
|
||||||
.svc_stack (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
__SvcStackBase = .;
|
|
||||||
/* Place the svc_stack here. */
|
|
||||||
KEEP(*(.svc_stack))
|
|
||||||
__SvcStackLimit = .;
|
|
||||||
} > BTCM
|
|
||||||
.irq_stack (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
__IrqStackBase = .;
|
|
||||||
/* Place the irq_stack here. */
|
|
||||||
KEEP(*(.irq_stack))
|
|
||||||
__IrqStackLimit = .;
|
|
||||||
} > BTCM
|
|
||||||
.fiq_stack (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
__FiqStackBase = .;
|
|
||||||
/* Place the fiq_stack here. */
|
|
||||||
KEEP(*(.fiq_stack))
|
|
||||||
__FiqStackLimit = .;
|
|
||||||
} > BTCM
|
|
||||||
.und_stack (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
__UndStackBase = .;
|
|
||||||
/* Place the und_stack here. */
|
|
||||||
KEEP(*(.und_stack))
|
|
||||||
__UndStackLimit = .;
|
|
||||||
} > BTCM
|
|
||||||
.abt_stack (NOLOAD) :
|
|
||||||
{
|
|
||||||
. = ALIGN(8);
|
|
||||||
__AbtStackBase = .;
|
|
||||||
/* Place the abt_stack here. */
|
|
||||||
KEEP(*(.abt_stack))
|
|
||||||
__AbtStackLimit = .;
|
|
||||||
} > BTCM
|
|
||||||
.shared_noncache_buffer 0x300C0000 : AT (0x300C0000)
|
|
||||||
{
|
|
||||||
. = ALIGN(32);
|
|
||||||
_sncbuffer_start = .;
|
|
||||||
KEEP(*(.shared_noncache_buffer*))
|
|
||||||
_sncbuffer_end = .;
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
.noncache_buffer 0x30100000 : AT (0x30100000)
|
|
||||||
{
|
|
||||||
. = ALIGN(32);
|
|
||||||
_ncbuffer_start = .;
|
|
||||||
KEEP(*(.noncache_buffer*))
|
|
||||||
_ncbuffer_end = .;
|
|
||||||
} > SYSTEM_RAM_MIRROR
|
|
||||||
}
|
|
||||||
|
|
54
IDE/Renesas/e2studio/RZN2L/test/src/local_system_init.c
Normal file
54
IDE/Renesas/e2studio/RZN2L/test/src/local_system_init.c
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
/* local_system_init.c
|
||||||
|
*
|
||||||
|
* Custom configuration for wolfCrypt/wolfSSL.
|
||||||
|
* Enabled via WOLFSSL_USER_SETTINGS.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Copyright (C) 2024 wolfSSL Inc.
|
||||||
|
*
|
||||||
|
* This file is part of wolfBoot.
|
||||||
|
*
|
||||||
|
* wolfBoot is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* wolfBoot is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
|
*/
|
||||||
|
#include "bsp_api.h"
|
||||||
|
|
||||||
|
void local_system_init (void);
|
||||||
|
|
||||||
|
BSP_TARGET_ARM void local_system_init (void)
|
||||||
|
{
|
||||||
|
#if 1
|
||||||
|
/* This software loops are only needed when debugging. */
|
||||||
|
__asm volatile (
|
||||||
|
" mov r0, #0 \n"
|
||||||
|
" movw r1, #0xf07f \n"
|
||||||
|
" movt r1, #0x2fa \n"
|
||||||
|
"software_loop: \n"
|
||||||
|
" adds r0, #1 \n"
|
||||||
|
" cmp r0, r1 \n"
|
||||||
|
" bne software_loop \n"
|
||||||
|
::: "memory");
|
||||||
|
#endif
|
||||||
|
__asm volatile (
|
||||||
|
"set_vbar: \n"
|
||||||
|
" LDR r0, =__Vectors \n"
|
||||||
|
" MCR p15, #0, r0, c12, c0, #0 \n" /* Write r0 to VBAR */
|
||||||
|
::: "memory");
|
||||||
|
|
||||||
|
__asm volatile (
|
||||||
|
"jump_stack_init: \n"
|
||||||
|
" ldr r0, =stack_init \n"
|
||||||
|
" blx r0 \n" /* Jump to stack_init */
|
||||||
|
);
|
||||||
|
}
|
@@ -20,13 +20,10 @@
|
|||||||
*/
|
*/
|
||||||
#include "rzn2l_tst_thread.h"
|
#include "rzn2l_tst_thread.h"
|
||||||
|
|
||||||
#include "um_common_cfg.h"
|
|
||||||
#include "um_common_api.h"
|
|
||||||
#include "um_serial_io_api.h"
|
|
||||||
#include "um_serial_io.h"
|
|
||||||
|
|
||||||
#include "wolfssl_demo.h"
|
#include "wolfssl_demo.h"
|
||||||
#include "user_settings.h"
|
#include "user_settings.h"
|
||||||
|
#include "sio_char.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
typedef struct func_args {
|
typedef struct func_args {
|
||||||
int argc;
|
int argc;
|
||||||
@@ -34,23 +31,20 @@ typedef struct func_args {
|
|||||||
int return_code;
|
int return_code;
|
||||||
} func_args;
|
} func_args;
|
||||||
|
|
||||||
static serial_io_instance_ctrl_t g_serial_io0_ctrl;
|
|
||||||
static serial_io_cfg_t const g_serial_io0_cfg =
|
|
||||||
{
|
|
||||||
.p_uart_instance = &g_uart0,
|
|
||||||
};
|
|
||||||
serial_io_instance_t const g_serial_io0 =
|
|
||||||
{
|
|
||||||
.p_ctrl = &g_serial_io0_ctrl,
|
|
||||||
.p_cfg = &g_serial_io0_cfg,
|
|
||||||
.p_api = &g_serial_io_on_serial_io,
|
|
||||||
};
|
|
||||||
|
|
||||||
FSP_CPP_HEADER
|
FSP_CPP_HEADER
|
||||||
void R_BSP_WarmStart(bsp_warm_start_event_t event)
|
void R_BSP_WarmStart(bsp_warm_start_event_t event)
|
||||||
BSP_PLACE_IN_SECTION(".warm_start");
|
BSP_PLACE_IN_SECTION(".warm_start");
|
||||||
FSP_CPP_FOOTER
|
FSP_CPP_FOOTER
|
||||||
|
|
||||||
|
void user_uart_callback (uart_callback_args_t * p_args);
|
||||||
|
void Clr_CallbackCtx(FSPSM_ST *g);
|
||||||
|
void RSIP_KeyGeneration(FSPSM_ST *g);
|
||||||
|
|
||||||
|
uint32_t volatile g_tx_complete = 0;
|
||||||
|
uint32_t volatile g_rx_complete = 0;
|
||||||
|
uint32_t g_ofband_index = 0;
|
||||||
|
uint8_t g_ofband_received[TRANSFER_LENGTH];
|
||||||
|
|
||||||
void R_BSP_WarmStart(bsp_warm_start_event_t event)
|
void R_BSP_WarmStart(bsp_warm_start_event_t event)
|
||||||
{
|
{
|
||||||
if (BSP_WARM_START_RESET == event) {
|
if (BSP_WARM_START_RESET == event) {
|
||||||
@@ -61,8 +55,47 @@ void R_BSP_WarmStart(bsp_warm_start_event_t event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(TLS_CLIENT) || \
|
void user_uart_callback (uart_callback_args_t* p_args)
|
||||||
defined(TLS_SERVER)
|
{
|
||||||
|
/* Handle the UART event */
|
||||||
|
switch (p_args->event)
|
||||||
|
{
|
||||||
|
/* Received a character */
|
||||||
|
case UART_EVENT_RX_CHAR:
|
||||||
|
/* Only put the next character in the receive
|
||||||
|
* buffer if there is space for it
|
||||||
|
*/
|
||||||
|
if (sizeof(g_ofband_received) > g_ofband_index)
|
||||||
|
{
|
||||||
|
/* Write either the next one or two bytes
|
||||||
|
* depending on the receive data size
|
||||||
|
*/
|
||||||
|
if ((UART_DATA_BITS_7 == g_uart0_cfg.data_bits) ||
|
||||||
|
(UART_DATA_BITS_8 == g_uart0_cfg.data_bits))
|
||||||
|
{
|
||||||
|
g_ofband_received[g_ofband_index++] =
|
||||||
|
(uint8_t) p_args->data;
|
||||||
|
} else {
|
||||||
|
uint16_t * p_dest =
|
||||||
|
(uint16_t *)&g_ofband_received[g_ofband_index];
|
||||||
|
*p_dest = (uint16_t) p_args->data;
|
||||||
|
g_ofband_index += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/* Receive complete */
|
||||||
|
case UART_EVENT_RX_COMPLETE:
|
||||||
|
g_rx_complete = 1;
|
||||||
|
break;
|
||||||
|
/* Transmit complete */
|
||||||
|
case UART_EVENT_TX_COMPLETE:
|
||||||
|
g_tx_complete = 1;
|
||||||
|
break;
|
||||||
|
default:break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(TLS_CLIENT) || defined(TLS_SERVER)
|
||||||
extern uint8_t g_ether0_mac_address[6];
|
extern uint8_t g_ether0_mac_address[6];
|
||||||
const byte ucIPAddress[4] = { 192, 168, 11, 241 };
|
const byte ucIPAddress[4] = { 192, 168, 11, 241 };
|
||||||
const byte ucNetMask[4] = { 255, 255, 255, 0 };
|
const byte ucNetMask[4] = { 255, 255, 255, 0 };
|
||||||
@@ -82,9 +115,6 @@ void R_BSP_WarmStart(bsp_warm_start_event_t event)
|
|||||||
FSPSM_ST guser_PKCbInfo;
|
FSPSM_ST guser_PKCbInfo;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void Clr_CallbackCtx(FSPSM_ST *g);
|
|
||||||
void RSIP_KeyGeneration(FSPSM_ST *g);
|
|
||||||
|
|
||||||
void RSIP_KeyGeneration(FSPSM_ST *g)
|
void RSIP_KeyGeneration(FSPSM_ST *g)
|
||||||
{
|
{
|
||||||
fsp_err_t rsip_error_code = FSP_SUCCESS;
|
fsp_err_t rsip_error_code = FSP_SUCCESS;
|
||||||
@@ -201,36 +231,16 @@ void wolfSSL_TLS_cleanup()
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
serial_io_instance_t const * gp_serial_io0 = &g_serial_io0;
|
|
||||||
static void serial_init()
|
|
||||||
{
|
|
||||||
usr_err_t usr_err;
|
|
||||||
|
|
||||||
/** Open Serial I/O module. */
|
|
||||||
usr_err = gp_serial_io0->p_api->open
|
|
||||||
(gp_serial_io0->p_ctrl, gp_serial_io0->p_cfg );
|
|
||||||
if( USR_SUCCESS != usr_err )
|
|
||||||
{
|
|
||||||
USR_DEBUG_BLOCK_CPU();
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Start Serial I/O module. */
|
|
||||||
usr_err = gp_serial_io0->p_api->start( gp_serial_io0->p_ctrl );
|
|
||||||
if( USR_SUCCESS != usr_err )
|
|
||||||
{
|
|
||||||
USR_DEBUG_BLOCK_CPU();
|
|
||||||
}
|
|
||||||
printf( " Started Serial I/O interface." );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* rzn2l_tst_thread entry function */
|
/* rzn2l_tst_thread entry function */
|
||||||
/* pvParameters contains TaskHandle_t */
|
/* pvParameters contains TaskHandle_t */
|
||||||
void rzn2l_tst_thread_entry(void *pvParameters)
|
void rzn2l_tst_thread_entry(void *pvParameters)
|
||||||
{
|
{
|
||||||
FSP_PARAMETER_NOT_USED (pvParameters);
|
FSP_PARAMETER_NOT_USED (pvParameters);
|
||||||
|
fsp_err_t err;
|
||||||
|
(void)err;
|
||||||
serial_init();
|
/* Open the transfer instance with initial configuration. */
|
||||||
|
err = R_SCI_UART_Open(&g_uart0_ctrl, &g_uart0_cfg);
|
||||||
|
|
||||||
#if defined(UNIT_TEST)
|
#if defined(UNIT_TEST)
|
||||||
|
|
||||||
@@ -368,8 +378,8 @@ void rzn2l_tst_thread_entry(void *pvParameters)
|
|||||||
TCPInit();
|
TCPInit();
|
||||||
|
|
||||||
int TCP_connect_retry = 0;
|
int TCP_connect_retry = 0;
|
||||||
|
printf("\n");
|
||||||
printf("\n Start TLS Connection to %s port(%d)\n", SERVER_IP, DEFAULT_PORT);
|
printf("Start TLS Connection to %s port(%d)\n", SERVER_IP, DEFAULT_PORT);
|
||||||
wolfSSL_TLS_client_init();
|
wolfSSL_TLS_client_init();
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
@@ -1,2 +0,0 @@
|
|||||||
*
|
|
||||||
!.gitignore
|
|
83
IDE/Renesas/e2studio/RZN2L/test/src/serial_io/app_print.c
Normal file
83
IDE/Renesas/e2studio/RZN2L/test/src/serial_io/app_print.c
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
/* app_print.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006-2025 wolfSSL Inc.
|
||||||
|
*
|
||||||
|
* This file is part of wolfSSL.
|
||||||
|
*
|
||||||
|
* wolfSSL is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* wolfSSL is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||||
|
*/
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
#include "hal_data.h"
|
||||||
|
|
||||||
|
static char g_uart_buf[256]; ///< uart tx buffer
|
||||||
|
extern volatile uint32_t g_tx_complete;
|
||||||
|
void uart_printf( const char *format, ... );
|
||||||
|
|
||||||
|
void uart_printf( const char *format, ... )
|
||||||
|
{
|
||||||
|
va_list va;
|
||||||
|
uint32_t bytes;
|
||||||
|
uint32_t offset, len, skip;
|
||||||
|
char chara;
|
||||||
|
const char ch = '\r';
|
||||||
|
char* p;
|
||||||
|
|
||||||
|
va_start( va, format );
|
||||||
|
bytes = (uint32_t)vsprintf(g_uart_buf, format, va);
|
||||||
|
va_end( va );
|
||||||
|
|
||||||
|
if (bytes > 0) {
|
||||||
|
p = &g_uart_buf[0];
|
||||||
|
offset = 0;
|
||||||
|
skip = 0;
|
||||||
|
|
||||||
|
do {
|
||||||
|
len = 0;
|
||||||
|
skip = 0;
|
||||||
|
for (;offset < bytes; offset++, len++) {
|
||||||
|
chara = g_uart_buf[offset];
|
||||||
|
if ('\n' == chara) {
|
||||||
|
skip = 1;
|
||||||
|
len += 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if ('\r' == chara && (offset + 1) < bytes &&
|
||||||
|
'\n' == g_uart_buf[offset + 1]){
|
||||||
|
skip = 2;
|
||||||
|
len += 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* write buffer without LF */
|
||||||
|
R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t*)p, len);
|
||||||
|
while(!g_tx_complete);
|
||||||
|
g_tx_complete = 0;
|
||||||
|
if (skip > 0) {
|
||||||
|
R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t*)&ch, 1);
|
||||||
|
while(!g_tx_complete);
|
||||||
|
}
|
||||||
|
p += (len + skip);
|
||||||
|
offset += skip;
|
||||||
|
} while(offset < bytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
g_tx_complete = 0;
|
||||||
|
}
|
@@ -81,7 +81,7 @@ int rsip_crypt_sha_multitest();
|
|||||||
int rsip_crypt_test();
|
int rsip_crypt_test();
|
||||||
|
|
||||||
void Clr_CallbackCtx(FSPSM_ST *g);
|
void Clr_CallbackCtx(FSPSM_ST *g);
|
||||||
|
void RSIP_KeyGeneration(FSPSM_ST *g);
|
||||||
FSPSM_ST gCbInfo;
|
FSPSM_ST gCbInfo;
|
||||||
FSPSM_ST gCbInfo_a; /* for multi testing */
|
FSPSM_ST gCbInfo_a; /* for multi testing */
|
||||||
|
|
||||||
@@ -656,7 +656,6 @@ static int rsip_rsa_test(int prnt, int keySize)
|
|||||||
const char inStr2[] = TEST_STRING2;
|
const char inStr2[] = TEST_STRING2;
|
||||||
const word32 inLen = (word32)TEST_STRING_SZ;
|
const word32 inLen = (word32)TEST_STRING_SZ;
|
||||||
const word32 outSz = RSA_TEST_BYTES;
|
const word32 outSz = RSA_TEST_BYTES;
|
||||||
word32 out_actual_len = 0;
|
|
||||||
byte *in = NULL;
|
byte *in = NULL;
|
||||||
byte *in2 = NULL;
|
byte *in2 = NULL;
|
||||||
byte *out= NULL;
|
byte *out= NULL;
|
||||||
@@ -738,6 +737,7 @@ static int rsip_rsa_SignVerify_test(int prnt, int keySize)
|
|||||||
const char inStr2[] = TEST_STRING2;
|
const char inStr2[] = TEST_STRING2;
|
||||||
const word32 inLen = (word32)TEST_STRING_SZ;
|
const word32 inLen = (word32)TEST_STRING_SZ;
|
||||||
const word32 outSz = RSA_TEST_BYTES;
|
const word32 outSz = RSA_TEST_BYTES;
|
||||||
|
(void)sigSz;
|
||||||
|
|
||||||
byte *in = NULL;
|
byte *in = NULL;
|
||||||
byte *in2 = NULL;
|
byte *in2 = NULL;
|
||||||
@@ -1207,33 +1207,44 @@ int rsip_crypt_test()
|
|||||||
devId1 = ret;
|
devId1 = ret;
|
||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
#if RSA_MIN_SIZE < 1024
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
printf(" rsip_rsa_test(512)(this will be done"
|
printf(" rsip_rsa_test(512)(this will be done"
|
||||||
" by SW because RSIP doesn't support 512 bits key size.)");
|
" by SW because RSIP doesn't support 512 bits key size.)");
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapri1024_installedkey_set = 0;
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapub1024_installedkey_set = 0;
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapri2048_installedkey_set = 0;
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapub2048_installedkey_set = 0;
|
||||||
ret = rsip_rsa_test(1, 512);
|
ret = rsip_rsa_test(1, 512);
|
||||||
RESULT_STR(ret)
|
RESULT_STR(ret)
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
#if RSA_MIN_SIZE <= 1024
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
printf(" rsip_rsa_test(1024)");
|
printf(" rsip_rsa_test(1024)");
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapri1024_installedkey_set = 1;
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapub1024_installedkey_set = 1;
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapri2048_installedkey_set = 0;
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapub2048_installedkey_set = 0;
|
||||||
ret = rsip_rsa_test(1, 1024);
|
ret = rsip_rsa_test(1, 1024);
|
||||||
RESULT_STR(ret)
|
RESULT_STR(ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret == 0) {
|
|
||||||
printf(" rsip_rsa_test(2048)");
|
|
||||||
ret = rsip_rsa_test(1, 2048);
|
|
||||||
RESULT_STR(ret)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
gCbInfo.hash_type = RSIP_HASH_TYPE_SHA256 ;
|
gCbInfo.hash_type = RSIP_HASH_TYPE_SHA256 ;
|
||||||
printf(" rsip_rsa_SignVerify_test(1024)");
|
printf(" rsip_rsa_SignVerify_test(1024)");
|
||||||
ret = rsip_rsa_SignVerify_test(1, 1024);
|
ret = rsip_rsa_SignVerify_test(1, 1024);
|
||||||
RESULT_STR(ret)
|
RESULT_STR(ret)
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
if (ret == 0) {
|
||||||
|
printf(" rsip_rsa_test(2048)");
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapri1024_installedkey_set = 0;
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapub1024_installedkey_set = 0;
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapri2048_installedkey_set = 1;
|
||||||
|
gCbInfo.keyflgs_crypt.bits.rsapub2048_installedkey_set = 1;
|
||||||
|
ret = rsip_rsa_test(1, 2048);
|
||||||
|
RESULT_STR(ret)
|
||||||
|
}
|
||||||
if (ret == 0 && rsip_error_code == FSP_SUCCESS) {
|
if (ret == 0 && rsip_error_code == FSP_SUCCESS) {
|
||||||
printf(" rsip_rsa_SignVerify_test(2048)");
|
printf(" rsip_rsa_SignVerify_test(2048)");
|
||||||
ret = rsip_rsa_SignVerify_test(1, 2048);
|
ret = rsip_rsa_SignVerify_test(1, 2048);
|
||||||
@@ -1293,7 +1304,7 @@ int rsip_crypt_test()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
printf("rsip_crypt_Sha_AesCbcGcm_multitest\n");
|
printf(" multi Sha AesCbcGcm thread test\n");
|
||||||
ret = rsip_crypt_Sha_AesCbcGcm_multitest();
|
ret = rsip_crypt_Sha_AesCbcGcm_multitest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -21,13 +21,30 @@
|
|||||||
|
|
||||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||||
|
|
||||||
#define YEAR 2023
|
|
||||||
#define MON 9
|
|
||||||
|
|
||||||
static int tick = 0;
|
static int tick = 0;
|
||||||
|
|
||||||
|
#define YEAR ( \
|
||||||
|
((__DATE__)[7] - '0') * 1000 + \
|
||||||
|
((__DATE__)[8] - '0') * 100 + \
|
||||||
|
((__DATE__)[9] - '0') * 10 + \
|
||||||
|
((__DATE__)[10] - '0') * 1 \
|
||||||
|
)
|
||||||
|
|
||||||
|
#define MONTH ( \
|
||||||
|
__DATE__[2] == 'n' ? (__DATE__[1] == 'a' ? 1 : 6) \
|
||||||
|
: __DATE__[2] == 'b' ? 2 \
|
||||||
|
: __DATE__[2] == 'r' ? (__DATE__[0] == 'M' ? 3 : 4) \
|
||||||
|
: __DATE__[2] == 'y' ? 5 \
|
||||||
|
: __DATE__[2] == 'l' ? 7 \
|
||||||
|
: __DATE__[2] == 'g' ? 8 \
|
||||||
|
: __DATE__[2] == 'p' ? 9 \
|
||||||
|
: __DATE__[2] == 't' ? 10 \
|
||||||
|
: __DATE__[2] == 'v' ? 11 \
|
||||||
|
: 12 \
|
||||||
|
)
|
||||||
|
|
||||||
time_t time(time_t *t)
|
time_t time(time_t *t)
|
||||||
{
|
{
|
||||||
(void)t;
|
(void)t;
|
||||||
return ((YEAR-1970)*365+30*MON)*24*60*60 + tick++;
|
return ((YEAR-1970)*365+30*MONTH)*24*60*60 + tick++;
|
||||||
}
|
}
|
||||||
|
@@ -45,14 +45,21 @@
|
|||||||
#define cmn_hw_unlock tsip_hw_unlock
|
#define cmn_hw_unlock tsip_hw_unlock
|
||||||
|
|
||||||
#define FSPSM_ST TsipUserCtx;
|
#define FSPSM_ST TsipUserCtx;
|
||||||
#define MAX_FSPSM_CBINDEX 5
|
#define FSPSM_ST_Internal TsipUserCtx_Internal
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <wolfssl/wolfcrypt/wc_port.h>
|
#include <wolfssl/wolfcrypt/wc_port.h>
|
||||||
#include <wolfssl/wolfcrypt/types.h>
|
#include <wolfssl/wolfcrypt/types.h>
|
||||||
#include <wolfssl/wolfcrypt/asn.h>
|
#include <wolfssl/wolfcrypt/asn.h>
|
||||||
|
#ifdef NO_INLINE
|
||||||
|
#include <wolfssl/wolfcrypt/misc.h>
|
||||||
|
#else
|
||||||
|
#define WOLFSSL_MISC_INCLUDED
|
||||||
|
#include <wolfcrypt/src/misc.c>
|
||||||
|
#endif
|
||||||
#ifndef WOLFSSL_RENESAS_TSIP_CRYPTONLY
|
#ifndef WOLFSSL_RENESAS_TSIP_CRYPTONLY
|
||||||
#include <wolfssl/internal.h>
|
#include <wolfssl/internal.h>
|
||||||
#endif
|
#endif
|
||||||
#include <wolfssl/error-ssl.h>
|
#include <wolfssl/error-ssl.h>
|
||||||
#include <wolfssl/wolfcrypt/error-crypt.h>
|
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||||
@@ -65,16 +72,9 @@ uint32_t g_CAscm_Idx = (uint32_t)-1; /* index of CM table */
|
|||||||
static int gdevId = INITIAL_DEVID; /* initial dev Id for Crypt Callback */
|
static int gdevId = INITIAL_DEVID; /* initial dev Id for Crypt Callback */
|
||||||
|
|
||||||
#ifdef WOLF_CRYPTO_CB
|
#ifdef WOLF_CRYPTO_CB
|
||||||
/* store callback ctx by devId */
|
|
||||||
#if defined(WOLFSSL_RENESAS_FSPSM_TLS) || \
|
|
||||||
defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY)
|
|
||||||
FSPSM_ST *gCbCtx[MAX_FSPSM_CBINDEX];
|
|
||||||
#elif defined(WOLFSSL_RENESAS_TSIP_TLS) || \
|
|
||||||
defined(WOLFSSL_RENESAS_TSIP_CRYPTONLY)
|
|
||||||
#define FSPSM_ST TsipUserCtx;
|
|
||||||
#define MAX_FSPSM_CBINDEX 5
|
#define MAX_FSPSM_CBINDEX 5
|
||||||
TsipUserCtx *gCbCtx[MAX_FSPSM_CBINDEX];
|
FSPSM_ST *gCbCtx[MAX_FSPSM_CBINDEX];
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <wolfssl/wolfcrypt/cryptocb.h>
|
#include <wolfssl/wolfcrypt/cryptocb.h>
|
||||||
|
|
||||||
@@ -274,8 +274,9 @@ static int Renesas_cmn_CryptoDevCb(int devIdArg, wc_CryptoInfo* info, void* ctx)
|
|||||||
#endif /* HAVE_ECC */
|
#endif /* HAVE_ECC */
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(WOLFSSL_RENESAS_FSPSM_TLS) || \
|
#elif (defined(WOLFSSL_RENESAS_FSPSM_TLS) || \
|
||||||
defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY)
|
defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY))\
|
||||||
|
&& !defined(NO_WOLFSSL_RENESAS_FSPSM_AES)
|
||||||
|
|
||||||
if (info->algo_type == WC_ALGO_TYPE_CIPHER) {
|
if (info->algo_type == WC_ALGO_TYPE_CIPHER) {
|
||||||
#if !defined(NO_AES)
|
#if !defined(NO_AES)
|
||||||
@@ -285,6 +286,20 @@ static int Renesas_cmn_CryptoDevCb(int devIdArg, wc_CryptoInfo* info, void* ctx)
|
|||||||
|
|
||||||
#if !defined(NO_RSA) && defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY)
|
#if !defined(NO_RSA) && defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY)
|
||||||
else if (info->algo_type == WC_ALGO_TYPE_PK) {
|
else if (info->algo_type == WC_ALGO_TYPE_PK) {
|
||||||
|
if (info->pk.type == WC_PK_TYPE_RSA_GET_SIZE) {
|
||||||
|
if (cbInfo->keyflgs_crypt.bits.rsapri2048_installedkey_set ||
|
||||||
|
cbInfo->keyflgs_crypt.bits.rsapub2048_installedkey_set )
|
||||||
|
{
|
||||||
|
*info->pk.rsa_get_size.keySize = 256;
|
||||||
|
ret = 0;
|
||||||
|
} else if (
|
||||||
|
cbInfo->keyflgs_crypt.bits.rsapri1024_installedkey_set ||
|
||||||
|
cbInfo->keyflgs_crypt.bits.rsapub1024_installedkey_set )
|
||||||
|
{
|
||||||
|
*info->pk.rsa_get_size.keySize = 128;
|
||||||
|
ret = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
#if defined(WOLFSSL_KEY_GEN)
|
#if defined(WOLFSSL_KEY_GEN)
|
||||||
if (info->pk.type == WC_PK_TYPE_RSA_KEYGEN) {
|
if (info->pk.type == WC_PK_TYPE_RSA_KEYGEN) {
|
||||||
ret = wc_fspsm_MakeRsaKey(info->pk.rsakg.key,
|
ret = wc_fspsm_MakeRsaKey(info->pk.rsakg.key,
|
||||||
@@ -400,13 +415,8 @@ int wc_CryptoCb_CryptInitRenesasCmn(struct WOLFSSL* ssl, void* ctx)
|
|||||||
(void)ssl;
|
(void)ssl;
|
||||||
(void)ctx;
|
(void)ctx;
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_TSIP_TLS) || \
|
|
||||||
defined(WOLFSSL_RENESAS_TSIP_CRYPTONLY)
|
|
||||||
TsipUserCtx* cbInfo = (TsipUserCtx*)ctx;
|
|
||||||
#elif defined(WOLFSSL_RENESAS_FSPSM_TLS) || \
|
|
||||||
defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY)
|
|
||||||
FSPSM_ST* cbInfo = (FSPSM_ST*)ctx;
|
FSPSM_ST* cbInfo = (FSPSM_ST*)ctx;
|
||||||
#endif
|
size_t internal_sz = sizeof(FSPSM_ST_Internal);
|
||||||
|
|
||||||
if (cbInfo == NULL
|
if (cbInfo == NULL
|
||||||
#if (!defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY) && \
|
#if (!defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY) && \
|
||||||
@@ -418,6 +428,27 @@ int wc_CryptoCb_CryptInitRenesasCmn(struct WOLFSSL* ssl, void* ctx)
|
|||||||
WOLFSSL_MSG("Invalid devId\n");
|
WOLFSSL_MSG("Invalid devId\n");
|
||||||
return INVALID_DEVID;
|
return INVALID_DEVID;
|
||||||
}
|
}
|
||||||
|
/* On Crypt Only mode, it is possible to call this method
|
||||||
|
* first. On that time, internal instance has not yet been allocated.
|
||||||
|
*/
|
||||||
|
if (!cbInfo->internal) {
|
||||||
|
if (!ssl)
|
||||||
|
cbInfo->internal =
|
||||||
|
(FSPSM_ST_Internal*)XMALLOC(internal_sz, ssl->heap,
|
||||||
|
DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
|
else
|
||||||
|
cbInfo->internal = (FSPSM_ST_Internal*)XMALLOC(internal_sz, NULL,
|
||||||
|
DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
|
if (!cbInfo->internal) {
|
||||||
|
return MEMORY_E;
|
||||||
|
}
|
||||||
|
#if defined(WOLFSSL_RENESAS_FSPSM_TLS) ||\
|
||||||
|
defined(WOLFSSL_RENESAS_TSIP_TLS)
|
||||||
|
if (ssl)
|
||||||
|
cbInfo->internal->heap = ssl->heap;
|
||||||
|
#endif
|
||||||
|
ForceZero(cbInfo->internal, internal_sz);
|
||||||
|
}
|
||||||
/* need exclusive control because of static variable */
|
/* need exclusive control because of static variable */
|
||||||
if ((cmn_hw_lock()) == 0) {
|
if ((cmn_hw_lock()) == 0) {
|
||||||
/* sanity check for overflow */
|
/* sanity check for overflow */
|
||||||
@@ -459,7 +490,23 @@ int wc_CryptoCb_CryptInitRenesasCmn(struct WOLFSSL* ssl, void* ctx)
|
|||||||
*/
|
*/
|
||||||
void wc_CryptoCb_CleanupRenesasCmn(int* id)
|
void wc_CryptoCb_CleanupRenesasCmn(int* id)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
FSPSM_ST* cbInfo = NULL;
|
||||||
|
|
||||||
wc_CryptoCb_UnRegisterDevice(*id);
|
wc_CryptoCb_UnRegisterDevice(*id);
|
||||||
|
/* retrieve internal instance */
|
||||||
|
cbInfo = (FSPSM_ST*)gCbCtx[cbInfo->internal->devId - INITIAL_DEVID];
|
||||||
|
|
||||||
|
if (!cbInfo->internal) {
|
||||||
|
#if defined(WOLFSSL_RENESAS_FSPSM_TLS) && \
|
||||||
|
!defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY)
|
||||||
|
XFREE(cbInfo->internal, cbInfo->internal->heap,
|
||||||
|
DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
|
#else
|
||||||
|
XFREE(cbInfo->internal, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
|
#endif
|
||||||
|
cbInfo->internal = NULL;
|
||||||
|
}
|
||||||
*id = INVALID_DEVID;
|
*id = INVALID_DEVID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -754,7 +801,7 @@ WOLFSSL_LOCAL int Renesas_cmn_generateSessionKey(WOLFSSL* ssl, void* ctx)
|
|||||||
ret = wc_tsip_generateSessionKey(ssl, cbInfo,
|
ret = wc_tsip_generateSessionKey(ssl, cbInfo,
|
||||||
cbInfo->internal->devId);
|
cbInfo->internal->devId);
|
||||||
#elif defined(WOLFSSL_RENESAS_FSPSM_TLS)
|
#elif defined(WOLFSSL_RENESAS_FSPSM_TLS)
|
||||||
ret = wc_fspsm_generateSessionKey(ssl, ctx, cbInfo->devId);
|
ret = wc_fspsm_generateSessionKey(ssl, ctx, cbInfo->internal->devId);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
struct Aes;
|
struct Aes;
|
||||||
|
|
||||||
WOLFSSL_LOCAL void *Renesas_cmn_GetCbCtxBydevId(int devId);
|
void *Renesas_cmn_GetCbCtxBydevId(int devId);
|
||||||
|
|
||||||
#define SCE_AES_GCM_AUTH_TAG_SIZE 16
|
#define SCE_AES_GCM_AUTH_TAG_SIZE 16
|
||||||
|
|
||||||
@@ -60,14 +60,16 @@ extern FSPSM_INSTANCE gFSPSM_ctrl;
|
|||||||
typedef fsp_err_t (*aesGcmEncInitFn)
|
typedef fsp_err_t (*aesGcmEncInitFn)
|
||||||
(FSPSM_AESGCM_HANDLE*, FSPSM_AES_PWKEY, uint8_t*, uint32_t);
|
(FSPSM_AESGCM_HANDLE*, FSPSM_AES_PWKEY, uint8_t*, uint32_t);
|
||||||
typedef fsp_err_t (*aesGcmEncUpdateFn)
|
typedef fsp_err_t (*aesGcmEncUpdateFn)
|
||||||
(FSPSM_AESGCM_HANDLE*,uint8_t*, uint8_t*, uint32_t, uint8_t*, uint32_t);
|
(FSPSM_AESGCM_HANDLE*,uint8_t*, uint8_t*, uint32_t, uint8_t*, uint32_t,
|
||||||
|
uint32_t*);
|
||||||
typedef fsp_err_t (*aesGcmEncFinalFn)
|
typedef fsp_err_t (*aesGcmEncFinalFn)
|
||||||
(FSPSM_AESGCM_HANDLE*, uint8_t*, uint32_t*, uint8_t*);
|
(FSPSM_AESGCM_HANDLE*, uint8_t*, uint32_t*, uint8_t*);
|
||||||
|
|
||||||
typedef fsp_err_t (*aesGcmDecInitFn)
|
typedef fsp_err_t (*aesGcmDecInitFn)
|
||||||
(FSPSM_AESGCM_HANDLE*, FSPSM_AES_PWKEY, uint8_t*, uint32_t);
|
(FSPSM_AESGCM_HANDLE*, FSPSM_AES_PWKEY, uint8_t*, uint32_t);
|
||||||
typedef fsp_err_t (*aesGcmDecUpdateFn)
|
typedef fsp_err_t (*aesGcmDecUpdateFn)
|
||||||
(FSPSM_AESGCM_HANDLE*,uint8_t*, uint8_t*, uint32_t, uint8_t*, uint32_t);
|
(FSPSM_AESGCM_HANDLE*,uint8_t*, uint8_t*, uint32_t, uint8_t*, uint32_t,
|
||||||
|
uint32_t*);
|
||||||
typedef fsp_err_t (*aesGcmDecFinalFn)
|
typedef fsp_err_t (*aesGcmDecFinalFn)
|
||||||
(FSPSM_AESGCM_HANDLE*, uint8_t*, uint32_t*, uint8_t*, uint32_t);
|
(FSPSM_AESGCM_HANDLE*, uint8_t*, uint32_t*, uint8_t*, uint32_t);
|
||||||
|
|
||||||
@@ -77,72 +79,136 @@ static fsp_err_t _R_RSIP_AES_GCM_EncryptInit(FSPSM_AESGCM_HANDLE* h,
|
|||||||
FSPSM_AES_PWKEY k, uint8_t* iv,
|
FSPSM_AES_PWKEY k, uint8_t* iv,
|
||||||
uint32_t iv_l)
|
uint32_t iv_l)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_AES_AEAD_Init(&gFSPSM_ctrl, RSIP_AES_AEAD_MODE_GCM_ENC,
|
||||||
|
(FSPSM_AES_PWKEY const)k,
|
||||||
|
(uint8_t* const)iv, iv_l);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_GCM_EncryptInit(&gFSPSM_ctrl, (FSPSM_AES_PWKEY const)k,
|
return R_RSIP_AES_GCM_EncryptInit(&gFSPSM_ctrl, (FSPSM_AES_PWKEY const)k,
|
||||||
(uint8_t* const)iv, iv_l);
|
(uint8_t* const)iv, iv_l);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* wrapper for Gcm encrypt/decript ADD update */
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
static fsp_err_t _R_RSIP_AES_GCM_ADDUpdate(uint8_t* p_add, uint32_t add_len)
|
||||||
|
{
|
||||||
|
return R_RSIP_AES_AEAD_AADUpdate(&gFSPSM_ctrl, p_add, add_len);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
/* wrapper for Gcm encrypt update */
|
/* wrapper for Gcm encrypt update */
|
||||||
static fsp_err_t _R_RSIP_AES_GCM_EncryptUpdate(FSPSM_AESGCM_HANDLE* h,
|
static fsp_err_t _R_RSIP_AES_GCM_EncryptUpdate(FSPSM_AESGCM_HANDLE* h,
|
||||||
uint8_t* p_plain, uint8_t* p_cipher, uint32_t plain_length,
|
uint8_t* p_plain, uint8_t* p_cipher, uint32_t plain_length,
|
||||||
uint8_t* p_add, uint32_t add_len)
|
uint8_t* p_add, uint32_t add_len, uint32_t* out_len)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
(void) p_add;
|
||||||
|
(void) add_len;
|
||||||
|
return R_RSIP_AES_AEAD_Update(&gFSPSM_ctrl, (uint8_t* const) p_plain,
|
||||||
|
(uint32_t const) plain_length,
|
||||||
|
(uint8_t* const) p_cipher,
|
||||||
|
(uint32_t* const) out_len);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_GCM_EncryptUpdate(&gFSPSM_ctrl, (uint8_t* const) p_plain,
|
return R_RSIP_AES_GCM_EncryptUpdate(&gFSPSM_ctrl, (uint8_t* const) p_plain,
|
||||||
(uint8_t* const) p_cipher,
|
(uint8_t* const) p_cipher,
|
||||||
(uint32_t const) plain_length,
|
(uint32_t const) plain_length,
|
||||||
(uint8_t* const) p_add,
|
(uint8_t* const) p_add,
|
||||||
(uint32_t const) add_len);
|
(uint32_t const) add_len);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for Gcm encrypt final */
|
/* wrapper for Gcm encrypt final */
|
||||||
static fsp_err_t _R_RSIP_AES_GCM_EncryptFinal(FSPSM_AESGCM_HANDLE* h,
|
static fsp_err_t _R_RSIP_AES_GCM_EncryptFinal(FSPSM_AESGCM_HANDLE* h,
|
||||||
uint8_t* p_cipher, uint32_t* c_len,
|
uint8_t* p_cipher, uint32_t* c_len,
|
||||||
uint8_t* p_atag)
|
uint8_t* p_atag)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
return R_RSIP_AES_AEAD_Finish(&gFSPSM_ctrl, (uint8_t* const) p_cipher,
|
||||||
|
(uint32_t* const) c_len,
|
||||||
|
(uint8_t* const) p_atag);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_GCM_EncryptFinal(&gFSPSM_ctrl, (uint8_t* const) p_cipher,
|
return R_RSIP_AES_GCM_EncryptFinal(&gFSPSM_ctrl, (uint8_t* const) p_cipher,
|
||||||
(uint32_t* const) c_len,
|
(uint32_t* const) c_len,
|
||||||
(uint8_t* const) p_atag);
|
(uint8_t* const) p_atag);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for Gcm decrypt init */
|
/* wrapper for Gcm decrypt init */
|
||||||
static fsp_err_t _R_RSIP_AES_GCM_DecryptInit(FSPSM_AESGCM_HANDLE* h,
|
static fsp_err_t _R_RSIP_AES_GCM_DecryptInit(FSPSM_AESGCM_HANDLE* h,
|
||||||
FSPSM_AES_PWKEY k, uint8_t* iv, uint32_t iv_l)
|
FSPSM_AES_PWKEY k, uint8_t* iv, uint32_t iv_l)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_AES_AEAD_Init(&gFSPSM_ctrl, RSIP_AES_AEAD_MODE_GCM_DEC,
|
||||||
|
(FSPSM_AES_PWKEY const)k,
|
||||||
|
(uint8_t* const)iv, iv_l);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_GCM_DecryptInit(&gFSPSM_ctrl, (FSPSM_AES_PWKEY const)k,
|
return R_RSIP_AES_GCM_DecryptInit(&gFSPSM_ctrl, (FSPSM_AES_PWKEY const)k,
|
||||||
(uint8_t* const)iv, iv_l);
|
(uint8_t* const)iv, iv_l);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for Gcm decrypt update */
|
/* wrapper for Gcm decrypt update */
|
||||||
static fsp_err_t _R_RSIP_AES_GCM_DecryptUpdate(FSPSM_AESGCM_HANDLE* h,
|
static fsp_err_t _R_RSIP_AES_GCM_DecryptUpdate(FSPSM_AESGCM_HANDLE* h,
|
||||||
uint8_t* p_cipher, uint8_t* p_plain, uint32_t c_length,
|
uint8_t* p_cipher, uint8_t* p_plain, uint32_t c_length,
|
||||||
uint8_t* p_add, uint32_t add_len)
|
uint8_t* p_add, uint32_t add_len, uint32_t* out_len)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
(void) p_add;
|
||||||
|
(void) add_len;
|
||||||
|
return R_RSIP_AES_AEAD_Update(&gFSPSM_ctrl, (uint8_t* const) p_cipher,
|
||||||
|
(uint32_t const) c_length,
|
||||||
|
(uint8_t* const) p_plain,
|
||||||
|
(uint32_t* const) out_len);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_GCM_DecryptUpdate(&gFSPSM_ctrl, (uint8_t* const) p_cipher,
|
return R_RSIP_AES_GCM_DecryptUpdate(&gFSPSM_ctrl, (uint8_t* const) p_cipher,
|
||||||
(uint8_t* const) p_plain,
|
(uint8_t* const) p_plain,
|
||||||
(uint32_t const) c_length,
|
(uint32_t const) c_length,
|
||||||
(uint8_t* const) p_add,
|
(uint8_t* const) p_add,
|
||||||
(uint32_t const) add_len);
|
(uint32_t const) add_len);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for Gcm decrypt final */
|
/* wrapper for Gcm decrypt final */
|
||||||
static fsp_err_t _R_RSIP_AES_GCM_DecryptFinal(FSPSM_AESGCM_HANDLE* h,
|
static fsp_err_t _R_RSIP_AES_GCM_DecryptFinal(FSPSM_AESGCM_HANDLE* h,
|
||||||
uint8_t* p_plain, uint32_t* plain_len,
|
uint8_t* p_plain, uint32_t* plain_len,
|
||||||
uint8_t* p_atag, uint32_t atag_len)
|
uint8_t* p_atag, uint32_t atag_len)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
return R_RSIP_AES_AEAD_Verify(&gFSPSM_ctrl, (uint8_t* const) p_plain,
|
||||||
|
(uint32_t* const) plain_len,
|
||||||
|
(uint8_t* const) p_atag,
|
||||||
|
(uint32_t const) atag_len);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_GCM_DecryptFinal(&gFSPSM_ctrl, (uint8_t* const) p_plain,
|
return R_RSIP_AES_GCM_DecryptFinal(&gFSPSM_ctrl, (uint8_t* const) p_plain,
|
||||||
(uint32_t* const) plain_len,
|
(uint32_t* const) plain_len,
|
||||||
(uint8_t* const) p_atag,
|
(uint8_t* const) p_atag,
|
||||||
(uint32_t const) atag_len);
|
(uint32_t const) atag_len);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for aes cbc encrypt init */
|
/* wrapper for aes cbc encrypt init */
|
||||||
static fsp_err_t _R_RSIP_AESCBC_Cipher_EncryptInit(FSPSM_AES_HANDLE* h,
|
static fsp_err_t _R_RSIP_AESCBC_Cipher_EncryptInit(FSPSM_AES_HANDLE* h,
|
||||||
FSPSM_AES_PWKEY k,
|
FSPSM_AES_PWKEY k,
|
||||||
uint8_t* iv)
|
uint8_t* iv)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
return R_RSIP_AES_Cipher_Init(&gFSPSM_ctrl,
|
||||||
|
RSIP_AES_CIPHER_MODE_CBC_ENC,
|
||||||
|
k, iv);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_Cipher_EncryptInit(&gFSPSM_ctrl,
|
return R_RSIP_AES_Cipher_EncryptInit(&gFSPSM_ctrl,
|
||||||
RSIP_AES_MODE_CBC,
|
RSIP_AES_MODE_CBC,
|
||||||
k, iv);
|
k, iv);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for aes cbc encrypt update */
|
/* wrapper for aes cbc encrypt update */
|
||||||
static fsp_err_t _R_RSIP_AESCBC_Cipher_EncryptUpdate(FSPSM_AES_HANDLE* h,
|
static fsp_err_t _R_RSIP_AESCBC_Cipher_EncryptUpdate(FSPSM_AES_HANDLE* h,
|
||||||
@@ -150,31 +216,53 @@ static fsp_err_t _R_RSIP_AESCBC_Cipher_EncryptUpdate(FSPSM_AES_HANDLE* h,
|
|||||||
uint8_t* p_cipher,
|
uint8_t* p_cipher,
|
||||||
uint32_t plain_length)
|
uint32_t plain_length)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
return R_RSIP_AES_Cipher_Update(&gFSPSM_ctrl,
|
||||||
|
(const uint8_t* const)p_plain,
|
||||||
|
(uint8_t* const)p_cipher,
|
||||||
|
(const uint32_t)plain_length);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_Cipher_EncryptUpdate(&gFSPSM_ctrl,
|
return R_RSIP_AES_Cipher_EncryptUpdate(&gFSPSM_ctrl,
|
||||||
(const uint8_t* const)p_plain,
|
(const uint8_t* const)p_plain,
|
||||||
(uint8_t* const)p_cipher,
|
(uint8_t* const)p_cipher,
|
||||||
(const uint32_t)plain_length);
|
(const uint32_t)plain_length);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for aes cbc encrypt final */
|
/* wrapper for aes cbc encrypt final */
|
||||||
static fsp_err_t _R_RSIP_AESCBC_Cipher_EncryptFinal(FSPSM_AES_HANDLE* h,
|
static fsp_err_t _R_RSIP_AESCBC_Cipher_EncryptFinal(FSPSM_AES_HANDLE* h,
|
||||||
uint8_t* p_cipher,
|
uint8_t* p_cipher,
|
||||||
uint32_t* cipher_lengh)
|
uint32_t* cipher_length)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
(void) p_cipher;
|
||||||
|
(void) cipher_length;
|
||||||
|
return R_RSIP_AES_Cipher_Finish(&gFSPSM_ctrl);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_Cipher_EncryptFinal(&gFSPSM_ctrl,
|
return R_RSIP_AES_Cipher_EncryptFinal(&gFSPSM_ctrl,
|
||||||
(uint8_t* const)p_cipher,
|
(uint8_t* const)p_cipher,
|
||||||
(uint32_t* const)cipher_lengh);
|
(uint32_t* const)cipher_length);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for aes cbc decrypt init */
|
/* wrapper for aes cbc decrypt init */
|
||||||
static fsp_err_t _R_RSIP_AESCBC_Cipher_DecryptInit(FSPSM_AES_HANDLE* h,
|
static fsp_err_t _R_RSIP_AESCBC_Cipher_DecryptInit(FSPSM_AES_HANDLE* h,
|
||||||
FSPSM_AES_PWKEY k,
|
FSPSM_AES_PWKEY k,
|
||||||
uint8_t* iv)
|
uint8_t* iv)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
return R_RSIP_AES_Cipher_Init(&gFSPSM_ctrl,
|
||||||
|
RSIP_AES_CIPHER_MODE_CBC_DEC,
|
||||||
|
k, iv);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_Cipher_DecryptInit(&gFSPSM_ctrl,
|
return R_RSIP_AES_Cipher_DecryptInit(&gFSPSM_ctrl,
|
||||||
RSIP_AES_MODE_CBC,
|
RSIP_AES_MODE_CBC,
|
||||||
k, iv);
|
k, iv);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for aes cbc decrypt update */
|
/* wrapper for aes cbc decrypt update */
|
||||||
static fsp_err_t _R_RSIP_AESCBC_Cipher_DecryptUpdate(FSPSM_AES_HANDLE* h,
|
static fsp_err_t _R_RSIP_AESCBC_Cipher_DecryptUpdate(FSPSM_AES_HANDLE* h,
|
||||||
@@ -182,21 +270,36 @@ static fsp_err_t _R_RSIP_AESCBC_Cipher_DecryptUpdate(FSPSM_AES_HANDLE* h,
|
|||||||
uint8_t* p_plain,
|
uint8_t* p_plain,
|
||||||
uint32_t cipher_lengh)
|
uint32_t cipher_lengh)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
return R_RSIP_AES_Cipher_Update(&gFSPSM_ctrl,
|
||||||
|
(const uint8_t* const)p_cipher,
|
||||||
|
(uint8_t* const)p_plain,
|
||||||
|
(const uint32_t)cipher_lengh);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_Cipher_DecryptUpdate(&gFSPSM_ctrl,
|
return R_RSIP_AES_Cipher_DecryptUpdate(&gFSPSM_ctrl,
|
||||||
(const uint8_t* const)p_cipher,
|
(const uint8_t* const)p_cipher,
|
||||||
(uint8_t* const)p_plain,
|
(uint8_t* const)p_plain,
|
||||||
(const uint32_t)cipher_lengh);
|
(const uint32_t)cipher_lengh);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for aes cbc encrypt final */
|
/* wrapper for aes cbc encrypt final */
|
||||||
static fsp_err_t _R_RSIP_AESCBC_Cipher_DecryptFinal(FSPSM_AES_HANDLE* h,
|
static fsp_err_t _R_RSIP_AESCBC_Cipher_DecryptFinal(FSPSM_AES_HANDLE* h,
|
||||||
uint8_t* p_plain,
|
uint8_t* p_plain,
|
||||||
uint32_t* plain_lengh)
|
uint32_t* plain_lengh)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void) h;
|
||||||
|
(void) p_plain;
|
||||||
|
(void) plain_lengh;
|
||||||
|
return R_RSIP_AES_Cipher_Finish(&gFSPSM_ctrl);
|
||||||
|
#else
|
||||||
(void) h;
|
(void) h;
|
||||||
return R_RSIP_AES_Cipher_DecryptFinal(&gFSPSM_ctrl,
|
return R_RSIP_AES_Cipher_DecryptFinal(&gFSPSM_ctrl,
|
||||||
(uint8_t* const)p_plain,
|
(uint8_t* const)p_plain,
|
||||||
(uint32_t* const)plain_lengh);
|
(uint32_t* const)plain_lengh);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* Perform Aes Gcm encryption by FSP SM
|
/* Perform Aes Gcm encryption by FSP SM
|
||||||
@@ -212,7 +315,7 @@ static fsp_err_t _R_RSIP_AESCBC_Cipher_DecryptFinal(FSPSM_AES_HANDLE* h,
|
|||||||
* ctx The callback context
|
* ctx The callback context
|
||||||
* return FSP_SUCCESS(0) on Success, otherwise negative value
|
* return FSP_SUCCESS(0) on Success, otherwise negative value
|
||||||
*/
|
*/
|
||||||
WOLFSSL_LOCAL int wc_fspsm_AesGcmEncrypt(struct Aes* aes, byte* out,
|
int wc_fspsm_AesGcmEncrypt(struct Aes* aes, byte* out,
|
||||||
const byte* in, word32 sz,
|
const byte* in, word32 sz,
|
||||||
byte* iv, word32 ivSz,
|
byte* iv, word32 ivSz,
|
||||||
byte* authTag, word32 authTagSz,
|
byte* authTag, word32 authTagSz,
|
||||||
@@ -222,6 +325,8 @@ WOLFSSL_LOCAL int wc_fspsm_AesGcmEncrypt(struct Aes* aes, byte* out,
|
|||||||
int ret;
|
int ret;
|
||||||
FSPSM_AESGCM_HANDLE _handle;
|
FSPSM_AESGCM_HANDLE _handle;
|
||||||
uint32_t dataLen = sz;
|
uint32_t dataLen = sz;
|
||||||
|
uint32_t out_len = 0;
|
||||||
|
uint32_t out_len_tmp = 0;
|
||||||
FSPSM_ST *info = (FSPSM_ST*)ctx;
|
FSPSM_ST *info = (FSPSM_ST*)ctx;
|
||||||
|
|
||||||
aesGcmEncInitFn initFn;
|
aesGcmEncInitFn initFn;
|
||||||
@@ -354,11 +459,22 @@ WOLFSSL_LOCAL int wc_fspsm_AesGcmEncrypt(struct Aes* aes, byte* out,
|
|||||||
ret = initFn(&_handle, key_client_aes, (uint8_t*)iv_l, ivSz_l);
|
ret = initFn(&_handle, key_client_aes, (uint8_t*)iv_l, ivSz_l);
|
||||||
|
|
||||||
if (ret == FSP_SUCCESS) {
|
if (ret == FSP_SUCCESS) {
|
||||||
|
/* pass only AAD and it's size before passing cipher text */
|
||||||
|
#if defined(WOLFSSL_RENESAS_RSIP) &&\
|
||||||
|
(WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
ret = _R_RSIP_AES_GCM_ADDUpdate((uint8_t*)authIn, authInSz);
|
||||||
|
#else
|
||||||
ret = updateFn(&_handle, NULL, NULL, 0UL, (uint8_t*)authIn,
|
ret = updateFn(&_handle, NULL, NULL, 0UL, (uint8_t*)authIn,
|
||||||
authInSz);
|
authInSz,
|
||||||
|
&out_len_tmp);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret == FSP_SUCCESS) {
|
if (ret == FSP_SUCCESS) {
|
||||||
ret = updateFn(&_handle, plainBuf, cipherBuf, sz, NULL, 0UL);
|
out_len_tmp = 0;
|
||||||
|
ret = updateFn(&_handle, plainBuf, cipherBuf, sz, NULL, 0UL,
|
||||||
|
&out_len_tmp);
|
||||||
|
out_len += out_len_tmp;
|
||||||
}
|
}
|
||||||
if (ret != FSP_SUCCESS) {
|
if (ret != FSP_SUCCESS) {
|
||||||
WOLFSSL_MSG("R_XXXX_AesXXXGcmEncryptUpdate2: failed");
|
WOLFSSL_MSG("R_XXXX_AesXXXGcmEncryptUpdate2: failed");
|
||||||
@@ -372,12 +488,21 @@ WOLFSSL_LOCAL int wc_fspsm_AesGcmEncrypt(struct Aes* aes, byte* out,
|
|||||||
* from its error state and all the trailing APIs will fail.
|
* from its error state and all the trailing APIs will fail.
|
||||||
*/
|
*/
|
||||||
dataLen = 0;
|
dataLen = 0;
|
||||||
|
out_len_tmp = 0;
|
||||||
ret = finalFn(&_handle,
|
ret = finalFn(&_handle,
|
||||||
cipherBuf + (sz + delta - WC_AES_BLOCK_SIZE),
|
cipherBuf + (sz + delta - WC_AES_BLOCK_SIZE),
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
&out_len_tmp,
|
||||||
|
#else
|
||||||
&dataLen,
|
&dataLen,
|
||||||
|
#endif
|
||||||
aTagBuf);
|
aTagBuf);
|
||||||
|
|
||||||
if (ret == FSP_SUCCESS) {
|
if (ret == FSP_SUCCESS) {
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
out_len += out_len_tmp;
|
||||||
|
dataLen = out_len;
|
||||||
|
#endif
|
||||||
/* copy encrypted data to out */
|
/* copy encrypted data to out */
|
||||||
if (sz != dataLen) {
|
if (sz != dataLen) {
|
||||||
WOLFSSL_MSG("sz is not equal to dataLen!!!!");
|
WOLFSSL_MSG("sz is not equal to dataLen!!!!");
|
||||||
@@ -423,7 +548,7 @@ WOLFSSL_LOCAL int wc_fspsm_AesGcmEncrypt(struct Aes* aes, byte* out,
|
|||||||
* ctx The Callback context
|
* ctx The Callback context
|
||||||
* return FSP_SUCCESS(0) on Success, otherwise negative value
|
* return FSP_SUCCESS(0) on Success, otherwise negative value
|
||||||
*/
|
*/
|
||||||
WOLFSSL_LOCAL int wc_fspsm_AesGcmDecrypt(struct Aes* aes, byte* out,
|
int wc_fspsm_AesGcmDecrypt(struct Aes* aes, byte* out,
|
||||||
const byte* in, word32 sz,
|
const byte* in, word32 sz,
|
||||||
const byte* iv, word32 ivSz,
|
const byte* iv, word32 ivSz,
|
||||||
const byte* authTag, word32 authTagSz,
|
const byte* authTag, word32 authTagSz,
|
||||||
@@ -433,6 +558,8 @@ WOLFSSL_LOCAL int wc_fspsm_AesGcmDecrypt(struct Aes* aes, byte* out,
|
|||||||
int ret;
|
int ret;
|
||||||
FSPSM_AESGCM_HANDLE _handle;
|
FSPSM_AESGCM_HANDLE _handle;
|
||||||
uint32_t dataLen = sz;
|
uint32_t dataLen = sz;
|
||||||
|
uint32_t out_len = 0;
|
||||||
|
uint32_t out_len_tmp = 0;
|
||||||
FSPSM_ST *info = (FSPSM_ST*)ctx;
|
FSPSM_ST *info = (FSPSM_ST*)ctx;
|
||||||
|
|
||||||
aesGcmDecInitFn initFn;
|
aesGcmDecInitFn initFn;
|
||||||
@@ -559,11 +686,19 @@ WOLFSSL_LOCAL int wc_fspsm_AesGcmDecrypt(struct Aes* aes, byte* out,
|
|||||||
|
|
||||||
if (ret == FSP_SUCCESS) {
|
if (ret == FSP_SUCCESS) {
|
||||||
/* pass only AAD and it's size before passing cipher text */
|
/* pass only AAD and it's size before passing cipher text */
|
||||||
|
#if defined(WOLFSSL_RENESAS_RSIP) &&\
|
||||||
|
(WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
ret = _R_RSIP_AES_GCM_ADDUpdate((uint8_t*)authIn, authInSz);
|
||||||
|
#else
|
||||||
ret = updateFn(&_handle, NULL, NULL, 0UL, (uint8_t*)authIn,
|
ret = updateFn(&_handle, NULL, NULL, 0UL, (uint8_t*)authIn,
|
||||||
authInSz);
|
authInSz, &out_len_tmp);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
if (ret == FSP_SUCCESS) {
|
if (ret == FSP_SUCCESS) {
|
||||||
ret = updateFn(&_handle, cipherBuf, plainBuf, sz, NULL, 0UL);
|
out_len_tmp = 0;
|
||||||
|
ret = updateFn(&_handle, cipherBuf,
|
||||||
|
plainBuf, sz, NULL, 0UL, &out_len_tmp);
|
||||||
|
out_len += out_len_tmp;
|
||||||
}
|
}
|
||||||
if (ret != FSP_SUCCESS) {
|
if (ret != FSP_SUCCESS) {
|
||||||
WOLFSSL_MSG("R_XXXX_AesXXXGcmDecryptUpdate: failed in decrypt");
|
WOLFSSL_MSG("R_XXXX_AesXXXGcmDecryptUpdate: failed in decrypt");
|
||||||
@@ -572,13 +707,22 @@ WOLFSSL_LOCAL int wc_fspsm_AesGcmDecrypt(struct Aes* aes, byte* out,
|
|||||||
|
|
||||||
if (ret == FSP_SUCCESS) {
|
if (ret == FSP_SUCCESS) {
|
||||||
dataLen = 0;
|
dataLen = 0;
|
||||||
|
out_len_tmp = 0;
|
||||||
ret = finalFn(&_handle,
|
ret = finalFn(&_handle,
|
||||||
plainBuf + (sz + delta - WC_AES_BLOCK_SIZE),
|
plainBuf + (sz + delta - WC_AES_BLOCK_SIZE),
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
&out_len_tmp,
|
||||||
|
#else
|
||||||
&dataLen,
|
&dataLen,
|
||||||
|
#endif
|
||||||
aTagBuf,
|
aTagBuf,
|
||||||
min(16, authTagSz));
|
min(16, authTagSz));
|
||||||
|
|
||||||
if (ret == FSP_SUCCESS) {
|
if (ret == FSP_SUCCESS) {
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
out_len += out_len_tmp;
|
||||||
|
dataLen = out_len;
|
||||||
|
#endif
|
||||||
/* copy plain data to out */
|
/* copy plain data to out */
|
||||||
if (sz != dataLen) {
|
if (sz != dataLen) {
|
||||||
WOLFSSL_MSG("sz is not equal to dataLen!!!!");
|
WOLFSSL_MSG("sz is not equal to dataLen!!!!");
|
||||||
@@ -617,7 +761,7 @@ WOLFSSL_LOCAL int wc_fspsm_AesGcmDecrypt(struct Aes* aes, byte* out,
|
|||||||
* sz Length of cipher text/plaintext in bytes
|
* sz Length of cipher text/plaintext in bytes
|
||||||
* return FSP_SUCCESS(0) on Success, otherwise negative value
|
* return FSP_SUCCESS(0) on Success, otherwise negative value
|
||||||
*/
|
*/
|
||||||
WOLFSSL_LOCAL int wc_fspsm_AesCbcEncrypt(struct Aes* aes, byte* out,
|
int wc_fspsm_AesCbcEncrypt(struct Aes* aes, byte* out,
|
||||||
const byte* in, word32 sz)
|
const byte* in, word32 sz)
|
||||||
{
|
{
|
||||||
FSPSM_AES_HANDLE _handle;
|
FSPSM_AES_HANDLE _handle;
|
||||||
@@ -691,7 +835,7 @@ WOLFSSL_LOCAL int wc_fspsm_AesCbcEncrypt(struct Aes* aes, byte* out,
|
|||||||
* sz Length of cipher text/plaintext in bytes
|
* sz Length of cipher text/plaintext in bytes
|
||||||
* return FSP_SUCCESS(0) on Success, otherwise negative value
|
* return FSP_SUCCESS(0) on Success, otherwise negative value
|
||||||
*/
|
*/
|
||||||
WOLFSSL_LOCAL int wc_fspsm_AesCbcDecrypt(struct Aes* aes, byte* out,
|
int wc_fspsm_AesCbcDecrypt(struct Aes* aes, byte* out,
|
||||||
const byte* in, word32 sz)
|
const byte* in, word32 sz)
|
||||||
{
|
{
|
||||||
FSPSM_AES_HANDLE _handle;
|
FSPSM_AES_HANDLE _handle;
|
||||||
@@ -759,7 +903,7 @@ WOLFSSL_LOCAL int wc_fspsm_AesCbcDecrypt(struct Aes* aes, byte* out,
|
|||||||
* aes The AES object.
|
* aes The AES object.
|
||||||
* return none
|
* return none
|
||||||
*/
|
*/
|
||||||
WOLFSSL_LOCAL void wc_fspsm_Aesfree(Aes* aes)
|
void wc_fspsm_Aesfree(Aes* aes)
|
||||||
{
|
{
|
||||||
#if defined(WOLFSSL_RENESAS_FSPSM_TLS)
|
#if defined(WOLFSSL_RENESAS_FSPSM_TLS)
|
||||||
/* In the case of session key, memory is allocated
|
/* In the case of session key, memory is allocated
|
||||||
@@ -814,7 +958,7 @@ int wc_AesSetKey(Aes* aes, const byte* userKey, word32 keylen,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
WOLFSSL_LOCAL int wc_fspsm_AesCipher(int devIdArg, wc_CryptoInfo* info,
|
int wc_fspsm_AesCipher(int devIdArg, wc_CryptoInfo* info,
|
||||||
void* ctx)
|
void* ctx)
|
||||||
{
|
{
|
||||||
int ret = WC_NO_ERR_TRACE(NOT_COMPILED_IN);
|
int ret = WC_NO_ERR_TRACE(NOT_COMPILED_IN);
|
||||||
|
@@ -43,52 +43,148 @@ extern FSPSM_INSTANCE gFSPSM_ctrl;
|
|||||||
/* wrapper for RSIP SHA1 Init */
|
/* wrapper for RSIP SHA1 Init */
|
||||||
static fsp_err_t _R_RSIP_SHA1_GenerateInit(FSPSM_SHA_HANDLE* h)
|
static fsp_err_t _R_RSIP_SHA1_GenerateInit(FSPSM_SHA_HANDLE* h)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_SHA_Init(&gFSPSM_ctrl, RSIP_HASH_TYPE_SHA1);
|
||||||
|
#else
|
||||||
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA1 );
|
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA1 );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for RSIP SHA224 Init */
|
/* wrapper for RSIP SHA224 Init */
|
||||||
static fsp_err_t _R_RSIP_SHA224_GenerateInit(FSPSM_SHA_HANDLE* h)
|
static fsp_err_t _R_RSIP_SHA224_GenerateInit(FSPSM_SHA_HANDLE* h)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_SHA_Init(&gFSPSM_ctrl, RSIP_HASH_TYPE_SHA224);
|
||||||
|
#else
|
||||||
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA224 );
|
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA224 );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for RSIP SHA256 Init */
|
/* wrapper for RSIP SHA256 Init */
|
||||||
static fsp_err_t _R_RSIP_SHA256_GenerateInit(FSPSM_SHA_HANDLE* h)
|
static fsp_err_t _R_RSIP_SHA256_GenerateInit(FSPSM_SHA_HANDLE* h)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_SHA_Init(&gFSPSM_ctrl, RSIP_HASH_TYPE_SHA256);
|
||||||
|
#else
|
||||||
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA256 );
|
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA256 );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for RSIP SHA384 Init */
|
/* wrapper for RSIP SHA384 Init */
|
||||||
static fsp_err_t _R_RSIP_SHA384_GenerateInit(FSPSM_SHA_HANDLE* h)
|
static fsp_err_t _R_RSIP_SHA384_GenerateInit(FSPSM_SHA_HANDLE* h)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_SHA_Init(&gFSPSM_ctrl, RSIP_HASH_TYPE_SHA384);
|
||||||
|
#else
|
||||||
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA384 );
|
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA384 );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for RSIP SHA512 Init */
|
/* wrapper for RSIP SHA512 Init */
|
||||||
static fsp_err_t _R_RSIP_SHA512_GenerateInit(FSPSM_SHA_HANDLE* h)
|
static fsp_err_t _R_RSIP_SHA512_GenerateInit(FSPSM_SHA_HANDLE* h)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_SHA_Init(&gFSPSM_ctrl, RSIP_HASH_TYPE_SHA512);
|
||||||
|
#else
|
||||||
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA512 );
|
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA512 );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for RSIP SHA512_224 Init */
|
/* wrapper for RSIP SHA512_224 Init */
|
||||||
static fsp_err_t _R_RSIP_SHA512_224_GenerateInit(FSPSM_SHA_HANDLE* h)
|
static fsp_err_t _R_RSIP_SHA512_224_GenerateInit(FSPSM_SHA_HANDLE* h)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_SHA_Init(&gFSPSM_ctrl, RSIP_HASH_TYPE_SHA512_224);
|
||||||
|
#else
|
||||||
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA512_224 );
|
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA512_224 );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for RSIP SHA512_256 Init */
|
/* wrapper for RSIP SHA512_256 Init */
|
||||||
static fsp_err_t _R_RSIP_SHA512_256_GenerateInit(FSPSM_SHA_HANDLE* h)
|
static fsp_err_t _R_RSIP_SHA512_256_GenerateInit(FSPSM_SHA_HANDLE* h)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_SHA_Init(&gFSPSM_ctrl, RSIP_HASH_TYPE_SHA512_256);
|
||||||
|
#else
|
||||||
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA512_256 );
|
return R_RSIP_SHA_GenerateInit(&gFSPSM_ctrl, h, RSIP_HASH_TYPE_SHA512_256 );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for RSIP SHA Update */
|
/* wrapper for RSIP SHA Update */
|
||||||
static fsp_err_t _R_RSIP_SHA_GenerateUpdate(FSPSM_SHA_HANDLE* h,
|
static fsp_err_t _R_RSIP_SHA_GenerateUpdate(FSPSM_SHA_HANDLE* h,
|
||||||
uint8_t* m, uint32_t len)
|
uint8_t* m, uint32_t len)
|
||||||
{
|
{
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_SHA_Update(&gFSPSM_ctrl, m, len);
|
||||||
|
#else
|
||||||
return R_RSIP_SHA_GenerateUpdate(&gFSPSM_ctrl, h, m, len );
|
return R_RSIP_SHA_GenerateUpdate(&gFSPSM_ctrl, h, m, len );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* wrapper for RSIP SHA Final */
|
/* wrapper for RSIP SHA Final */
|
||||||
static fsp_err_t _R_RSIP_SHA_GenerateFinal(FSPSM_SHA_HANDLE* h,
|
static fsp_err_t _R_RSIP_SHA_GenerateFinal(FSPSM_SHA_HANDLE* h,
|
||||||
uint8_t* d, uint32_t *sz)
|
uint8_t* d, uint32_t *sz)
|
||||||
{
|
{
|
||||||
(void) sz;
|
(void) sz;
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
(void)h;
|
||||||
|
return R_RSIP_SHA_Finish(&gFSPSM_ctrl, d);
|
||||||
|
#else
|
||||||
return R_RSIP_SHA_GenerateFinal(&gFSPSM_ctrl, h, d);
|
return R_RSIP_SHA_GenerateFinal(&gFSPSM_ctrl, h, d);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif /* WOLFSSL_RENESAS_RSIP */
|
#endif /* WOLFSSL_RENESAS_RSIP */
|
||||||
|
|
||||||
|
#if defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
static int FSPSM_FuncGet(uint32_t sha_type, void** Init,
|
||||||
|
void** Update, void** Final)
|
||||||
|
{
|
||||||
|
(void)Init;
|
||||||
|
(void)Update;
|
||||||
|
(void)Final;
|
||||||
|
|
||||||
|
switch(sha_type) {
|
||||||
|
case FSPSM_SHA1:
|
||||||
|
*Init = FSPSM_SHA1_Init;
|
||||||
|
*Update = FSPSM_SHA1_Up;
|
||||||
|
*Final = FSPSM_SHA1_Final;
|
||||||
|
break;
|
||||||
|
case FSPSM_SHA256:
|
||||||
|
*Init = FSPSM_SHA256_Init;
|
||||||
|
*Update = FSPSM_SHA256_Up;
|
||||||
|
*Final = FSPSM_SHA256_Final;
|
||||||
|
break;
|
||||||
|
case FSPSM_SHA224:
|
||||||
|
*Init = FSPSM_SHA224_Init;
|
||||||
|
*Update = FSPSM_SHA224_Up;
|
||||||
|
*Final = FSPSM_SHA224_Final;
|
||||||
|
break;
|
||||||
|
case FSPSM_SHA384:
|
||||||
|
*Init = FSPSM_SHA384_Init;
|
||||||
|
*Update = FSPSM_SHA384_Up;
|
||||||
|
*Final = FSPSM_SHA384_Final;
|
||||||
|
break;
|
||||||
|
case FSPSM_SHA512:
|
||||||
|
*Init = FSPSM_SHA512_Init;
|
||||||
|
*Update = FSPSM_SHA512_Up;
|
||||||
|
*Final = FSPSM_SHA512_Final;
|
||||||
|
break;
|
||||||
|
case FSPSM_SHA512_224:
|
||||||
|
*Init = FSPSM_SHA512_224_Init;
|
||||||
|
*Update = FSPSM_SHA512_224_Up;
|
||||||
|
*Final = FSPSM_SHA512_224_Final;
|
||||||
|
break;
|
||||||
|
case FSPSM_SHA512_256:
|
||||||
|
*Init = FSPSM_SHA512_256_Init;
|
||||||
|
*Update = FSPSM_SHA512_256_Up;
|
||||||
|
*Final = FSPSM_SHA512_256_Final;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return BAD_FUNC_ARG;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
/* Free up allocation for msg
|
/* Free up allocation for msg
|
||||||
*
|
*
|
||||||
* hash The FSPSM Hash object.
|
* hash The FSPSM Hash object.
|
||||||
@@ -99,7 +195,8 @@ static void FSPSM_HashFree(wolfssl_FSPSM_Hash* hash)
|
|||||||
if (hash == NULL)
|
if (hash == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
XFREE(hash->msg, hash->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
XFREE(hash->msg, hash->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
hash->msg = NULL;
|
hash->msg = NULL;
|
||||||
#endif
|
#endif
|
||||||
@@ -114,7 +211,8 @@ static int FSPSM_HashCopy(wolfssl_FSPSM_Hash* src, wolfssl_FSPSM_Hash* dst)
|
|||||||
|
|
||||||
XMEMCPY(dst, src, sizeof(wolfssl_FSPSM_Hash));
|
XMEMCPY(dst, src, sizeof(wolfssl_FSPSM_Hash));
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
if (src->len > 0 && src->msg != NULL) {
|
if (src->len > 0 && src->msg != NULL) {
|
||||||
dst->msg = (byte*)XMALLOC(src->len, dst->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
dst->msg = (byte*)XMALLOC(src->len, dst->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
if (dst->msg == NULL) {
|
if (dst->msg == NULL) {
|
||||||
@@ -135,7 +233,7 @@ static int FSPSM_HashCopy(wolfssl_FSPSM_Hash* src, wolfssl_FSPSM_Hash* dst)
|
|||||||
static int FSPSM_HashInit(wolfssl_FSPSM_Hash* hash, void* heap, int devId,
|
static int FSPSM_HashInit(wolfssl_FSPSM_Hash* hash, void* heap, int devId,
|
||||||
word32 sha_type)
|
word32 sha_type)
|
||||||
{
|
{
|
||||||
#if defined(WOLFSSL_RENESAS_RSIP)
|
#if defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER < 220)
|
||||||
int ret;
|
int ret;
|
||||||
fsp_err_t (*Init)(FSPSM_SHA_HANDLE*);
|
fsp_err_t (*Init)(FSPSM_SHA_HANDLE*);
|
||||||
#endif
|
#endif
|
||||||
@@ -148,7 +246,8 @@ static int FSPSM_HashInit(wolfssl_FSPSM_Hash* hash, void* heap, int devId,
|
|||||||
hash->sha_type = sha_type;
|
hash->sha_type = sha_type;
|
||||||
hash->heap = heap;
|
hash->heap = heap;
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
hash->len = 0;
|
hash->len = 0;
|
||||||
hash->used = 0;
|
hash->used = 0;
|
||||||
hash->msg = NULL;
|
hash->msg = NULL;
|
||||||
@@ -199,7 +298,7 @@ static int FSPSM_HashInit(wolfssl_FSPSM_Hash* hash, void* heap, int devId,
|
|||||||
static int FSPSM_HashUpdate(wolfssl_FSPSM_Hash* hash,
|
static int FSPSM_HashUpdate(wolfssl_FSPSM_Hash* hash,
|
||||||
const byte* data, word32 sz)
|
const byte* data, word32 sz)
|
||||||
{
|
{
|
||||||
#if defined(WOLFSSL_RENESAS_RSIP)
|
#if defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER < 220)
|
||||||
int ret;
|
int ret;
|
||||||
fsp_err_t (*Update)(FSPSM_SHA_HANDLE*, uint8_t*, uint32_t);
|
fsp_err_t (*Update)(FSPSM_SHA_HANDLE*, uint8_t*, uint32_t);
|
||||||
#endif
|
#endif
|
||||||
@@ -208,7 +307,8 @@ static int FSPSM_HashUpdate(wolfssl_FSPSM_Hash* hash,
|
|||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
if (hash->len < hash->used + sz) {
|
if (hash->len < hash->used + sz) {
|
||||||
if (hash->msg == NULL) {
|
if (hash->msg == NULL) {
|
||||||
hash->msg = (byte*)XMALLOC(hash->used + sz, hash->heap,
|
hash->msg = (byte*)XMALLOC(hash->used + sz, hash->heap,
|
||||||
@@ -292,7 +392,8 @@ static int FSPSM_HashFinal(wolfssl_FSPSM_Hash* hash, byte* out, word32 outSz)
|
|||||||
void* heap;
|
void* heap;
|
||||||
(void) outSz;
|
(void) outSz;
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
FSPSM_SHA_HANDLE handle;
|
FSPSM_SHA_HANDLE handle;
|
||||||
fsp_err_t (*Init)(FSPSM_SHA_HANDLE*);
|
fsp_err_t (*Init)(FSPSM_SHA_HANDLE*);
|
||||||
fsp_err_t (*Update)(FSPSM_SHA_HANDLE*, uint8_t*, uint32_t);
|
fsp_err_t (*Update)(FSPSM_SHA_HANDLE*, uint8_t*, uint32_t);
|
||||||
@@ -300,14 +401,21 @@ static int FSPSM_HashFinal(wolfssl_FSPSM_Hash* hash, byte* out, word32 outSz)
|
|||||||
if (hash == NULL || out == NULL) {
|
if (hash == NULL || out == NULL) {
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
}
|
}
|
||||||
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
||||||
if (hash->sha_type == FSPSM_SHA256) {
|
if (hash->sha_type == FSPSM_SHA256) {
|
||||||
Init = FSPSM_SHA256_Init;
|
Init = FSPSM_SHA256_Init;
|
||||||
Update = FSPSM_SHA256_Up;
|
Update = FSPSM_SHA256_Up;
|
||||||
Final = FSPSM_SHA256_Final;
|
Final = FSPSM_SHA256_Final;
|
||||||
} else
|
} else
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
|
#else
|
||||||
|
Init = NULL;
|
||||||
|
Update = NULL;
|
||||||
|
Final = NULL;
|
||||||
|
ret = FSPSM_FuncGet(hash->sha_type, (void**)&Init,
|
||||||
|
(void**)&Update, (void**)&Final);
|
||||||
|
if (ret != 0) return ret;
|
||||||
|
#endif
|
||||||
wc_fspsm_hw_lock();
|
wc_fspsm_hw_lock();
|
||||||
|
|
||||||
if (Init(&handle) == FSP_SUCCESS) {
|
if (Init(&handle) == FSP_SUCCESS) {
|
||||||
@@ -379,7 +487,8 @@ static int FSPSM_HashGet(wolfssl_FSPSM_Hash* hash, byte* out, word32 outSz)
|
|||||||
uint32_t sz = 0;
|
uint32_t sz = 0;
|
||||||
(void) outSz;
|
(void) outSz;
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
FSPSM_SHA_HANDLE handle;
|
FSPSM_SHA_HANDLE handle;
|
||||||
fsp_err_t (*Init)(FSPSM_SHA_HANDLE*);
|
fsp_err_t (*Init)(FSPSM_SHA_HANDLE*);
|
||||||
fsp_err_t (*Update)(FSPSM_SHA_HANDLE*, uint8_t*, uint32_t);
|
fsp_err_t (*Update)(FSPSM_SHA_HANDLE*, uint8_t*, uint32_t);
|
||||||
@@ -392,14 +501,23 @@ static int FSPSM_HashGet(wolfssl_FSPSM_Hash* hash, byte* out, word32 outSz)
|
|||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
||||||
if (hash->sha_type == FSPSM_SHA256) {
|
if (hash->sha_type == FSPSM_SHA256) {
|
||||||
Init = FSPSM_SHA256_Init;
|
Init = FSPSM_SHA256_Init;
|
||||||
Update = FSPSM_SHA256_Up;
|
Update = FSPSM_SHA256_Up;
|
||||||
Final = FSPSM_SHA256_Final;
|
Final = FSPSM_SHA256_Final;
|
||||||
} else
|
} else
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
|
#else
|
||||||
|
Init = NULL;
|
||||||
|
Update = NULL;
|
||||||
|
Final = NULL;
|
||||||
|
ret = FSPSM_FuncGet(hash->sha_type, (void**)&Init,
|
||||||
|
(void**)&Update, (void**)&Final);
|
||||||
|
if (ret != 0) return ret;
|
||||||
|
#endif
|
||||||
wc_fspsm_hw_lock();
|
wc_fspsm_hw_lock();
|
||||||
if (Init(&handle) == FSP_SUCCESS) {
|
if (Init(&handle) == FSP_SUCCESS) {
|
||||||
ret = Update(&handle, (uint8_t*)hash->msg, hash->used);
|
ret = Update(&handle, (uint8_t*)hash->msg, hash->used);
|
||||||
|
@@ -1278,6 +1278,11 @@ WOLFSSL_API int wc_fspsm_set_callback_ctx(WOLFSSL* ssl, void* user_ctx)
|
|||||||
|
|
||||||
ForceZero(uCtx->internal, sizeof(FSPSM_ST_Internal));
|
ForceZero(uCtx->internal, sizeof(FSPSM_ST_Internal));
|
||||||
|
|
||||||
|
uCtx->internal->ssl = ssl;
|
||||||
|
uCtx->internal->ctx = ssl->ctx;
|
||||||
|
uCtx->internal->heap = ssl->heap;
|
||||||
|
uCtx->internal->side = ssl->ctx->method->side;
|
||||||
|
|
||||||
ssl->RenesasUserCtx = user_ctx; /* ssl doesn't own user_ctx */
|
ssl->RenesasUserCtx = user_ctx; /* ssl doesn't own user_ctx */
|
||||||
|
|
||||||
wolfSSL_SetEccVerifyCtx(ssl, user_ctx);
|
wolfSSL_SetEccVerifyCtx(ssl, user_ctx);
|
||||||
|
@@ -2246,7 +2246,7 @@ WOLFSSL_API int tsip_set_callback_ctx(WOLFSSL* ssl, void* user_ctx)
|
|||||||
WOLFSSL_ENTER("tsip_set_callback_ctx");
|
WOLFSSL_ENTER("tsip_set_callback_ctx");
|
||||||
|
|
||||||
TsipUserCtx* uCtx = (TsipUserCtx*)user_ctx;
|
TsipUserCtx* uCtx = (TsipUserCtx*)user_ctx;
|
||||||
if (user_ctx == NULL) {
|
if (user_ctx == NULL || ssl == NULL) {
|
||||||
WOLFSSL_MSG("user ctx is null");
|
WOLFSSL_MSG("user ctx is null");
|
||||||
return BAD_FUNC_ARG;
|
return BAD_FUNC_ARG;
|
||||||
}
|
}
|
||||||
|
@@ -1065,6 +1065,7 @@ void wc_ShaFree(wc_Sha* sha)
|
|||||||
#if (defined(WOLFSSL_RENESAS_TSIP_TLS) || \
|
#if (defined(WOLFSSL_RENESAS_TSIP_TLS) || \
|
||||||
defined(WOLFSSL_RENESAS_TSIP_CRYPTONLY)) && \
|
defined(WOLFSSL_RENESAS_TSIP_CRYPTONLY)) && \
|
||||||
!defined(NO_WOLFSSL_RENESAS_TSIP_CRYPT_HASH) || \
|
!defined(NO_WOLFSSL_RENESAS_TSIP_CRYPT_HASH) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220)) ||\
|
||||||
defined(WOLFSSL_RENESAS_RX64_HASH)
|
defined(WOLFSSL_RENESAS_RX64_HASH)
|
||||||
XFREE(sha->msg, sha->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
XFREE(sha->msg, sha->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
sha->msg = NULL;
|
sha->msg = NULL;
|
||||||
|
@@ -2303,7 +2303,8 @@ void wc_Sha256Free(wc_Sha256* sha256)
|
|||||||
((defined(WOLFSSL_RENESAS_TSIP_TLS) || \
|
((defined(WOLFSSL_RENESAS_TSIP_TLS) || \
|
||||||
defined(WOLFSSL_RENESAS_TSIP_CRYPTONLY)) && \
|
defined(WOLFSSL_RENESAS_TSIP_CRYPTONLY)) && \
|
||||||
!defined(NO_WOLFSSL_RENESAS_TSIP_CRYPT_HASH)) || \
|
!defined(NO_WOLFSSL_RENESAS_TSIP_CRYPT_HASH)) || \
|
||||||
(defined(WOLFSSL_RENESAS_SCEPROTECT) && \
|
((defined(WOLFSSL_RENESAS_SCEPROTECT) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))) && \
|
||||||
!defined(NO_WOLFSSL_RENESAS_FSPSM_HASH)) || \
|
!defined(NO_WOLFSSL_RENESAS_FSPSM_HASH)) || \
|
||||||
defined(WOLFSSL_RENESAS_RX64_HASH) || \
|
defined(WOLFSSL_RENESAS_RX64_HASH) || \
|
||||||
defined(WOLFSSL_HASH_KEEP)
|
defined(WOLFSSL_HASH_KEEP)
|
||||||
|
@@ -1500,7 +1500,8 @@ void wc_Sha512Free(wc_Sha512* sha512)
|
|||||||
KcapiHashFree(&sha512->kcapi);
|
KcapiHashFree(&sha512->kcapi);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(WOLFSSL_HASH_KEEP)
|
#if defined(WOLFSSL_HASH_KEEP) ||\
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
if (sha512->msg != NULL) {
|
if (sha512->msg != NULL) {
|
||||||
ForceZero(sha512->msg, sha512->len);
|
ForceZero(sha512->msg, sha512->len);
|
||||||
XFREE(sha512->msg, sha512->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
XFREE(sha512->msg, sha512->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
@@ -1931,7 +1932,8 @@ void wc_Sha384Free(wc_Sha384* sha384)
|
|||||||
KcapiHashFree(&sha384->kcapi);
|
KcapiHashFree(&sha384->kcapi);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(WOLFSSL_HASH_KEEP)
|
#if defined(WOLFSSL_HASH_KEEP) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
if (sha384->msg != NULL) {
|
if (sha384->msg != NULL) {
|
||||||
ForceZero(sha384->msg, sha384->len);
|
ForceZero(sha384->msg, sha384->len);
|
||||||
XFREE(sha384->msg, sha384->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
XFREE(sha384->msg, sha384->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
|
@@ -263,7 +263,7 @@ const byte const_byte_array[] = "A+Gd\0\0\0";
|
|||||||
#include <printx.h>
|
#include <printx.h>
|
||||||
#undef printf
|
#undef printf
|
||||||
#define printf printx
|
#define printf printx
|
||||||
#elif defined(WOLFSSL_RENESAS_RSIP)
|
#elif defined(WOLFSSL_RENESAS_RSIP) || defined(WOLFSSL_RENESAS_RZN2L)
|
||||||
#ifndef TEST_SLEEP
|
#ifndef TEST_SLEEP
|
||||||
#define TEST_SLEEP() vTaskDelay(50)
|
#define TEST_SLEEP() vTaskDelay(50)
|
||||||
#endif
|
#endif
|
||||||
|
@@ -21,12 +21,13 @@
|
|||||||
#ifndef __RENESAS_FSPSM_CRYPT_H__
|
#ifndef __RENESAS_FSPSM_CRYPT_H__
|
||||||
#define __RENESAS_FSPSM_CRYPT_H__
|
#define __RENESAS_FSPSM_CRYPT_H__
|
||||||
|
|
||||||
|
#include <wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-types.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define WOLFSSL_FSPSM_ILLEGAL_CIPHERSUITE -1
|
#define WOLFSSL_FSPSM_ILLEGAL_CIPHERSUITE -1
|
||||||
#define MAX_FSPSM_CBINDEX 5
|
|
||||||
|
|
||||||
typedef void* FSPSM_W_KEYVAR;
|
typedef void* FSPSM_W_KEYVAR;
|
||||||
|
|
||||||
@@ -44,9 +45,6 @@ struct FSPSM_key_flg_ST {
|
|||||||
typedef struct FSPSM_ST_Internal FSPSM_ST_Internal;
|
typedef struct FSPSM_ST_Internal FSPSM_ST_Internal;
|
||||||
|
|
||||||
typedef struct FSPSM_tag_ST {
|
typedef struct FSPSM_tag_ST {
|
||||||
/* unique number for each session */
|
|
||||||
int devId;
|
|
||||||
|
|
||||||
/* installed key handling */
|
/* installed key handling */
|
||||||
/* aes */
|
/* aes */
|
||||||
FSPSM_W_KEYVAR wrapped_key_aes256;
|
FSPSM_W_KEYVAR wrapped_key_aes256;
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
#define FSPSM_key_flg_ST sce_keyflgs_crypt
|
#define FSPSM_key_flg_ST sce_keyflgs_crypt
|
||||||
#define FSPSM_tag_ST tagUser_SCEPKCbInfo
|
#define FSPSM_tag_ST tagUser_SCEPKCbInfo
|
||||||
#define FSPSM_ST User_SCEPKCbInfo
|
#define FSPSM_ST User_SCEPKCbInfo
|
||||||
|
#define FSPSM_ST_Internal FSPSM_ST_Internal
|
||||||
#define FSPSM_ST_PKC SCE_PKCbInfo
|
#define FSPSM_ST_PKC SCE_PKCbInfo
|
||||||
|
|
||||||
/* map SCE API to macro */
|
/* map SCE API to macro */
|
||||||
@@ -167,28 +168,38 @@
|
|||||||
#elif defined(WOLFSSL_RENESAS_RSIP)
|
#elif defined(WOLFSSL_RENESAS_RSIP)
|
||||||
|
|
||||||
#include "r_rsip.h"
|
#include "r_rsip.h"
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 200)
|
||||||
|
#include "r_rsip_api.h"
|
||||||
|
#endif
|
||||||
/* structure, type so on */
|
/* structure, type so on */
|
||||||
#define FSPSM_W_KEYVAR renesas_rsip_wrappedkey
|
#define FSPSM_W_KEYVAR renesas_rsip_wrappedkey
|
||||||
#define FSPSM_tls_flg_ST rsip_keyflgs_tls
|
#define FSPSM_tls_flg_ST rsip_keyflgs_tls
|
||||||
#define FSPSM_key_flg_ST rsip_keyflgs_crypt
|
#define FSPSM_key_flg_ST rsip_keyflgs_crypt
|
||||||
#define FSPSM_tag_ST tagUser_RSIPPKCbInfo
|
#define FSPSM_tag_ST tagUser_RSIPPKCbInfo
|
||||||
#define FSPSM_ST User_RSIPPKCbInfo
|
#define FSPSM_ST User_RSIPPKCbInfo
|
||||||
|
#define FSPSM_ST_Internal FSPSM_ST_Internal
|
||||||
#define FSPSM_ST_PKC RSIP_PKCbInfo
|
#define FSPSM_ST_PKC RSIP_PKCbInfo
|
||||||
#define FSPSM_KEY_TYPE rsip_key_type_t
|
#define FSPSM_KEY_TYPE rsip_key_type_t
|
||||||
|
|
||||||
#define FSPSM_INSTANCE rsip_instance_ctrl_t
|
#define FSPSM_INSTANCE rsip_instance_ctrl_t
|
||||||
#define gFSPSM_ctrl rsip_ctrl
|
|
||||||
#define FSPSM_CONFIG rsip_cfg_t
|
#define FSPSM_CONFIG rsip_cfg_t
|
||||||
|
#if (WOLFSSL_RENESAS_RZFSP_VER >= 220)
|
||||||
|
#define gFSPSM_ctrl g_rsip_ctrl
|
||||||
|
#define gFSPSM_cfg g_rsip_cfg
|
||||||
|
#else
|
||||||
|
#define gFSPSM_ctrl rsip_ctrl
|
||||||
#define gFSPSM_cfg rsip_cfg
|
#define gFSPSM_cfg rsip_cfg
|
||||||
|
#endif
|
||||||
#define H_INSTANCE gFSPSM_ctrl
|
#define H_INSTANCE gFSPSM_ctrl
|
||||||
#define FSPSM_OPEN R_RSIP_Open
|
#define FSPSM_OPEN R_RSIP_Open
|
||||||
#define FSPSM_CLOSE R_RSIP_Close
|
#define FSPSM_CLOSE R_RSIP_Close
|
||||||
|
|
||||||
/* rnd generation func */
|
/* rnd generation func */
|
||||||
#define R_RANDOM_GEN(b) R_RSIP_RandomNumberGenerate(&gFSPSM_ctrl,b)
|
#define R_RANDOM_GEN(b) \
|
||||||
|
R_RSIP_RandomNumberGenerate(&gFSPSM_ctrl, (uint8_t* const)b)
|
||||||
/* sha 1*/
|
/* sha 1*/
|
||||||
#define FSPSM_SHA_HANDLE rsip_sha_handle_t
|
#define FSPSM_SHA_HANDLE rsip_sha_handle_t
|
||||||
|
|
||||||
#define FSPSM_SHA1_Init _R_RSIP_SHA1_GenerateInit
|
#define FSPSM_SHA1_Init _R_RSIP_SHA1_GenerateInit
|
||||||
#define FSPSM_SHA1_Up _R_RSIP_SHA_GenerateUpdate
|
#define FSPSM_SHA1_Up _R_RSIP_SHA_GenerateUpdate
|
||||||
#define FSPSM_SHA1_Final _R_RSIP_SHA_GenerateFinal
|
#define FSPSM_SHA1_Final _R_RSIP_SHA_GenerateFinal
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
#ifndef _RENESAS_FSPSM_INTERNAL_H_
|
#ifndef _RENESAS_FSPSM_INTERNAL_H_
|
||||||
#define _RENESAS_FSPSM_INTERNAL_H_
|
#define _RENESAS_FSPSM_INTERNAL_H_
|
||||||
|
|
||||||
#include <wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-types.h>
|
|
||||||
#include <wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-crypt.h>
|
#include <wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-crypt.h>
|
||||||
|
|
||||||
/* Wrapped TLS FSP Key Set Flags */
|
/* Wrapped TLS FSP Key Set Flags */
|
||||||
@@ -32,9 +32,18 @@ struct FSPSM_tls_flg_ST {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct FSPSM_ST_Internal {
|
struct FSPSM_ST_Internal {
|
||||||
|
/* unique number for each session */
|
||||||
|
int devId;
|
||||||
|
|
||||||
#if defined(WOLFSSL_RENESAS_FSPSM_TLS) && \
|
#if defined(WOLFSSL_RENESAS_FSPSM_TLS) && \
|
||||||
!defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY)
|
!defined(WOLFSSL_RENESAS_FSPSM_CRYPTONLY)
|
||||||
|
/* WOLFSSL object associated with */
|
||||||
|
struct WOLFSSL* ssl;
|
||||||
|
struct WOLFSSL_CTX* ctx;
|
||||||
|
|
||||||
|
/* HEAP_HINT */
|
||||||
|
void* heap;
|
||||||
|
|
||||||
/* out from R_SCE_TLS_ServerKeyExchangeVerify */
|
/* out from R_SCE_TLS_ServerKeyExchangeVerify */
|
||||||
uint32_t
|
uint32_t
|
||||||
encrypted_ephemeral_ecdh_public_key[FSPSM_TLS_ENCRYPTED_ECCPUBKEY_SZ];
|
encrypted_ephemeral_ecdh_public_key[FSPSM_TLS_ENCRYPTED_ECCPUBKEY_SZ];
|
||||||
@@ -54,7 +63,6 @@ struct FSPSM_ST_Internal {
|
|||||||
uint8_t chr;
|
uint8_t chr;
|
||||||
struct FSPSM_tls_flg_ST bits;
|
struct FSPSM_tls_flg_ST bits;
|
||||||
} keyflgs_tls;
|
} keyflgs_tls;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef WOLFSSL_RENESAS_FSPSM_TLS
|
#ifdef WOLFSSL_RENESAS_FSPSM_TLS
|
||||||
@@ -92,7 +100,8 @@ typedef struct FSPSM_RSA_CTX {
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
void* heap;
|
void* heap;
|
||||||
word32 sha_type;
|
word32 sha_type;
|
||||||
#if defined(WOLFSSL_RENESAS_SCEPROTECT)
|
#if defined(WOLFSSL_RENESAS_SCEPROTECT) || \
|
||||||
|
(defined(WOLFSSL_RENESAS_RSIP) && (WOLFSSL_RENESAS_RZFSP_VER >= 220))
|
||||||
word32 used;
|
word32 used;
|
||||||
word32 len;
|
word32 len;
|
||||||
byte* msg;
|
byte* msg;
|
||||||
|
@@ -113,7 +113,7 @@ enum {
|
|||||||
#include "wolfssl/wolfcrypt/port/Renesas/renesas-rx64-hw-crypt.h"
|
#include "wolfssl/wolfcrypt/port/Renesas/renesas-rx64-hw-crypt.h"
|
||||||
#elif defined(WOLFSSL_RENESAS_RSIP) && \
|
#elif defined(WOLFSSL_RENESAS_RSIP) && \
|
||||||
!defined(NO_WOLFSSL_RENESAS_FSPSM_HASH)
|
!defined(NO_WOLFSSL_RENESAS_FSPSM_HASH)
|
||||||
#include "wolfssl/wolfcrypt/port/Renesas/renesas-fspsm-crypt.h"
|
#include "wolfssl/wolfcrypt/port/Renesas/renesas_fspsm_internal.h"
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if defined(WOLFSSL_SE050) && defined(WOLFSSL_SE050_HASH)
|
#if defined(WOLFSSL_SE050) && defined(WOLFSSL_SE050_HASH)
|
||||||
|
Reference in New Issue
Block a user