如何安装Windows版VRTE2.1.0开发环境并进行开发

news2024/11/15 8:12:49
  1. 前言(Abstract)

本文档记录了如何安装Windows版VRTE2.1.0开发环境并进行开发,并且总结了当部署在安装了比较陈旧版本Linux内核(如<4.5)和库的板子上所遭遇的困难,如S32V234EVB。

    1. Definitions and Abbreviations

Acronym

Definition

ECU

Electronic Control Unit

RTE

Run-Time Environment

Table 1.1 - Definitions and abbreviations

    1. Configuration Tools

S. No.

Software

Version

Description

1

ISOLAR-AB

9.2.2

Used for SWC and RTE configuration and code generation for this release.

2

RTA-VRTE

2.1.0

Used for AUTOSAR middleware.

Table 1.2 – Configuration Tools

 

  1. 相关文档(Related documents Documentation)
  • 0. RTA-VRTE V2.1.0 Getting Started Guide
  • 1. RTA-VRTE V2.1.0 User Guide
  • 2. ISOLAR-AB_V9.2.2_ReleaseNotes.pdf
  1. 安装包和环境搭建(Installation package and environment setup File)
    1. RTA-VRTE 2.1.0.exe

    RTA-VRTE 2.1.0.exe是Windows版本VRTE 2.1.0的安装包。

     当安装完成后,默认将在C:\VRTE_SDK_2.1.0目录下生成VRTE SDK;默认将在C:\Program Files (x86)\ETAS\RTA-VRTE_2.1.0目录下生成全部文件的根目录。VRTE 2.1.0的使用不需要license。

Figure 3‑1 VRTE 2.1.0 SDK安装路径

Figure 3‑2 VRTE 2.1.0 全部文件安装路径

    1. ISOLAR-AB_V9.2.2_Image.zip

    ISOLAR-AB_V9.2.2_Image.zip中的ISOLAR-AB_V9.2.2.zip是Windows版本ISOLAR-A_Adaptive安装包。

    ISOLAR默认安装在C:\ETAS\ISOLAR-AB_V9.2.2。

Figure 3‑3 ISOLAR-AB_V9.2.2安装路径

ISOLAR需要安装ISOLAR-A Adaptive AddOns.exe插件才能使用Autosar AP开发需要的相关工具。

ISOLAR-A_ADAPTIVE安装包路径如下:

ISOLAR needs install ISOLAR-A Adaptive AddOns.exe add-on to make Autosar AP related tools be usable.

The ISOLAR-A_ADAPTIVE installer is available here:

ISOLAR-AB_V9.2.2_Image\Updatesites\ISOLAR-A_Adaptive\Addons\ISOLAR-A Adaptive AddOns.exe

Figure 3‑4 ISOLAR-A Adaptive AddOns.exe存在路径

    ISOLAR需要license_ISOLAR-ADAPTIVE才能使用。请从ETAS获得。

    ISOLAR need ISOLAR-ADAPTIVE license. Please consultant to ETAS.

Figure 3‑6 ISOLAR-AB_V9.2.2运行界面

    1. cmake-3.24.1-windows-x86_64.msi

    cmake-3.24.1-windows-x86_64.msi是Windows版本cmake安装包,下载地址:Download | CMake。

    cmake-3.24.1-windows-x86_64.msi is the Windows version of cmake installation package. Download Address: Download | CMake

    cmake默认安装在C:\Program Files\CMake。检查系统环境变量Path是否包含CMake命令。

    cmake is installed at C:\Program Files\CMake definitely. Please check the system env whether the Path variable involves the CMake bins.

Figure 3‑7 cmake安装路径

Figure 3‑8 cmake环境变量设置

注:该版本cmake已经验证,使用其他版本不保证不会遇到问题。

Notice: This version of cmake is already verified, using other versions does not guarantee that there will be no problems.

    1. mingw-get-setup.exe

    mingw-get-setup.exe是Windows版本mingw installation manager安装包。通过mingw installation manager安装所有与make命令相关的包。

    mingw-get-setup.exe is the Windows version of mingw installation manager installation package. Through mingw installation manager you should install all packages related to make command.

Figure 3‑9 mingw版本信息

Figure 3-10 mingw installation manager安装项

Figure 3-11 mingw installation manager安装项

    mingw默认安装在C:\MinGW。检查系统环境变量Path是否包含mingw命令。

    mingw is installed at C:\MinGW definitely. Please check the system env whether the Path variable involves the mingw bins.

Figure 3‑12 mingw安装路径

Figure 3‑13 mingw环境变量设置

注:该版本mingw已经验证,使用其他版本不保证不会遇到问题。

Notice: This version of mingw is already verified, using other versions does not guarantee that there will be no problems.

    1. gcc-arm-10.2-2020.11-mingw-w64-i686-aarch64-none-linux-gnu.tar.xz

    gcc-arm-10.2-2020.11-mingw-w64-i686-aarch64-none-linux-gnu.tar.xz是Windows 64版本以ARM 64 Linux为目标的gcc安装包。下载地址:Downloads | GNU-A Downloads – Arm Developer

    gcc-arm-10.2-2020.11-mingw-w64-i686-aarch64-none-linux-gnu.tar.xz is the Windows 64 hosted, ARM 64 targeted version of gcc installation package. Download address: Downloads | GNU-A Downloads – Arm Developer

    可以直接将其解压在C:\CrossCompilers目录,不需要设置环境变量。

    You may decompress it into C:\CrossCompilers directory, without setting the system environment variables.

Figure 3‑14 gcc安装路径

注:该版本gcc已经验证,使用其他版本不保证不会遇到问题。

Notice: This version of gcc is already verified, using other versions does not guarantee that there will be no problems.

  1. 用例开发和编译流程(Use case development and compilation process)
    1. 确定工程目录(Determine project directory exe)

从C:\Program Files (x86)\ETAS\RTA-VRTE_2.1.0\Examples拷贝HelloWorld到合适的工作路径,以将其拷贝到C:\Users\HNN4SGH\Downloads\HelloWorld为例。

Copy the Hello use case from C:\Program Files (x86)\ETAS\RTA-VRTE_2.1.0\Examples to a reasonable place, below I copy it to C:\Users\HNN4SGH\Downloads\HelloWorld for example.

    1. 构建.cmake文件(Construct .cmake file)

    从 \RTA-VRTE_2.1.0\SDK\toolchain_files拷贝rta-vrte_common_toolchain.cmake到HelloWorld目录。创建helloworld_toolchain.cmake文件并输入以下内容:

    Copy the rta-vrte_common_toolchain.cmake file from \RTA-VRTE_2.1.0\SDK\toolchain_files to Hello directory. Create helloworld_toolchain.cmake and input below content:

##########################################################

# File Name: helloworld_toolchain.cmake

# System Version: Linux

# Date: 2022.09.08

##########################################################

include(${CMAKE_CURRENT_LIST_DIR}/rta-vrte_common_toolchain.cmake)


set(CMAKE_SYSTEM_NAME Linux)

######set(TOOLCHAIN_PATH C:/CrossCompilers/Arm-GNU-Toolchain-aarch64-none-linux-gnu/11.3-rel1)

set(TOOLCHAIN_PATH C:/CrossCompilers/gcc-arm-10.2-2020.11-mingw-w64-i686-aarch64-none-linux-gnu)

set(CMAKE_C_COMPILER ${TOOLCHAIN_PATH}/bin/aarch64-none-linux-gnu-gcc.exe)

set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PATH}/bin/aarch64-none-linux-gnu-g++.exe)


set(LINUX_AARCH64_SDK_PATH ${SDK_PATH}/linux-aarch64)

message(STATUS "The RTA-VRTE LINUX aarch64 SDK path is: ${LINUX_AARCH64_SDK_PATH}")


set(CMAKE_FIND_ROOT_PATH ${LINUX_AARCH64_SDK_PATH}/opt/vrte ${LINUX_AARCH64_SDK_PATH})

其中,TOOLCHAIN_PATH需换成安装的真实路径。

Among this file, the TOOLCHAIN_PATH variable should be set as the actual installation path.

    1. 生成ecucfg文件(Generate ecucfg files)

    可以使用ISOLAR生成ecucfg文件,也可以执行下一步cmake命令时同时生成ecucfg文件。使用ISOLAR生成ecucfg文件的方法如下:

    You can use ISOLAR to generate ecucfg files, you can also execute the next cmake command to generate ecucfg files simultaneously. Below is the ISOLAR method:

Figure 4‑1 使用ISOLAR生成ecucfg方法

    1. 执行VRTE配置脚本(Execute VRTE configuration script)

    VRTE配置脚本为C:\ETAS\RTA-VRTE_2.1.0\rta_vrte_env.bat。打开系统cmd执行该脚本。

    VRTE configuration script is C: \ETAS\RTA-VRTE_2.1.0\rta_vrte_env. bat. Open the system cmd window and execute this script.

    1. 执行cmake命令(Execute cmake command)

    在helloword工程目录下进入CMD窗口并执行cmake命令,创建CMakeFiles目录结构和Makefile:

    In the helloword project folder, go to CMD window and Execute cmake command, creating CMakeFiles index and Makefile:

cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=C:\ETASData\ISOLAR-AB\workspace_adaptive\HelloWorld\helloworld_toolchain.cmake -DSDK_PATH=C:\VRTE_SDK_2.1.0

Figure 4‑2 cmake -G命令执行打印1

Figure 4‑3 cmake -G命令执行打印2

    1. 执行make命令(Execute make command)

    执行make命令,编译HelloWorld可执行文件:

    Execute make command, compiling the HelloWorld executable:

make

Figure 4‑4 make命令执行打印1

Figure 4‑5 make命令执行打印2

    1. 执行make install命令(Execute make install command)

    执行make install命令, 将可执行文件和ecucfg文件放置到HelloWorld/install/bin目录下:

    Execute make install command, putting the executable and ecucfg files into HelloWorld/install/bin path:

make install

Figure 4‑5 make install命令执行打印

  1. 用例部署和执行流程(Use case deployment and execution process)

    1. VRTE SDK 部署(VRTE SDK deployment)

    从C:\VRTE_SDK_2.1.0\linux-aarch64\opt拷贝vrte到开发板文件系统的/opt下。事实上不需要拷贝include和lib中的.a文件。

    Copy the vrte folder from C:\VRTE_SDK_2.1.0\linux-aarch64\opt to target board’s /opt directory. Actually you don’t need copy the include folder and the .a files in lib folder.

    在开发板文件系统中创建以下目录:

    Create below directories in target board:

mkdir -p /opt/vrte/user/bin /opt/vrte/user/share /opt/vrte/user/etc/ecu-cfg/ar-20-11

    1. Bin和Ecucfg文件部署(Bin and Ecucfg files deployment)

    通过SD卡读卡器、scp、ftp等方式将bin和ecucfg文件拷贝到开发板文件系统的以下目录:

    Copy the bin and ecucfg files from HelloWorld/install/bin to target board’s below directories, through SD card reader, scp command and ftp etc:

LOG_HelloWorld_Process__SoftwareCluster_0_nodeData.ecucfg > /opt/vrte/usr/etc/ecu-cfg/ar-20-11

EXM__SoftwareCluster_0_nodeData.ecucfg > /opt/vrte/exm-aap-execution-manager/etc/ecu-cfg/ar-20-11

LOG_rb_exmd__SoftwareCluster_1_nodeData.ecucfg > /opt/vrte/exm-aap-execution-manager/etc/ecu-cfg/ar-20-11

LOG_dlt_A__SoftwareCluster_0_nodeData.ecucfg > /opt/vrte/dev-aap-dlt/etc/ecu-cfg/ar-20-11

LOG__SoftwareCluster_0_nodeData.ecucfg > /opt/vrte/dev-aap-dlt/etc/ecu-cfg/ar-20-11

STM__SoftwareCluster_0_nodeData.ecucfg > /opt/vrte/stm-project/etc/ecu-cfg/ar-20-11

HelloWorld > /opt/vrte/usr/bin

    1. 执行脚本创建和部署(Execution script creation and deployment)

    在开发板文件系统的/opt/vrte/usr/bin目录下创建exmd.sh文件并输入以下内容:

    Create exmd.sh file in target board’s /opt/vrte/usr/bin directory and input below:

echo "Creating dlt runtime cfg..."

touch /tmp/dlt-runtime-application.cfg

touch /tmp/dlt-runtime-context.cfg

touch /tmp/dlt-runtime.cfg

export ECUCFG_ENV_VAR_ROOTFOLDER=/opt/vrte/exm-aap-execution-manager/etc/ecu-cfg

export LD_LIBRARY_PATH=/opt/vrte/lib:$LD_LIBRARY_PATH

export LOGTRACEDEFAULTLOGLEVEL=info

export LOGTRACELOGMODE=network,console

export LOGTRACEPROCESSDESC="VRTE:EXM: daemon logging"

export LOGTRACEPROCESSID=EXM

export PROCESSIDENTIFIER=rb_exmd

chmod 777 /opt/vrte/dev-aap-dlt/etc/*

chmod 777 /opt/vrte/exm-aap-execution-manager/etc/*

chmod 777 /opt/vrte/stm-project/etc/*

chmod 777 /opt/vrte/usr/etc/*

chmod +x /opt/vrte/dev-aap-dlt/bin/rb-dltd

chmod +x /opt/vrte/usr/bin/*

/opt/vrte/exm-aap-execution-manager/bin/rb-exmd -t 60000 &

然后赋予exmd.sh执行权限:

Then give exmd.sh execution permission:

chmod +x exmd.sh

    1. 用例执行(Execution use case)

在开发板文件系统的/opt/vrte/usr/bin目录下执行./exmd.sh:

Execute ./exmd.sh in target board’s /opt/vrte/usr/bin directory:

./exmd.sh

Figure 5‑1 用例执行打印1

Figure 5‑2 用例执行打印2

  1. 附录(Appendix)
    1. S32V234EVB实验遇到的错误和纠正方法(S32V234EVB experiment encountered errors and work arounds)

6.1.1.     版本分析(Version analysis)

    S32V234EVB运行4.19.59内核,安装2.26版本的GLIBC和3.4.22版本的GLIBCXX。

Figure 6‑1 S32V234EVB的Linux内核分析

Figure 6‑2 S32V234EVB的GLIBC分析

Figure 6‑3 S32V234EVB的GLIBC++分析

6.1.2.     执行错误分析(Execution error analysis)

    执行rb-exmd会报GLIBC和GLIBC++找不到的错误:

Figure 6‑4 S32V234EVB执行rb-exmd报错

6.1.3.     GLIBC问题纠正(GLIBC error work around)

    使用objdump查看librb-ecucfg.so具体的GLIBC_2.27的使用情况,发现只有glob符号。

Figure 6‑5 objdump查看librb-ecucfg.so具体的GLIBC_2.27的使用情况

    进一步查看S32V234EVB的2.26版本GLIBC是否实现了glob符号,结果是同样实现了。

Figure 6‑6 查看S32V234EVB的2.26版本GLIBC的glob符号使用情况

    使用readelf查看librb-ecucfg.so符号表。.gnu.version_r表示二进制程序实际依赖的库文件版本,从输出结果中得出,该表从0x01e918偏移量开始。而libc.so.6的GLIBC_2.27和GLIBC_2.17的偏移量分别从0x01e918开始算为0x0050和0x0060。

readelf -sV librb-ecucfg.so

Figure 6‑7 readelf查看librb-ecucfg.so符号表

    由于Linux系统中的LD库(ld-linux-aarch64.so.1)加载ELF时检查.gnu.version_r表中的符号,可以强制修改.gnu.version_r来强制使用老版本函数实现。使用vim打开librb-ecucfg.so并使用命令%!xxd切换到十六进制显示,修改0x01e918下面第5行画红框数据,即从第6行相同位置进行复制。即修改了GLIBC_2.27的库名称的hash值、表中符号的版本值、库名称字符串的偏移量。最后使用命令%!xxd -r,wq保存。

Figure 6‑8 使用vim强制librb-ecucfg.so强制修改函数实现版本

    修改之后使用readelf查看librb-ecucfg.so符号表,修复完成。结果如下:

Figure 6‑9 readelf查看librb-ecucfg.so符号表,修复完成

6.1.4.     GLIBCXX问题纠正(GLIBCXX error work around)

    拷贝aarch64版本的libstdc++.so.6.0.28到目标开发板的/usr/lib下,并备份相关链接文件并创建新的链接文件:

mv libstdc++.so libstdc++.so.bak

mv libstdc++.so.6 libstdc++.so.6.bak

ln -s libstdc++.so.6.0.28 libstdc++.so

ln -s libstdc++.so.6.0.28 libstdc++.so.6

Figure 10‑1

  1. FAQs

In order to achieve all the purpose this document sets, th

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1596572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动化测试selenium(2)

目录 WebDriver介绍 WebDriver使用 使用WebDriver驱动操作浏览器(打开一个百度) WebDriver 相关API 定位元素 操作元素 上一篇主要介绍了自动化测试的概念以及selenium的基本原理, 这里我们来讲一下如何利用selenium来写测试用的脚本. WebDriver介绍 Selenium是一个用于…

Zookeeper(从入门到掌握)看完这一篇就够了

文章目录 一、初识 Zookeeper1.Zookeeper 概念2.Zookeeper 数据模型3.Zookeeper 服务端常用命令4.Zookeeper 客户端常用命令 二、ZooKeeper JavaAPI 操作1.Curator 介绍1.Curator API 常用操作&#xff08;1&#xff09;建立连接&#xff08;2&#xff09;添加节点&#xff08;…

对链表的进一步认识

********以下内容均是个人理解&#xff0c;个人语言&#xff0c;仅代表个人观点&#xff0c;希望能对你有所帮助*************** 1.对链表的进一步深入理解分析 &#xff08;1&#xff09;逻辑结构&#xff1a;想象出来的&#xff0c;并不是真实存在的&#xff0c;例如里面的…

idm线程越多越好吗 idm线程数多少合适

IDM&#xff08;Internet Download Manager&#xff09;是一款流行的下载管理软件&#xff0c;它支持多线程下载&#xff0c;这意味着它可以同时建立多个连接来下载文件的不同部分&#xff0c;从而提高下载速度。我们在使用IDM的时候总是有很多疑问&#xff0c;今天我们学习IDM…

HIT The Wiorld,HIT世界官网地址+配置要求+测试时间+加速器分享

HIT The Wiorld&#xff0c;HIT世界官网地址配置要求测试时间加速器分享 NEXON新游《HIT&#xff1a;世界&#xff08;HIT&#xff1a;The World&#xff09;》将在4月17日上线&#xff0c;目前已在官网开启事前预约预创建角色。Hit :the world&#xff08;HIT:世界&#xff…

鸿蒙 Failed :entry:default@CompileResource...

Failed :entry:defaultCompileResource... media 文件夹下有文件夹或者图片名称包含中文字符 rawfile 文件夹下文件名称、图片名称不能包含中文字符

说说你对链表的理解?常见的操作有哪些?

一、是什么 链表&#xff08;Linked List&#xff09;是一种物理存储单元上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的&#xff0c;由一系列结点&#xff08;链表中每一个元素称为结点&#xff09;组成 每个结点包括两个部分&…

Hdevelop编辑器常用功能

1、灰度直方图 【阈值分割】——对应算子threshold 通过菜单【可视化】-【工具】-【灰度直方图】打开&#xff0c;打开后选中【变量窗口】的某张图片即可进行灰度直方图分析。 刚打开并选中某张图片&#xff1a; 调节【最小化】和【最大化】的两个竖线&#xff0c;此时图中绿…

Spectre漏洞 v2 版本再现,影响英特尔 CPU + Linux 组合设备

近日&#xff0c;网络安全研究人员披露了针对英特尔系统上 Linux 内核的首个原生 Spectre v2 漏洞&#xff0c;该漏洞是2018 年曝出的严重处理器“幽灵”&#xff08;Spectre&#xff09;漏洞 v2 衍生版本&#xff0c;利用该漏洞可以从内存中读取敏感数据&#xff0c;主要影响英…

笔记84:关于递归法的一些感悟

题目1&#xff1a;二叉树的前序遍历 链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(…

C# 关于进程回收管理的一款工具设计与分享

目录 设计初衷 开发运行环境 Craneoffice ProcessGC 运行主界面 管理任务与策略 其它设置 移动存储设备管理 核心代码-计时器监控 小结 设计初衷 在使用 COM 模式操作 OFFICE 组件的开发过程中&#xff0c;当操作完相关文档后&#xff0c;在某些情况下仍然无法释放掉…

2024.4.19 Python爬虫复习day07 可视化3

综合案例 需求: 已知2020年疫情数据,都是json数据,需要从文件中读出,进行处理和分析,最终实现数据可视化折线图 相关知识点: json json简介: 本质是一个特定格式的字符串 举例: [{},{},{}] 或者 {}python中json包: import jsonpython数据转为json数据: 变量接收json…

Unity类银河恶魔城学习记录12-17 p139 In game UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI.cs using UnityEngine;public class UI : MonoBehaviour {[SerializeFie…

kworker(kworker/u2:1,kworker/0:13,kworker/0:1H) 工作队列的命名

1、概述 工作队列是除软中断和tasklet以外最常用的下半部机制之一。工作队列的基本原理是把work(需要推迟执行的函数)交由一个内核线程来异步执行。关于工作队列的具体使用请读者参考其他资料&#xff0c;本文不再概述。 在创建工作队列时,可以通过flag参数指定创建的工作队列…

(四)C++自制植物大战僵尸游戏启动流程

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/ErelL 一、启动方式 鼠标左键单机VS2022上方工具栏中绿色三角按钮&#xff08;本地Windows调试器&#xff09;进行项目启动。第一次启动项目需要编译项目中所有代码文件&#xff0c;编译生成需要一定的时间。不同性能的电…

AVB简介(二): gPTP简介

AVB简介&#xff08;二&#xff09;: gPTP简介 一、时间同步要解决的问题二、gPTP的主要思想2.1 体系结构2.2 主时钟选取2.3 绝对时间同步2.4 相对时间同步 三、影响校时精度的因素3.1 传输时延不对称3.2 驻留时间3.3 时间戳采样点3.4 时钟频率3.5 传输路径延时测量方式3.6 时钟…

idea运行Tomcat,控制台日志的中文乱码

一 版本 win10&#xff0c;idea2022,jdk18,tomcat9 二 问题描述 在idea上可以运行Tomcat。服务器启动后&#xff0c;可以正常访问本地的html文件。但是控制台的Tomcat日志出现了乱码&#xff1a;server与Tomcat Catlina Log两处。 三 无效的解决之道 1 idea的Help选项Edit …

Spring ORM

Spring Data JPA 作为Spring Data 中对于关系型数据库支持的一种框架技术,属于 ORM 的一种,通过得当的使用,可以大大简化开发过程中对于数据操作的复杂度。 Java里面写的一段DB操作逻辑,是如何一步步被传递到 DB 中执行了的呢?为什么 Java 里面可以去对接不同产商的 DB 产…

ExtendSim花生酱加工厂模型

该模型展示了ExtendSim可靠性模块与ExtendeSim离散速率技术相结合的协同作用。 在花生酱加工厂的最初阶段&#xff0c;花生经过烘烤和冷却。冷却后的花生经过热烫或水烫去外皮。这些经过漂白的花生进入过程的混合部分&#xff0c;在研磨机中用盐、葡萄糖和氢化油稳定剂将其粉碎…

MySQL排序你真的掌握了吗?5个问题考考你

测试sql数据 CREATE TABLE student (id int NOT NULL AUTO_INCREMENT,name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,age int DEFAULT NULL,money int DEFAULT NULL,PRIMARY KEY (id) USING BTREE,KEY index_name (age) ); INSERT INTO st…