过去这一年,AI 对软件开发的影响已经非常明显。代码补全、Agent 开发、Vibe Coding、自然语言生成业务代码……很多领域已经开始进入“描述需求 → 自动实现”的阶段。
那么,AI 能不能真正进入 AUTOSAR 配置领域?
不是生成几段示例代码,而是真正参与配置工作流。
最近体验了一下 AutoC + EB tresos 的组合,说实话,效果确实让我有点惊讶。

先说结论:它不是“AI问答”,而是在直接操作配置工具
一开始我以为 AutoC 的逻辑会是这样:
用户提问 → AI解释配置原理 → 人手动回到 EB 点配置。
结果并不是。
它实际上在做的是:
自然语言理解 → 配置建模 → 直接驱动配置工具。
例如:
AI 不是在告诉你去哪点。
而是在真正修改配置模型。
这个区别其实很大。
因为 AUTOSAR 配置里,真正耗时的部分通常不是“不知道原理”,而是:
• 参数在哪里 • 依赖关系是什么 • 哪些节点需要联动修改 • Schema 要求什么结构
这些事情,本质上非常适合 AI Agent。
然后我试了一个最经典的场景:Port配置
我拿了一个非常典型、也最容易验证能力的场景。
Port。因为这个模块大家都熟。
简单。但又足够“烦”。
正常操作流程通常是:创建 PortConfigSet。创建 Pin Container。配置 Direction。
配置 Mode。设置 Pull。调整驱动属性。检查依赖。
几十个 GPIO 配下来,鼠标都快点出火星子了。
于是我开始试它的 AI Demo。
直接输入类似需求:
帮我根据下面的表格进行配置Port模块
| 接口 | 引脚功能 | MCU 引脚 | 网络标号 |
| CAN1 | STB | PTE28 | CAN1_STB_PTE28_MB |
| CAN1 | RXD | PTA22 | CAN1_RXD_PTA22_MB |
| CAN1 | TXD | PTA23 | CAN1_TXD_PTA23_MB |
| CAN2 | STB | PTE29 | CAN2_STB_PTE29_MB |
| CAN2 | RXD | PTE25 | CAN2_RXD_PTE25_MB |
| CAN2 | TXD | PTE24 | CAN2_TXD_PTE24_MB |
然后事情开始变得有点意思了。
它不是返回一段解释。也不是告诉我“你可以这样配置”。它是真的开始做配置动作。自动创建需要的节点。
Autoc 自己去理解Port模块的每个参数的意思,然后一个个谨慎的修改。
整个行为逻辑,更像是:
一个熟悉 AUTOSAR Tool 的工程师正在替你操作工具。
这一点,我确实没想到。下面是完整的AI对话过程。
完整的AI调用过程
User
根据 @mcu_pins.csv 配置Port模块
Assistant
Let me first read the CSV file to understand the pin configuration.
read.../testFile/mcu_pins.csv
接口,引脚功能,MCU引脚,网络标号CAN1,STB,PTE28,CAN1_STB_PTE28_MBCAN1,RXD,PTA22,CAN1_RXD_PTA22_MBCAN1,TXD,PTA23,CAN1_TXD_PTA23_MBCAN2,STB,PTE29,CAN2_STB_PTE29_MBCAN2,RXD,PTE25,CAN2_RXD_PTE25_MBCAN2,TXD,PTE24,CAN2_TXD_PTE24_MBAssistant
Now let me get the Port module schema and check the current configuration.
get_module_schema
{ "module": "Port"}Result:
{"module":"Port","schema":{"name":"Port","type":"v:ctr","desc":"Configuration of the Port module.","children":[{"name":"CommonPublishedInformation","type":"v:ctr","desc":"Common container, aggregated by all modules. It contains published information about vendor and versions.","children":[{"name":"ArReleaseMajorVersion","type":"v:var","desc":"Major version number of AUTOSAR specification on which the appropriate implementation is based on."},{"name":"ArReleaseMinorVersion","type":"v:var","desc":"Minor version number of AUTOSAR specification on which the appropriate implementation is based on."},{"name":"ArReleaseRevisionVersion","type":"v:var","desc":"Revision version number of AUTOSAR specification on which the appropriate implementation is based on."},{"name":"ModuleId","type":"v:var","desc":"Module ID of this module from Module List."},{"name":"SwMajorVersion","type":"v:var","desc":"Major version number of the vendor specific implementation of the module. The numbering is vendor specific."},{"name":"SwMinorVersion","type":"v:var","desc":"Minor version number of the vendor specific implementation of the module. The numbering is vendor specific."},{"name":"SwPatchVersion","type":"v:var","desc":"Patch level version number of the vendor specific implementation of the module. The numbering is vendor specific."},{"name":"VendorApiInfix","type":"v:var","desc":"In driver modules which can be instantiated several times on a single ECU, BSW00347 requires that the name of APIs is extended by the VendorId and a vendor specific name.\n This parameter is used to specify the vendor specific name. In total, the implementation specific name is generated as follows:\n <ModuleName>_>VendorId>_<VendorApiInfix>.\n E.g. assuming that the VendorId of the implementor is 123 and the implementer chose a VendorApiInfix of \"v11r456\" a api name Can_Write defined in the SWS will translate to Can_123_v11r456Write.\n This parameter is mandatory for all modules with upper multiplicity > 1. It shall not be used for modules with upper multiplicity =1."},{"name":"VendorId","type":"v:var","desc":"Vendor ID of the dedicated implementation of this module according to the AUTOSAR vendor list."}]},{"name":"PortConfigSet","type":"v:ctr","desc":"This container contains a configuration of the PORT driver / SIUL2 module.","children":[{"name":"NotUsedPortPin","type":"v:ctr","desc":"The init parameters values for the not used pins in the PORT configuration.","children":[{"name":"PortPinDirection","type":"v:var","desc":"Selects the initial direction of the pin (IN or OUT). If the direction is not changeable, the value configured here is fixed.\n The pin direction can be set only for the GPIO pins. For the Alternative Function\n modes the OUT pin direction is hw selected.\n If the IN direction is needed too, it can be set at runtime.\n NOTE: To set the IN direction take care, please, that all the possible module\n inputs, possible as Alternative Functions for the pad mode,\n are hw connected together, if IN direction is enabled, to the pad.","isEnum":true},{"name":"PortPinLevelValue","type":"v:var","desc":"Port Pin Level value from Port pin list.","isEnum":true},{"name":"PortPinMode","type":"v:var","desc":"Selects if the unused port pins are configured as GPIOs or are disabled.","isEnum":true},{"name":"PortPinPue","type":"v:var","desc":"Enables the pull function. Used only when the associated destination is a chip pin.\n Checked box means the Pull Up or Pull Down configuration selected by 'PortPin PUS' is enabled for the pin.\n Unchecked box means the Pull Up or Pull Down configuration selected by 'PortPin PUS' is disabled for the pin.\n This is an implementation specific parameter."},{"name":"PortPinPus","type":"v:var","desc":"Determines whether the pull function is a pullup or pulldown when the pull function is enabled by the 'PortPin Pull Enable' field. Used only when the associated destination is a chip pin.\n Checked box means the Pull Up configuration is set. Unchecked box means the Pull Down configuration is set.\n This is an implementation specific parameter."}]},{"name":"PortContainer","type":"v:lst","desc":"Container collecting the PortPins.","children":[]},{"name":"UntouchedIMCR","type":"v:lst","desc":"List containing IMCR of Pins that will not be touched by Port_Init() function.","children":[]},{"name":"UnTouchedPortPin","type":"v:lst","desc":"List containing Pins that will not be touched by Port_Init() function.","children":[]}]},{"name":"PortGeneral","type":"v:ctr","desc":"Module wide configuration parameters of the PORT driver.","children":[{"name":"PortCodeSizeOptimization","type":"v:var","desc":"This parameter reduces generation code size for only S32K311, S32K310 and S32K312 derivatives."},{"name":"PortDevErrorDetect","type":"v:var","desc":"Switches the Development Error Detection and Notification ON or OFF."},{"name":"PortEcucPartitionRef","type":"v:lst","desc":"Maps the Port driver to zero a multiple ECUC partitions to make the modules API available in this partition.\n Tags: atp.Status=draft","children":[]},{"name":"PortEnableUserModeSupport","type":"v:var","desc":"When this parameter is enabled, the Port module will adapt to run from user mode, with the following measures:\n a) configuring REG_PROT for SIUL2 IP so that the registers under protection can be accessed from user mode by setting UAA bit in REG_PROT_GCR to 1\n b) using 'call trusted function' stubs for all internal function calls that access registers requiring supervisor mode.\n For more information, please see chapter 5.7 user mode Support in IM\n Note: Implementation Specific Parameter."},{"name":"PortMultiPartitionSupport","type":"v:var","desc":"This parameter globally enables the possibility to support MultiPartition. If this parmeter is enabled, at least one EcucPartition needs to be defined (in all variants).\n NoteThis is an Implementation Specific Parameter."},{"name":"PortResetPinModeApi","type":"v:var","desc":"The function Port_ResetPinMode shall revert the port pin mode of the referenced pin to the value that was set by Port_Init operation."},{"name":"PortSetAsUnusedPinApi","type":"v:var","desc":"The function void Port_SetAsUnusedPin shall configure the referenced pin with all the properties specified in the NotUsedPortPin container.\n The function void Port_SetAsUsedPin shall configure the referenced pin with all the properties that where set during the Port_Init operation."},{"name":"PortSetPinDirectionApi","type":"v:var","desc":"Pre-processor switch to enable/disable the use of the function Port_SetPinDirection()."},{"name":"PortSetPinModeApi","type":"v:var","desc":"Pre-processor switch to enable/disable the use of the function Port_SetPinMode()."},{"name":"PortSetPinModeDoesNotTouchGpioLevel","type":"v:var","desc":"Pre-processor switch. When not checked, the function Port_SetPinMode() will set the output level of the pin to the value configured in the PortPinLevelValue combo when called at run time to change mode of a pin from alternate function to GPIO. When checked, the function Port_SetPinMode() will not touch the output level of the pin when called at run time to change mode of a pin from alternate function to GPIO."},{"name":"PortTspcSupport","type":"v:var","desc":"This parameter shall allows to support configure The Touch Sensing Pin Coupling"},{"name":"PortVersionInfoApi","type":"v:var","desc":"Pre-processor switch to enable/disable the API to read out the modules version information."},{"name":"SignalInversionConfigEnable","type":"v:var","desc":"This parameter globally enables the posibility to invert the signal of the port pin.\n If this parameter is disabled, the signal of the port pin will not be allowed to invert.\n If this parameter is enabled, the signal of the port pin will be possible to be inverted in case the invert configuration of each pin is also enabled for this pin.\n This is an implementation specific parameter."},{"name":"SIUL2PortIPDevErrorDetect","type":"v:var","desc":"Enables and Disables DevAssert checks in IP code.\n True: Enabled.\n False: Disabled."},{"name":"VirtWrapperSupport","type":"v:var","desc":"This parameter enables the virtualization wrapper functionality.\n This is an implementation specific parameter.\n RM Enable Virtual Wrapper feature is required to enabled when Port Virtual Wrapper Support is enabled."}]}],"ref":"/AUTOSAR/EcucDefs/Port"}}Assistant
Let me check the current Port configuration.
get_value
{ "url": "Port/PortConfigSet/PortContainer"}Result:
{}Assistant
Let me inspect the list template to see what fields each PortPin row contains.
inspect_list
{ "url": "Port/PortConfigSet/PortContainer"}Result:
[{"name":"PortNumberOfPortPins","type":"v:var","desc":"The number of specified PortPins in this PortContainer.","isCalc":true},{"name":"PortPin","type":"v:lst","desc":"Configuration of the individual port pins.","children":[]}]Assistant
Now I need to add a PortContainer first. Let me inspect the PortContainer row template and add one.
add_list_item
{ "url": "Port/PortConfigSet/PortContainer", "num": 1}Result:
{"urls":["Port/PortConfigSet/PortContainer/PortContainer_0"]}Assistant
Now let me add the first port pin and start checking enum options.
add_list_item
{ "num": 1, "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin"}Result:
{"urls":["Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PortPin_0"]}Assistant
Let me check enum options for the key fields.
get_enum_options
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinMode"}Result:
{"options":["ADC0_ADC0_MA_0_OUT","ADC0_ADC0_MA_1_OUT","ADC0_ADC0_MA_2_OUT","ADC0_ADC0_P0_IN","ADC0_ADC0_P1_IN","ADC0_ADC0_P2_IN","ADC0_ADC0_P3_IN","ADC0_ADC0_P4_IN","ADC0_ADC0_P5_IN","ADC0_ADC0_P6_IN","ADC0_ADC0_P7_IN","ADC0_ADC0_S10_IN","ADC0_ADC0_S11_IN","ADC0_ADC0_S12_IN","ADC0_ADC0_S13_IN","ADC0_ADC0_S14_IN","ADC0_ADC0_S15_IN","ADC0_ADC0_S16_IN","ADC0_ADC0_S17_IN","ADC0_ADC0_S18_IN","ADC0_ADC0_S19_IN","ADC0_ADC0_S20_IN","ADC0_ADC0_S21_IN","ADC0_ADC0_S22_IN","ADC0_ADC0_S23_IN","ADC0_ADC0_S8_IN","ADC0_ADC0_S9_IN","ADC0_ADC0_X_0_IN","ADC0_ADC0_X_1_IN","ADC0_ADC0_X_2_IN","ADC0_ADC0_X_3_IN","ADC1_ADC1_MA_0_OUT","ADC1_ADC1_MA_1_OUT","ADC1_ADC1_MA_2_OUT","ADC1_ADC1_P0_IN","ADC1_ADC1_P1_IN","ADC1_ADC1_P2_IN","ADC1_ADC1_P3_IN","ADC1_ADC1_P4_IN","ADC1_ADC1_P5_IN","ADC1_ADC1_P6_IN","ADC1_ADC1_P7_IN","ADC1_ADC1_S10_IN","ADC1_ADC1_S11_IN","ADC1_ADC1_S12_IN","ADC1_ADC1_S13_IN","ADC1_ADC1_S14_IN","ADC1_ADC1_S15_IN","ADC1_ADC1_S16_IN","ADC1_ADC1_S17_IN","ADC1_ADC1_S18_IN","ADC1_ADC1_S19_IN","ADC1_ADC1_S20_IN","ADC1_ADC1_S21_IN","ADC1_ADC1_S22_IN","ADC1_ADC1_S23_IN","ADC1_ADC1_S8_IN","ADC1_ADC1_S9_IN","ADC1_ADC1_X_0_IN","ADC1_ADC1_X_1_IN","ADC1_ADC1_X_2_IN","ADC1_ADC1_X_3_IN","ADC2_ADC2_P0_IN","ADC2_ADC2_P1_IN","ADC2_ADC2_P2_IN","ADC2_ADC2_P3_IN","ADC2_ADC2_P4_IN","ADC2_ADC2_P5_IN","ADC2_ADC2_P6_IN","ADC2_ADC2_P7_IN","ADC2_ADC2_S10_IN","ADC2_ADC2_S11_IN","ADC2_ADC2_S12_IN","ADC2_ADC2_S13_IN","ADC2_ADC2_S14_IN","ADC2_ADC2_S15_IN","ADC2_ADC2_S16_IN","ADC2_ADC2_S17_IN","ADC2_ADC2_S18_IN","ADC2_ADC2_S19_IN","ADC2_ADC2_S20_IN","ADC2_ADC2_S21_IN","ADC2_ADC2_S22_IN","ADC2_ADC2_S23_IN","ADC2_ADC2_S8_IN","ADC2_ADC2_S9_IN","CAN0_CAN0_RX_IN","CAN0_CAN0_TX_OUT","CAN1_CAN1_RX_IN","CAN1_CAN1_TX_OUT","CAN2_CAN2_RX_IN","CAN2_CAN2_TX_OUT","CAN3_CAN3_RX_IN","CAN3_CAN3_TX_OUT","CAN4_CAN4_RX_IN","CAN4_CAN4_TX_OUT","CAN5_CAN5_RX_IN","CAN5_CAN5_TX_OUT","CAN6_CAN6_RX_IN","CAN6_CAN6_TX_OUT","CAN7_CAN7_RX_IN","CAN7_CAN7_TX_OUT","CMP0_CMP0_IN0_IN","CMP0_CMP0_IN1_IN","CMP0_CMP0_IN2_IN","CMP0_CMP0_IN3_IN","CMP0_CMP0_IN4_IN","CMP0_CMP0_IN5_IN","CMP0_CMP0_IN6_IN","CMP0_CMP0_IN7_IN","CMP0_CMP0_OUT_OUT","CMP0_CMP0_RRT_OUT","CMP1_CMP1_IN0_IN","CMP1_CMP1_IN1_IN","CMP1_CMP1_IN2_IN","CMP1_CMP1_IN3_IN","CMP1_CMP1_OUT_OUT","CMP1_CMP1_RRT_OUT","CMP2_CMP2_IN0_IN","CMP2_CMP2_IN1_IN","CMP2_CMP2_IN2_IN","CMP2_CMP2_IN3_IN","CMP2_CMP2_OUT_OUT","CMP2_CMP2_RRT_OUT","EMIOS_0_EMIOS_0_CH_0_X_INOUT","EMIOS_0_EMIOS_0_CH_0_X_IN","EMIOS_0_EMIOS_0_CH_0_X_OUT","EMIOS_0_EMIOS_0_CH_10_H_INOUT","EMIOS_0_EMIOS_0_CH_10_H_IN","EMIOS_0_EMIOS_0_CH_10_H_OUT","EMIOS_0_EMIOS_0_CH_11_H_INOUT","EMIOS_0_EMIOS_0_CH_11_H_IN","EMIOS_0_EMIOS_0_CH_11_H_OUT","EMIOS_0_EMIOS_0_CH_12_H_INOUT","EMIOS_0_EMIOS_0_CH_12_H_IN","EMIOS_0_EMIOS_0_CH_12_H_OUT","EMIOS_0_EMIOS_0_CH_13_H_INOUT","EMIOS_0_EMIOS_0_CH_13_H_IN","EMIOS_0_EMIOS_0_CH_13_H_OUT","EMIOS_0_EMIOS_0_CH_14_H_INOUT","EMIOS_0_EMIOS_0_CH_14_H_IN","EMIOS_0_EMIOS_0_CH_14_H_OUT","EMIOS_0_EMIOS_0_CH_15_H_INOUT","EMIOS_0_EMIOS_0_CH_15_H_IN","EMIOS_0_EMIOS_0_CH_15_H_OUT","EMIOS_0_EMIOS_0_CH_16_X_INOUT","EMIOS_0_EMIOS_0_CH_16_X_IN","EMIOS_0_EMIOS_0_CH_16_X_OUT","EMIOS_0_EMIOS_0_CH_17_Y_INOUT","EMIOS_0_EMIOS_0_CH_17_Y_IN","EMIOS_0_EMIOS_0_CH_17_Y_OUT","EMIOS_0_EMIOS_0_CH_18_Y_INOUT","EMIOS_0_EMIOS_0_CH_18_Y_IN","EMIOS_0_EMIOS_0_CH_18_Y_OUT","EMIOS_0_EMIOS_0_CH_19_Y_INOUT","EMIOS_0_EMIOS_0_CH_19_Y_IN","EMIOS_0_EMIOS_0_CH_19_Y_OUT","EMIOS_0_EMIOS_0_CH_1_G_INOUT","EMIOS_0_EMIOS_0_CH_1_G_IN","EMIOS_0_EMIOS_0_CH_1_G_OUT","EMIOS_0_EMIOS_0_CH_20_Y_INOUT","EMIOS_0_EMIOS_0_CH_20_Y_IN","EMIOS_0_EMIOS_0_CH_20_Y_OUT","EMIOS_0_EMIOS_0_CH_21_Y_INOUT","EMIOS_0_EMIOS_0_CH_21_Y_IN","EMIOS_0_EMIOS_0_CH_21_Y_OUT","EMIOS_0_EMIOS_0_CH_22_X_INOUT","EMIOS_0_EMIOS_0_CH_22_X_IN","EMIOS_0_EMIOS_0_CH_22_X_OUT","EMIOS_0_EMIOS_0_CH_23_X_INOUT","EMIOS_0_EMIOS_0_CH_23_X_IN","EMIOS_0_EMIOS_0_CH_23_X_OUT","EMIOS_0_EMIOS_0_CH_2_G_INOUT","EMIOS_0_EMIOS_0_CH_2_G_IN","EMIOS_0_EMIOS_0_CH_2_G_OUT","EMIOS_0_EMIOS_0_CH_3_G_INOUT","EMIOS_0_EMIOS_0_CH_3_G_IN","EMIOS_0_EMIOS_0_CH_3_G_OUT","EMIOS_0_EMIOS_0_CH_4_G_INOUT","EMIOS_0_EMIOS_0_CH_4_G_IN","EMIOS_0_EMIOS_0_CH_4_G_OUT","EMIOS_0_EMIOS_0_CH_5_G_INOUT","EMIOS_0_EMIOS_0_CH_5_G_IN","EMIOS_0_EMIOS_0_CH_5_G_OUT","EMIOS_0_EMIOS_0_CH_6_G_INOUT","EMIOS_0_EMIOS_0_CH_6_G_IN","EMIOS_0_EMIOS_0_CH_6_G_OUT","EMIOS_0_EMIOS_0_CH_7_G_INOUT","EMIOS_0_EMIOS_0_CH_7_G_IN","EMIOS_0_EMIOS_0_CH_7_G_OUT","EMIOS_0_EMIOS_0_CH_8_X_INOUT","EMIOS_0_EMIOS_0_CH_8_X_IN","EMIOS_0_EMIOS_0_CH_8_X_OUT","EMIOS_0_EMIOS_0_CH_9_H_INOUT","EMIOS_0_EMIOS_0_CH_9_H_IN","EMIOS_0_EMIOS_0_CH_9_H_OUT","EMIOS_1_EMIOS_1_CH_0_X_INOUT","EMIOS_1_EMIOS_1_CH_0_X_IN","EMIOS_1_EMIOS_1_CH_0_X_OUT","EMIOS_1_EMIOS_1_CH_10_H_INOUT","EMIOS_1_EMIOS_1_CH_10_H_IN","EMIOS_1_EMIOS_1_CH_10_H_OUT","EMIOS_1_EMIOS_1_CH_11_H_INOUT","EMIOS_1_EMIOS_1_CH_11_H_IN","EMIOS_1_EMIOS_1_CH_11_H_OUT","EMIOS_1_EMIOS_1_CH_12_H_INOUT","EMIOS_1_EMIOS_1_CH_12_H_IN","EMIOS_1_EMIOS_1_CH_12_H_OUT","EMIOS_1_EMIOS_1_CH_13_H_INOUT","EMIOS_1_EMIOS_1_CH_13_H_IN","EMIOS_1_EMIOS_1_CH_13_H_OUT","EMIOS_1_EMIOS_1_CH_14_H_INOUT","EMIOS_1_EMIOS_1_CH_14_H_IN","EMIOS_1_EMIOS_1_CH_14_H_OUT","EMIOS_1_EMIOS_1_CH_15_H_INOUT","EMIOS_1_EMIOS_1_CH_15_H_IN","EMIOS_1_EMIOS_1_CH_15_H_OUT","EMIOS_1_EMIOS_1_CH_16_X_INOUT","EMIOS_1_EMIOS_1_CH_16_X_IN","EMIOS_1_EMIOS_1_CH_16_X_OUT","EMIOS_1_EMIOS_1_CH_17_Y_INOUT","EMIOS_1_EMIOS_1_CH_17_Y_IN","EMIOS_1_EMIOS_1_CH_17_Y_OUT","EMIOS_1_EMIOS_1_CH_18_Y_INOUT","EMIOS_1_EMIOS_1_CH_18_Y_IN","EMIOS_1_EMIOS_1_CH_18_Y_OUT","EMIOS_1_EMIOS_1_CH_19_Y_INOUT","EMIOS_1_EMIOS_1_CH_19_Y_IN","EMIOS_1_EMIOS_1_CH_19_Y_OUT","EMIOS_1_EMIOS_1_CH_1_H_INOUT","EMIOS_1_EMIOS_1_CH_1_H_IN","EMIOS_1_EMIOS_1_CH_1_H_OUT","EMIOS_1_EMIOS_1_CH_20_Y_INOUT","EMIOS_1_EMIOS_1_CH_20_Y_IN","EMIOS_1_EMIOS_1_CH_20_Y_OUT","EMIOS_1_EMIOS_1_CH_21_Y_INOUT","EMIOS_1_EMIOS_1_CH_21_Y_IN","EMIOS_1_EMIOS_1_CH_21_Y_OUT","EMIOS_1_EMIOS_1_CH_22_X_INOUT","EMIOS_1_EMIOS_1_CH_22_X_IN","EMIOS_1_EMIOS_1_CH_22_X_OUT","EMIOS_1_EMIOS_1_CH_23_X_INOUT","EMIOS_1_EMIOS_1_CH_23_X_IN","EMIOS_1_EMIOS_1_CH_23_X_OUT","EMIOS_1_EMIOS_1_CH_2_H_INOUT","EMIOS_1_EMIOS_1_CH_2_H_IN","EMIOS_1_EMIOS_1_CH_2_H_OUT","EMIOS_1_EMIOS_1_CH_3_H_INOUT","EMIOS_1_EMIOS_1_CH_3_H_IN","EMIOS_1_EMIOS_1_CH_3_H_OUT","EMIOS_1_EMIOS_1_CH_4_H_INOUT","EMIOS_1_EMIOS_1_CH_4_H_IN","EMIOS_1_EMIOS_1_CH_4_H_OUT","EMIOS_1_EMIOS_1_CH_5_H_INOUT","EMIOS_1_EMIOS_1_CH_5_H_IN","EMIOS_1_EMIOS_1_CH_5_H_OUT","EMIOS_1_EMIOS_1_CH_6_H_INOUT","EMIOS_1_EMIOS_1_CH_6_H_IN","EMIOS_1_EMIOS_1_CH_6_H_OUT","EMIOS_1_EMIOS_1_CH_7_H_INOUT","EMIOS_1_EMIOS_1_CH_7_H_IN","EMIOS_1_EMIOS_1_CH_7_H_OUT","EMIOS_1_EMIOS_1_CH_8_X_INOUT","EMIOS_1_EMIOS_1_CH_8_X_IN","EMIOS_1_EMIOS_1_CH_8_X_OUT","EMIOS_1_EMIOS_1_CH_9_H_INOUT","EMIOS_1_EMIOS_1_CH_9_H_IN","EMIOS_1_EMIOS_1_CH_9_H_OUT","EMIOS_2_EMIOS_2_CH_0_X_INOUT","EMIOS_2_EMIOS_2_CH_0_X_IN","EMIOS_2_EMIOS_2_CH_0_X_OUT","EMIOS_2_EMIOS_2_CH_10_H_INOUT","EMIOS_2_EMIOS_2_CH_10_H_IN","EMIOS_2_EMIOS_2_CH_10_H_OUT","EMIOS_2_EMIOS_2_CH_11_H_INOUT","EMIOS_2_EMIOS_2_CH_11_H_IN","EMIOS_2_EMIOS_2_CH_11_H_OUT","EMIOS_2_EMIOS_2_CH_12_H_INOUT","EMIOS_2_EMIOS_2_CH_12_H_IN","EMIOS_2_EMIOS_2_CH_12_H_OUT","EMIOS_2_EMIOS_2_CH_13_H_INOUT","EMIOS_2_EMIOS_2_CH_13_H_IN","EMIOS_2_EMIOS_2_CH_13_H_OUT","EMIOS_2_EMIOS_2_CH_14_H_INOUT","EMIOS_2_EMIOS_2_CH_14_H_IN","EMIOS_2_EMIOS_2_CH_14_H_OUT","EMIOS_2_EMIOS_2_CH_15_H_INOUT","EMIOS_2_EMIOS_2_CH_15_H_IN","EMIOS_2_EMIOS_2_CH_15_H_OUT","EMIOS_2_EMIOS_2_CH_16_X_INOUT","EMIOS_2_EMIOS_2_CH_16_X_IN","EMIOS_2_EMIOS_2_CH_16_X_OUT","EMIOS_2_EMIOS_2_CH_17_Y_INOUT","EMIOS_2_EMIOS_2_CH_17_Y_IN","EMIOS_2_EMIOS_2_CH_17_Y_OUT","EMIOS_2_EMIOS_2_CH_18_Y_INOUT","EMIOS_2_EMIOS_2_CH_18_Y_IN","EMIOS_2_EMIOS_2_CH_18_Y_OUT","EMIOS_2_EMIOS_2_CH_19_Y_INOUT","EMIOS_2_EMIOS_2_CH_19_Y_IN","EMIOS_2_EMIOS_2_CH_19_Y_OUT","EMIOS_2_EMIOS_2_CH_1_H_INOUT","EMIOS_2_EMIOS_2_CH_1_H_IN","EMIOS_2_EMIOS_2_CH_1_H_OUT","EMIOS_2_EMIOS_2_CH_20_Y_INOUT","EMIOS_2_EMIOS_2_CH_20_Y_IN","EMIOS_2_EMIOS_2_CH_20_Y_OUT","EMIOS_2_EMIOS_2_CH_21_Y_INOUT","EMIOS_2_EMIOS_2_CH_21_Y_IN","EMIOS_2_EMIOS_2_CH_21_Y_OUT","EMIOS_2_EMIOS_2_CH_22_X_INOUT","EMIOS_2_EMIOS_2_CH_22_X_IN","EMIOS_2_EMIOS_2_CH_22_X_OUT","EMIOS_2_EMIOS_2_CH_23_X_INOUT","EMIOS_2_EMIOS_2_CH_23_X_IN","EMIOS_2_EMIOS_2_CH_23_X_OUT","EMIOS_2_EMIOS_2_CH_2_H_INOUT","EMIOS_2_EMIOS_2_CH_2_H_IN","EMIOS_2_EMIOS_2_CH_2_H_OUT","EMIOS_2_EMIOS_2_CH_3_H_INOUT","EMIOS_2_EMIOS_2_CH_3_H_IN","EMIOS_2_EMIOS_2_CH_3_H_OUT","EMIOS_2_EMIOS_2_CH_4_H_INOUT","EMIOS_2_EMIOS_2_CH_4_H_IN","EMIOS_2_EMIOS_2_CH_4_H_OUT","EMIOS_2_EMIOS_2_CH_5_H_INOUT","EMIOS_2_EMIOS_2_CH_5_H_IN","EMIOS_2_EMIOS_2_CH_5_H_OUT","EMIOS_2_EMIOS_2_CH_6_H_INOUT","EMIOS_2_EMIOS_2_CH_6_H_IN","EMIOS_2_EMIOS_2_CH_6_H_OUT","EMIOS_2_EMIOS_2_CH_7_H_INOUT","EMIOS_2_EMIOS_2_CH_7_H_IN","EMIOS_2_EMIOS_2_CH_7_H_OUT","EMIOS_2_EMIOS_2_CH_8_X_INOUT","EMIOS_2_EMIOS_2_CH_8_X_IN","EMIOS_2_EMIOS_2_CH_8_X_OUT","EMIOS_2_EMIOS_2_CH_9_H_INOUT","EMIOS_2_EMIOS_2_CH_9_H_IN","EMIOS_2_EMIOS_2_CH_9_H_OUT","FCCU_FCCU_ERR0_OUT","FCCU_FCCU_ERR1_OUT","FCCU_FCCU_ERR_IN0_IN","FCCU_FCCU_ERR_IN1_IN","FXIO_FXIO_D0_INOUT","FXIO_FXIO_D0_IN","FXIO_FXIO_D0_OUT","FXIO_FXIO_D10_INOUT","FXIO_FXIO_D10_IN","FXIO_FXIO_D10_OUT","FXIO_FXIO_D11_INOUT","FXIO_FXIO_D11_IN","FXIO_FXIO_D11_OUT","FXIO_FXIO_D12_INOUT","FXIO_FXIO_D12_IN","FXIO_FXIO_D12_OUT","FXIO_FXIO_D13_INOUT","FXIO_FXIO_D13_IN","FXIO_FXIO_D13_OUT","FXIO_FXIO_D14_INOUT","FXIO_FXIO_D14_IN","FXIO_FXIO_D14_OUT","FXIO_FXIO_D15_INOUT","FXIO_FXIO_D15_IN","FXIO_FXIO_D15_OUT","FXIO_FXIO_D16_INOUT","FXIO_FXIO_D16_IN","FXIO_FXIO_D16_OUT","FXIO_FXIO_D17_INOUT","FXIO_FXIO_D17_IN","FXIO_FXIO_D17_OUT","FXIO_FXIO_D18_INOUT","FXIO_FXIO_D18_IN","FXIO_FXIO_D18_OUT","FXIO_FXIO_D19_INOUT","FXIO_FXIO_D19_IN","FXIO_FXIO_D19_OUT","FXIO_FXIO_D1_INOUT","FXIO_FXIO_D1_IN","FXIO_FXIO_D1_OUT","FXIO_FXIO_D20_INOUT","FXIO_FXIO_D20_IN","FXIO_FXIO_D20_OUT","FXIO_FXIO_D21_INOUT","FXIO_FXIO_D21_IN","FXIO_FXIO_D21_OUT","FXIO_FXIO_D22_INOUT","FXIO_FXIO_D22_IN","FXIO_FXIO_D22_OUT","FXIO_FXIO_D23_INOUT","FXIO_FXIO_D23_IN","FXIO_FXIO_D23_OUT","FXIO_FXIO_D24_INOUT","FXIO_FXIO_D24_IN","FXIO_FXIO_D24_OUT","FXIO_FXIO_D25_INOUT","FXIO_FXIO_D25_IN","FXIO_FXIO_D25_OUT","FXIO_FXIO_D26_INOUT","FXIO_FXIO_D26_IN","FXIO_FXIO_D26_OUT","FXIO_FXIO_D27_INOUT","FXIO_FXIO_D27_IN","FXIO_FXIO_D27_OUT","FXIO_FXIO_D28_INOUT","FXIO_FXIO_D28_IN","FXIO_FXIO_D28_OUT","FXIO_FXIO_D29_INOUT","FXIO_FXIO_D29_IN","FXIO_FXIO_D29_OUT","FXIO_FXIO_D2_INOUT","FXIO_FXIO_D2_IN","FXIO_FXIO_D2_OUT","FXIO_FXIO_D30_INOUT","FXIO_FXIO_D30_IN","FXIO_FXIO_D30_OUT","FXIO_FXIO_D31_INOUT","FXIO_FXIO_D31_IN","FXIO_FXIO_D31_OUT","FXIO_FXIO_D3_INOUT","FXIO_FXIO_D3_IN","FXIO_FXIO_D3_OUT","FXIO_FXIO_D4_INOUT","FXIO_FXIO_D4_IN","FXIO_FXIO_D4_OUT","FXIO_FXIO_D5_INOUT","FXIO_FXIO_D5_IN","FXIO_FXIO_D5_OUT","FXIO_FXIO_D6_INOUT","FXIO_FXIO_D6_IN","FXIO_FXIO_D6_OUT","FXIO_FXIO_D7_INOUT","FXIO_FXIO_D7_IN","FXIO_FXIO_D7_OUT","FXIO_FXIO_D8_INOUT","FXIO_FXIO_D8_IN","FXIO_FXIO_D8_OUT","FXIO_FXIO_D9_INOUT","FXIO_FXIO_D9_IN","FXIO_FXIO_D9_OUT","GMAC0_GMAC0_MII_COL_IN","GMAC0_GMAC0_MII_CRS_IN","GMAC0_GMAC0_MII_RGMII_RXD2_IN","GMAC0_GMAC0_MII_RGMII_RXD3_IN","GMAC0_GMAC0_MII_RGMII_RX_CLK_IN","GMAC0_GMAC0_MII_RGMII_TXD2_OUT","GMAC0_GMAC0_MII_RGMII_TXD3_OUT","GMAC0_GMAC0_MII_RMII_RGMII_MDC_OUT","GMAC0_GMAC0_MII_RMII_RGMII_MDIO_INOUT","GMAC0_GMAC0_MII_RMII_RGMII_MDIO_IN","GMAC0_GMAC0_MII_RMII_RGMII_MDIO_OUT","GMAC0_GMAC0_MII_RMII_RGMII_RXD_0_IN","GMAC0_GMAC0_MII_RMII_RGMII_RXD_1_IN","GMAC0_GMAC0_MII_RMII_RGMII_TXD_0_OUT","GMAC0_GMAC0_MII_RMII_RGMII_TXD_1_OUT","GMAC0_GMAC0_MII_RMII_RGMII_TX_CLK_INOUT","GMAC0_GMAC0_MII_RMII_RGMII_TX_CLK_IN","GMAC0_GMAC0_MII_RMII_RGMII_TX_CLK_OUT","GMAC0_GMAC0_MII_RMII_RXD_0_IN","GMAC0_GMAC0_MII_RMII_RXD_1_IN","GMAC0_GMAC0_MII_RMII_RX_DV_RGMII_RXCTL_IN","GMAC0_GMAC0_MII_RMII_RX_ER_IN","GMAC0_GMAC0_MII_RMII_TXD_0_OUT","GMAC0_GMAC0_MII_RMII_TXD_1_OUT","GMAC0_GMAC0_MII_RMII_TX_CLK_IN","GMAC0_GMAC0_MII_RMII_TX_EN_OUT","GMAC0_GMAC0_MII_RXD2_IN","GMAC0_GMAC0_MII_RXD3_IN","GMAC0_GMAC0_MII_RX_CLK_IN","GMAC0_GMAC0_MII_TXD2_OUT","GMAC0_GMAC0_MII_TXD3_OUT","GMAC0_GMAC0_PPS0_INOUT","GMAC0_GMAC0_PPS0_IN","GMAC0_GMAC0_PPS0_OUT","GMAC0_GMAC0_PPS1_INOUT","GMAC0_GMAC0_PPS1_IN","GMAC0_GMAC0_PPS1_OUT","GMAC0_GMAC0_PPS2_INOUT","GMAC0_GMAC0_PPS2_IN","GMAC0_GMAC0_PPS2_OUT","GMAC0_GMAC0_PPS3_INOUT","GMAC0_GMAC0_PPS3_IN","GMAC0_GMAC0_PPS3_OUT","GMAC0_GMAC0_RGMII_TXCTL_OUT","GPIO","HSE_HSE_TAMPER_EXTIN0_IN","HSE_HSE_TAMPER_LOOP_OUT0_OUT","JTAG_JTAG_TCK_SWD_CLK_IN","JTAG_JTAG_TDI_IN","JTAG_JTAG_TMS_SWD_DIO_INOUT","JTAG_JTAG_TMS_SWD_DIO_IN","JTAG_JTAG_TMS_SWD_DIO_OUT","JTAG_TRACENOETM_JTAG_TDO_TRACENOETM_SWO_OUT","LCU0_LCU0_OUT0_OUT","LCU0_LCU0_OUT10_OUT","LCU0_LCU0_OUT11_OUT","LCU0_LCU0_OUT1_OUT","LCU0_LCU0_OUT2_OUT","LCU0_LCU0_OUT3_OUT","LCU0_LCU0_OUT4_OUT","LCU0_LCU0_OUT5_OUT","LCU0_LCU0_OUT6_OUT","LCU0_LCU0_OUT7_OUT","LCU0_LCU0_OUT8_OUT","LCU0_LCU0_OUT9_OUT","LCU1_LCU1_OUT0_OUT","LCU1_LCU1_OUT10_OUT","LCU1_LCU1_OUT11_OUT","LCU1_LCU1_OUT1_OUT","LCU1_LCU1_OUT2_OUT","LCU1_LCU1_OUT3_OUT","LCU1_LCU1_OUT4_OUT","LCU1_LCU1_OUT5_OUT","LCU1_LCU1_OUT6_OUT","LCU1_LCU1_OUT7_OUT","LCU1_LCU1_OUT8_OUT","LCU1_LCU1_OUT9_OUT","LPI2C0_LPI2C0_HREQ_IN","LPI2C0_LPI2C0_SCLS_INOUT","LPI2C0_LPI2C0_SCLS_IN","LPI2C0_LPI2C0_SCLS_OUT","LPI2C0_LPI2C0_SCL_INOUT","LPI2C0_LPI2C0_SCL_IN","LPI2C0_LPI2C0_SCL_OUT","LPI2C0_LPI2C0_SDAS_INOUT","LPI2C0_LPI2C0_SDAS_IN","LPI2C0_LPI2C0_SDAS_OUT","LPI2C0_LPI2C0_SDA_INOUT","LPI2C0_LPI2C0_SDA_IN","LPI2C0_LPI2C0_SDA_OUT","LPI2C1_LPI2C1_HREQ_IN","LPI2C1_LPI2C1_SCLS_INOUT","LPI2C1_LPI2C1_SCLS_IN","LPI2C1_LPI2C1_SCLS_OUT","LPI2C1_LPI2C1_SCL_INOUT","LPI2C1_LPI2C1_SCL_IN","LPI2C1_LPI2C1_SCL_OUT","LPI2C1_LPI2C1_SDAS_INOUT","LPI2C1_LPI2C1_SDAS_IN","LPI2C1_LPI2C1_SDAS_OUT","LPI2C1_LPI2C1_SDA_INOUT","LPI2C1_LPI2C1_SDA_IN","LPI2C1_LPI2C1_SDA_OUT","LPSPI0_LPSPI0_PCS0_INOUT","LPSPI0_LPSPI0_PCS0_IN","LPSPI0_LPSPI0_PCS0_OUT","LPSPI0_LPSPI0_PCS1_INOUT","LPSPI0_LPSPI0_PCS1_IN","LPSPI0_LPSPI0_PCS1_OUT","LPSPI0_LPSPI0_PCS2_INOUT","LPSPI0_LPSPI0_PCS2_IN","LPSPI0_LPSPI0_PCS2_OUT","LPSPI0_LPSPI0_PCS3_INOUT","LPSPI0_LPSPI0_PCS3_IN","LPSPI0_LPSPI0_PCS3_OUT","LPSPI0_LPSPI0_PCS4_INOUT","LPSPI0_LPSPI0_PCS4_IN","LPSPI0_LPSPI0_PCS4_OUT","LPSPI0_LPSPI0_PCS5_INOUT","LPSPI0_LPSPI0_PCS5_IN","LPSPI0_LPSPI0_PCS5_OUT","LPSPI0_LPSPI0_PCS6_INOUT","LPSPI0_LPSPI0_PCS6_IN","LPSPI0_LPSPI0_PCS6_OUT","LPSPI0_LPSPI0_PCS7_INOUT","LPSPI0_LPSPI0_PCS7_IN","LPSPI0_LPSPI0_PCS7_OUT","LPSPI0_LPSPI0_SCK_INOUT","LPSPI0_LPSPI0_SCK_IN","LPSPI0_LPSPI0_SCK_OUT","LPSPI0_LPSPI0_SIN_INOUT","LPSPI0_LPSPI0_SIN_IN","LPSPI0_LPSPI0_SIN_OUT","LPSPI0_LPSPI0_SOUT_INOUT","LPSPI0_LPSPI0_SOUT_IN","LPSPI0_LPSPI0_SOUT_OUT","LPSPI1_LPSPI1_PCS0_INOUT","LPSPI1_LPSPI1_PCS0_IN","LPSPI1_LPSPI1_PCS0_OUT","LPSPI1_LPSPI1_PCS1_INOUT","LPSPI1_LPSPI1_PCS1_IN","LPSPI1_LPSPI1_PCS1_OUT","LPSPI1_LPSPI1_PCS2_INOUT","LPSPI1_LPSPI1_PCS2_IN","LPSPI1_LPSPI1_PCS2_OUT","LPSPI1_LPSPI1_PCS3_INOUT","LPSPI1_LPSPI1_PCS3_IN","LPSPI1_LPSPI1_PCS3_OUT","LPSPI1_LPSPI1_PCS4_INOUT","LPSPI1_LPSPI1_PCS4_IN","LPSPI1_LPSPI1_PCS4_OUT","LPSPI1_LPSPI1_PCS5_INOUT","LPSPI1_LPSPI1_PCS5_IN","LPSPI1_LPSPI1_PCS5_OUT","LPSPI1_LPSPI1_SCK_INOUT","LPSPI1_LPSPI1_SCK_IN","LPSPI1_LPSPI1_SCK_OUT","LPSPI1_LPSPI1_SIN_INOUT","LPSPI1_LPSPI1_SIN_IN","LPSPI1_LPSPI1_SIN_OUT","LPSPI1_LPSPI1_SOUT_INOUT","LPSPI1_LPSPI1_SOUT_IN","LPSPI1_LPSPI1_SOUT_OUT","LPSPI2_LPSPI2_PCS0_INOUT","LPSPI2_LPSPI2_PCS0_IN","LPSPI2_LPSPI2_PCS0_OUT","LPSPI2_LPSPI2_PCS1_INOUT","LPSPI2_LPSPI2_PCS1_IN","LPSPI2_LPSPI2_PCS1_OUT","LPSPI2_LPSPI2_PCS2_INOUT","LPSPI2_LPSPI2_PCS2_IN","LPSPI2_LPSPI2_PCS2_OUT","LPSPI2_LPSPI2_PCS3_INOUT","LPSPI2_LPSPI2_PCS3_IN","LPSPI2_LPSPI2_PCS3_OUT","LPSPI2_LPSPI2_SCK_INOUT","LPSPI2_LPSPI2_SCK_IN","LPSPI2_LPSPI2_SCK_OUT","LPSPI2_LPSPI2_SIN_INOUT","LPSPI2_LPSPI2_SIN_IN","LPSPI2_LPSPI2_SIN_OUT","LPSPI2_LPSPI2_SOUT_INOUT","LPSPI2_LPSPI2_SOUT_IN","LPSPI2_LPSPI2_SOUT_OUT","LPSPI3_LPSPI3_PCS0_INOUT","LPSPI3_LPSPI3_PCS0_IN","LPSPI3_LPSPI3_PCS0_OUT","LPSPI3_LPSPI3_PCS1_INOUT","LPSPI3_LPSPI3_PCS1_IN","LPSPI3_LPSPI3_PCS1_OUT","LPSPI3_LPSPI3_PCS2_INOUT","LPSPI3_LPSPI3_PCS2_IN","LPSPI3_LPSPI3_PCS2_OUT","LPSPI3_LPSPI3_PCS3_INOUT","LPSPI3_LPSPI3_PCS3_IN","LPSPI3_LPSPI3_PCS3_OUT","LPSPI3_LPSPI3_SCK_INOUT","LPSPI3_LPSPI3_SCK_IN","LPSPI3_LPSPI3_SCK_OUT","LPSPI3_LPSPI3_SIN_INOUT","LPSPI3_LPSPI3_SIN_IN","LPSPI3_LPSPI3_SIN_OUT","LPSPI3_LPSPI3_SOUT_INOUT","LPSPI3_LPSPI3_SOUT_IN","LPSPI3_LPSPI3_SOUT_OUT","LPSPI4_LPSPI4_PCS0_INOUT","LPSPI4_LPSPI4_PCS0_IN","LPSPI4_LPSPI4_PCS0_OUT","LPSPI4_LPSPI4_PCS1_INOUT","LPSPI4_LPSPI4_PCS1_IN","LPSPI4_LPSPI4_PCS1_OUT","LPSPI4_LPSPI4_PCS2_INOUT","LPSPI4_LPSPI4_PCS2_IN","LPSPI4_LPSPI4_PCS2_OUT","LPSPI4_LPSPI4_PCS3_INOUT","LPSPI4_LPSPI4_PCS3_IN","LPSPI4_LPSPI4_PCS3_OUT","LPSPI4_LPSPI4_SCK_INOUT","LPSPI4_LPSPI4_SCK_IN","LPSPI4_LPSPI4_SCK_OUT","LPSPI4_LPSPI4_SIN_INOUT","LPSPI4_LPSPI4_SIN_IN","LPSPI4_LPSPI4_SIN_OUT","LPSPI4_LPSPI4_SOUT_INOUT","LPSPI4_LPSPI4_SOUT_IN","LPSPI4_LPSPI4_SOUT_OUT","LPSPI5_LPSPI5_PCS0_INOUT","LPSPI5_LPSPI5_PCS0_IN","LPSPI5_LPSPI5_PCS0_OUT","LPSPI5_LPSPI5_PCS1_INOUT","LPSPI5_LPSPI5_PCS1_IN","LPSPI5_LPSPI5_PCS1_OUT","LPSPI5_LPSPI5_PCS2_INOUT","LPSPI5_LPSPI5_PCS2_IN","LPSPI5_LPSPI5_PCS2_OUT","LPSPI5_LPSPI5_PCS3_INOUT","LPSPI5_LPSPI5_PCS3_IN","LPSPI5_LPSPI5_PCS3_OUT","LPSPI5_LPSPI5_SCK_INOUT","LPSPI5_LPSPI5_SCK_IN","LPSPI5_LPSPI5_SCK_OUT","LPSPI5_LPSPI5_SIN_INOUT","LPSPI5_LPSPI5_SIN_IN","LPSPI5_LPSPI5_SIN_OUT","LPSPI5_LPSPI5_SOUT_INOUT","LPSPI5_LPSPI5_SOUT_IN","LPSPI5_LPSPI5_SOUT_OUT","LPUART0_LPUART0_CTS_IN","LPUART0_LPUART0_DCD_B_IN","LPUART0_LPUART0_DSR_B_IN","LPUART0_LPUART0_DTR_B_OUT","LPUART0_LPUART0_RIN_B_IN","LPUART0_LPUART0_RTS_OUT","LPUART0_LPUART0_RX_IN","LPUART0_LPUART0_TX_INOUT","LPUART0_LPUART0_TX_IN","LPUART0_LPUART0_TX_OUT","LPUART10_LPUART10_RX_IN","LPUART10_LPUART10_TX_INOUT","LPUART10_LPUART10_TX_IN","LPUART10_LPUART10_TX_OUT","LPUART11_LPUART11_RX_IN","LPUART11_LPUART11_TX_INOUT","LPUART11_LPUART11_TX_IN","LPUART11_LPUART11_TX_OUT","LPUART12_LPUART12_RX_IN","LPUART12_LPUART12_TX_INOUT","LPUART12_LPUART12_TX_IN","LPUART12_LPUART12_TX_OUT","LPUART13_LPUART13_RX_IN","LPUART13_LPUART13_TX_INOUT","LPUART13_LPUART13_TX_IN","LPUART13_LPUART13_TX_OUT","LPUART14_LPUART14_RX_IN","LPUART14_LPUART14_TX_INOUT","LPUART14_LPUART14_TX_IN","LPUART14_LPUART14_TX_OUT","LPUART15_LPUART15_RX_IN","LPUART15_LPUART15_TX_INOUT","LPUART15_LPUART15_TX_IN","LPUART15_LPUART15_TX_OUT","LPUART1_LPUART1_CTS_IN","LPUART1_LPUART1_DCD_B_IN","LPUART1_LPUART1_DSR_B_IN","LPUART1_LPUART1_DTR_B_OUT","LPUART1_LPUART1_RIN_B_IN","LPUART1_LPUART1_RTS_OUT","LPUART1_LPUART1_RX_IN","LPUART1_LPUART1_TX_INOUT","LPUART1_LPUART1_TX_IN","LPUART1_LPUART1_TX_OUT","LPUART2_LPUART2_CTS_IN","LPUART2_LPUART2_RTS_OUT","LPUART2_LPUART2_RX_IN","LPUART2_LPUART2_TX_INOUT","LPUART2_LPUART2_TX_IN","LPUART2_LPUART2_TX_OUT","LPUART3_LPUART3_RX_IN","LPUART3_LPUART3_TX_INOUT","LPUART3_LPUART3_TX_IN","LPUART3_LPUART3_TX_OUT","LPUART4_LPUART4_RX_IN","LPUART4_LPUART4_TX_INOUT","LPUART4_LPUART4_TX_IN","LPUART4_LPUART4_TX_OUT","LPUART5_LPUART5_RX_IN","LPUART5_LPUART5_TX_INOUT","LPUART5_LPUART5_TX_IN","LPUART5_LPUART5_TX_OUT","LPUART6_LPUART6_RX_IN","LPUART6_LPUART6_TX_INOUT","LPUART6_LPUART6_TX_IN","LPUART6_LPUART6_TX_OUT","LPUART7_LPUART7_RX_IN","LPUART7_LPUART7_TX_INOUT","LPUART7_LPUART7_TX_IN","LPUART7_LPUART7_TX_OUT","LPUART8_LPUART8_RX_IN","LPUART8_LPUART8_TX_INOUT","LPUART8_LPUART8_TX_IN","LPUART8_LPUART8_TX_OUT","LPUART9_LPUART9_RX_IN","LPUART9_LPUART9_TX_INOUT","LPUART9_LPUART9_TX_IN","LPUART9_LPUART9_TX_OUT","OSC32K_OSC32K_EXTAL_IN","OSC32K_OSC32K_XTAL_OUT","PGI_PGOOD_IN","PGO_EXTWAKE_OUT","PG_EXTWAKE_OUT","PG_PGOOD_IN","PG_VRC_CTRL_OUT","QUADSPI_QUADSPI_DQSFA_INOUT","QUADSPI_QUADSPI_DQSFA_IN","QUADSPI_QUADSPI_DQSFA_OUT","QUADSPI_QUADSPI_INTA_IN","QUADSPI_QUADSPI_IOFA0_INOUT","QUADSPI_QUADSPI_IOFA0_IN","QUADSPI_QUADSPI_IOFA0_OUT","QUADSPI_QUADSPI_IOFA1_INOUT","QUADSPI_QUADSPI_IOFA1_IN","QUADSPI_QUADSPI_IOFA1_OUT","QUADSPI_QUADSPI_IOFA2_INOUT","QUADSPI_QUADSPI_IOFA2_IN","QUADSPI_QUADSPI_IOFA2_OUT","QUADSPI_QUADSPI_IOFA3_INOUT","QUADSPI_QUADSPI_IOFA3_IN","QUADSPI_QUADSPI_IOFA3_OUT","QUADSPI_QUADSPI_IOFA4_INOUT","QUADSPI_QUADSPI_IOFA4_IN","QUADSPI_QUADSPI_IOFA4_OUT","QUADSPI_QUADSPI_IOFA5_INOUT","QUADSPI_QUADSPI_IOFA5_IN","QUADSPI_QUADSPI_IOFA5_OUT","QUADSPI_QUADSPI_IOFA6_INOUT","QUADSPI_QUADSPI_IOFA6_IN","QUADSPI_QUADSPI_IOFA6_OUT","QUADSPI_QUADSPI_IOFA7_INOUT","QUADSPI_QUADSPI_IOFA7_IN","QUADSPI_QUADSPI_IOFA7_OUT","QUADSPI_QUADSPI_PCSFA_OUT","QUADSPI_QUADSPI_SCKFA_INOUT","QUADSPI_QUADSPI_SCKFA_IN","QUADSPI_QUADSPI_SCKFA_OUT","SAI0_SAI0_BCLK_INOUT","SAI0_SAI0_BCLK_IN","SAI0_SAI0_BCLK_OUT","SAI0_SAI0_D0_INOUT","SAI0_SAI0_D0_IN","SAI0_SAI0_D0_OUT","SAI0_SAI0_D1_INOUT","SAI0_SAI0_D1_IN","SAI0_SAI0_D1_OUT","SAI0_SAI0_D2_INOUT","SAI0_SAI0_D2_IN","SAI0_SAI0_D2_OUT","SAI0_SAI0_D3_INOUT","SAI0_SAI0_D3_IN","SAI0_SAI0_D3_OUT","SAI0_SAI0_MCLK_IN","SAI0_SAI0_SYNC_INOUT","SAI0_SAI0_SYNC_IN","SAI0_SAI0_SYNC_OUT","SAI1_SAI1_BCLK_INOUT","SAI1_SAI1_BCLK_IN","SAI1_SAI1_BCLK_OUT","SAI1_SAI1_D0_INOUT","SAI1_SAI1_D0_IN","SAI1_SAI1_D0_OUT","SAI1_SAI1_MCLK_IN","SAI1_SAI1_SYNC_INOUT","SAI1_SAI1_SYNC_IN","SAI1_SAI1_SYNC_OUT","SIUL_EIRQ_0_IN","SIUL_EIRQ_10_IN","SIUL_EIRQ_11_IN","SIUL_EIRQ_12_IN","SIUL_EIRQ_13_IN","SIUL_EIRQ_14_IN","SIUL_EIRQ_15_IN","SIUL_EIRQ_16_IN","SIUL_EIRQ_17_IN","SIUL_EIRQ_18_IN","SIUL_EIRQ_19_IN","SIUL_EIRQ_1_IN","SIUL_EIRQ_20_IN","SIUL_EIRQ_21_IN","SIUL_EIRQ_22_IN","SIUL_EIRQ_23_IN","SIUL_EIRQ_24_IN","SIUL_EIRQ_25_IN","SIUL_EIRQ_26_IN","SIUL_EIRQ_27_IN","SIUL_EIRQ_28_IN","SIUL_EIRQ_29_IN","SIUL_EIRQ_2_IN","SIUL_EIRQ_30_IN","SIUL_EIRQ_31_IN","SIUL_EIRQ_3_IN","SIUL_EIRQ_4_IN","SIUL_EIRQ_5_IN","SIUL_EIRQ_6_IN","SIUL_EIRQ_7_IN","SIUL_EIRQ_8_IN","SIUL_EIRQ_9_IN","SYSTEM_CLKOUT_RUN_OUT","SYSTEM_CLKOUT_STANDBY_OUT","SYSTEM_NMI_B_IN","SYSTEM_RESET_B_INOUT","SYSTEM_RESET_B_IN","SYSTEM_RESET_B_OUT","TRACE_TRACE_ETM_CLKOUT_OUT","TRACE_TRACE_ETM_D0_OUT","TRACE_TRACE_ETM_D10_OUT","TRACE_TRACE_ETM_D11_OUT","TRACE_TRACE_ETM_D12_OUT","TRACE_TRACE_ETM_D13_OUT","TRACE_TRACE_ETM_D14_OUT","TRACE_TRACE_ETM_D15_OUT","TRACE_TRACE_ETM_D1_OUT","TRACE_TRACE_ETM_D2_OUT","TRACE_TRACE_ETM_D3_OUT","TRACE_TRACE_ETM_D4_OUT","TRACE_TRACE_ETM_D5_OUT","TRACE_TRACE_ETM_D6_OUT","TRACE_TRACE_ETM_D7_OUT","TRACE_TRACE_ETM_D8_OUT","TRACE_TRACE_ETM_D9_OUT","TRGMUX_TRGMUX_IN0_IN","TRGMUX_TRGMUX_IN10_IN","TRGMUX_TRGMUX_IN11_IN","TRGMUX_TRGMUX_IN12_IN","TRGMUX_TRGMUX_IN13_IN","TRGMUX_TRGMUX_IN14_IN","TRGMUX_TRGMUX_IN15_IN","TRGMUX_TRGMUX_IN1_IN","TRGMUX_TRGMUX_IN2_IN","TRGMUX_TRGMUX_IN3_IN","TRGMUX_TRGMUX_IN4_IN","TRGMUX_TRGMUX_IN5_IN","TRGMUX_TRGMUX_IN6_IN","TRGMUX_TRGMUX_IN7_IN","TRGMUX_TRGMUX_IN8_IN","TRGMUX_TRGMUX_IN9_IN","TRGMUX_TRGMUX_OUT0_OUT","TRGMUX_TRGMUX_OUT10_OUT","TRGMUX_TRGMUX_OUT11_OUT","TRGMUX_TRGMUX_OUT12_OUT","TRGMUX_TRGMUX_OUT13_OUT","TRGMUX_TRGMUX_OUT14_OUT","TRGMUX_TRGMUX_OUT15_OUT","TRGMUX_TRGMUX_OUT1_OUT","TRGMUX_TRGMUX_OUT2_OUT","TRGMUX_TRGMUX_OUT3_OUT","TRGMUX_TRGMUX_OUT4_OUT","TRGMUX_TRGMUX_OUT5_OUT","TRGMUX_TRGMUX_OUT6_OUT","TRGMUX_TRGMUX_OUT7_OUT","TRGMUX_TRGMUX_OUT8_OUT","TRGMUX_TRGMUX_OUT9_OUT","USDHC_USDHC_CLK_INOUT","USDHC_USDHC_CLK_IN","USDHC_USDHC_CLK_OUT","USDHC_USDHC_CMD_INOUT","USDHC_USDHC_CMD_IN","USDHC_USDHC_CMD_OUT","USDHC_USDHC_D_0_INOUT","USDHC_USDHC_D_0_IN","USDHC_USDHC_D_0_OUT","USDHC_USDHC_D_1_INOUT","USDHC_USDHC_D_1_IN","USDHC_USDHC_D_1_OUT","USDHC_USDHC_D_2_INOUT","USDHC_USDHC_D_2_IN","USDHC_USDHC_D_2_OUT","USDHC_USDHC_D_3_INOUT","USDHC_USDHC_D_3_IN","USDHC_USDHC_D_3_OUT","USDHC_USDHC_D_4_INOUT","USDHC_USDHC_D_4_IN","USDHC_USDHC_D_4_OUT","USDHC_USDHC_D_5_INOUT","USDHC_USDHC_D_5_IN","USDHC_USDHC_D_5_OUT","USDHC_USDHC_D_6_INOUT","USDHC_USDHC_D_6_IN","USDHC_USDHC_D_6_OUT","USDHC_USDHC_D_7_INOUT","USDHC_USDHC_D_7_IN","USDHC_USDHC_D_7_OUT","USDHC_USDHC_RESET_B_OUT","USDHC_USDHC_WP_IN","WKPU_WKPU_0_IN","WKPU_WKPU_10_IN","WKPU_WKPU_11_IN","WKPU_WKPU_12_IN","WKPU_WKPU_13_IN","WKPU_WKPU_14_IN","WKPU_WKPU_15_IN","WKPU_WKPU_16_IN","WKPU_WKPU_17_IN","WKPU_WKPU_18_IN","WKPU_WKPU_19_IN","WKPU_WKPU_1_IN","WKPU_WKPU_20_IN","WKPU_WKPU_21_IN","WKPU_WKPU_22_IN","WKPU_WKPU_23_IN","WKPU_WKPU_24_IN","WKPU_WKPU_25_IN","WKPU_WKPU_26_IN","WKPU_WKPU_27_IN","WKPU_WKPU_28_IN","WKPU_WKPU_29_IN","WKPU_WKPU_2_IN","WKPU_WKPU_30_IN","WKPU_WKPU_31_IN","WKPU_WKPU_32_IN","WKPU_WKPU_33_IN","WKPU_WKPU_34_IN","WKPU_WKPU_35_IN","WKPU_WKPU_36_IN","WKPU_WKPU_37_IN","WKPU_WKPU_38_IN","WKPU_WKPU_39_IN","WKPU_WKPU_3_IN","WKPU_WKPU_40_IN","WKPU_WKPU_41_IN","WKPU_WKPU_42_IN","WKPU_WKPU_43_IN","WKPU_WKPU_44_IN","WKPU_WKPU_45_IN","WKPU_WKPU_46_IN","WKPU_WKPU_47_IN","WKPU_WKPU_48_IN","WKPU_WKPU_49_IN","WKPU_WKPU_4_IN","WKPU_WKPU_50_IN","WKPU_WKPU_51_IN","WKPU_WKPU_52_IN","WKPU_WKPU_53_IN","WKPU_WKPU_54_IN","WKPU_WKPU_55_IN","WKPU_WKPU_56_IN","WKPU_WKPU_57_IN","WKPU_WKPU_58_IN","WKPU_WKPU_59_IN","WKPU_WKPU_5_IN","WKPU_WKPU_6_IN","WKPU_WKPU_7_IN","WKPU_WKPU_8_IN","WKPU_WKPU_9_IN"]}get_enum_options
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinSiul2Instance"}Result:
{"options":["SIUL2_0"]}get_enum_options
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinDirection"}Result:
{"options":["PORT_PIN_IN","PORT_PIN_OUT","PORT_PIN_INOUT","PORT_PIN_HIGH_Z"]}get_enum_options
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinLevelValue"}Result:
{"options":["PORT_PIN_LEVEL_HIGH","PORT_PIN_LEVEL_LOW","PORT_PIN_LEVEL_NOTCHANGED"]}get_enum_options
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinSlewRate"}Result:
{"options":["FASTEST_SETTING","SLOWEST_SETTING","SLEW_RATE_NOT_AVAILABLE"]}Assistant
Now I have all the enum options. Let me configure the first pin PTE28 (CAN1_STB). Per the notes, I'll set PortPinPcr first.
set_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinPcr", "value": 156}Result:
okAssistant
Now let me add the remaining 5 pins.
add_list_item
{ "num": 5, "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin"}Result:
{"urls":["Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PortPin_0","Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PortPin_1","Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PortPin_2","Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PortPin_3","Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PortPin_4"]}Assistant
Now let me configure the CAN1_RXD pin (PTA22 - input - PCR 22).
set_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA22_CAN1_RXD/PortPinPcr", "value": 22}Result:
okAssistant
Now configure PTA23_CAN1_TXD (output, PCR 23).
set_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA23_CAN1_TXD/PortPinPcr", "value": 23}Result:
okAssistant
Now configure PTE29_CAN2_STB (GPIO output, PCR 157).
set_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE29_CAN2_STB/PortPinPcr", "value": 157}Result:
okAssistant
Now configure PTE25_CAN2_RXD (input, PCR 153).
set_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE25_CAN2_RXD/PortPinPcr", "value": 153}Result:
okAssistant
Now configure PTE24_CAN2_TXD (output, PCR 152).
set_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE24_CAN2_TXD/PortPinPcr", "value": 152}Result:
okAssistant
所有引脚已配置。现在运行 AutoCalc 计算自动计算值,然后验证。
eb_autocalc
{}Result:
$ D:\EB\tresos\bin\tresos_cmd.bat -Dwarning=false -data ebws batch C:\Users\frank\.autoc\6149ab7cc9213ebf6fde411000659d48\eb-autocalc.batchINFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinSiul2Instance from "" to "SIUL2_0"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinSlewRate from "" to "SLEW_RATE_NOT_AVAILABLE"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA22_CAN1_RXD/PortPinSiul2Instance from "" to "SIUL2_0"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA22_CAN1_RXD/PortPinSlewRate from "" to "SLEW_RATE_NOT_AVAILABLE"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA23_CAN1_TXD/PortPinSiul2Instance from "" to "SIUL2_0"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA23_CAN1_TXD/PortPinSlewRate from "" to "SLEW_RATE_NOT_AVAILABLE"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE29_CAN2_STB/PortPinSiul2Instance from "" to "SIUL2_0"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE29_CAN2_STB/PortPinSlewRate from "" to "SLEW_RATE_NOT_AVAILABLE"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE25_CAN2_RXD/PortPinSiul2Instance from "" to "SIUL2_0"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE25_CAN2_RXD/PortPinSlewRate from "" to "SLEW_RATE_NOT_AVAILABLE"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE24_CAN2_TXD/PortPinSiul2Instance from "" to "SIUL2_0"INFO 26-05-17,23:07:43 (36007) Recalculated the value of node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE24_CAN2_TXD/PortPinSlewRate from "" to "SLEW_RATE_NOT_AVAILABLE"Unattended wizard "autoc_calc (Calculate Derivable Values)(autoc_calc)" exited ok.Errors "0" Warnings "0"Errors "0" Warnings "0"exit code: 0Assistant
AutoCalc 成功。现在验证配置。
eb_verify
{ "moduleName": "Port"}Result:
$ D:\EB\tresos\bin\tresos_cmd.bat -Dwarning=false -data ebws verify -g Port_TS_T40D34M70I1R0 PortVerifying project PortINFO 26-05-17,23:07:50 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:07:50 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:07:50 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:07:50 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:07:50 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:07:55 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:07:55 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.BUILD SUCCESSFULERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortNumberOfPortPins": Value "" is no numberERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinId": Value "" is no numberERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA22_CAN1_RXD/PortPinId": Value "" is no numberERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA23_CAN1_TXD/PortPinId": Value "" is no numberERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE29_CAN2_STB/PortPinId": Value "" is no numberERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE25_CAN2_RXD/PortPinId": Value "" is no numberERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE24_CAN2_TXD/PortPinId": Value "" is no numberINFO 26-05-17,23:07:50 (13030) Running generator "Port_TS_T40D34M70I1R0" in mode "verify" for module "Port_TS_T40D34M70I1R0"INFO 26-05-17,23:07:50 (20053) Generating file D:\EB\tresos\workspace\Port\output\output\Port.epcINFO 26-05-17,23:07:50 (1091) The node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortNumberOfPortPins does not have a (valid) value and cannot be written. Its DEFAULT will be used when loading or importing the file.INFO 26-05-17,23:07:50 (1091) The node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinId does not have a (valid) value and cannot be written. Its DEFAULT will be used when loading or importing the file.INFO 26-05-17,23:07:50 (1091) The node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA22_CAN1_RXD/PortPinId does not have a (valid) value and cannot be written. Its DEFAULT will be used when loading or importing the file.INFO 26-05-17,23:07:50 (1091) The node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA23_CAN1_TXD/PortPinId does not have a (valid) value and cannot be written. Its DEFAULT will be used when loading or importing the file.INFO 26-05-17,23:07:50 (1091) The node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE29_CAN2_STB/PortPinId does not have a (valid) value and cannot be written. Its DEFAULT will be used when loading or importing the file.INFO 26-05-17,23:07:50 (1091) The node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE25_CAN2_RXD/PortPinId does not have a (valid) value and cannot be written. Its DEFAULT will be used when loading or importing the file.INFO 26-05-17,23:07:50 (1091) The node /AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE24_CAN2_TXD/PortPinId does not have a (valid) value and cannot be written. Its DEFAULT will be used when loading or importing the file.INFO 26-05-17,23:07:50 (13030) Running generator "Port_TS_T40D34M70I1R0_GeneratorId" in mode "verify" for module "Port_TS_T40D34M70I1R0"INFO 26-05-17,23:07:55 (13030) Running generator "Port_TS_T40D34M70I1R0_UniqueNGGeneratorId" in mode "verify" for module "Port_TS_T40D34M70I1R0"ERROR 26-05-17,23:07:55 (13028) Project "Port" has errors, see Problems ViewErrors "8" Warnings "0"errors: ERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortNumberOfPortPins": Value "" is no number ERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinId": Value "" is no number ERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA22_CAN1_RXD/PortPinId": Value "" is no number ERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA23_CAN1_TXD/PortPinId": Value "" is no number ERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE29_CAN2_STB/PortPinId": Value "" is no number ERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE25_CAN2_RXD/PortPinId": Value "" is no number ERROR 26-05-17,23:07:49 (1019) Invalid value for node "/AUTOSAR/TOP-LEVEL-PACKAGES/Port/ELEMENTS/Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE24_CAN2_TXD/PortPinId": Value "" is no number ERROR 26-05-17,23:07:55 (13028) Project "Port" has errors, see Problems Viewexit code: 1Tool error
Assistant
PortNumberOfPortPins 和 PortPinId 的 isCalc 字段在 AutoCalc 后仍然为空。让我明确地用 @CALC 标记它们。
set_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortNumberOfPortPins", "value": "@CALC"}Result:
okset_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE28_CAN1_STB/PortPinId", "value": "@CALC"}Result:
okset_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA22_CAN1_RXD/PortPinId", "value": "@CALC"}Result:
okset_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTA23_CAN1_TXD/PortPinId", "value": "@CALC"}Result:
okset_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE29_CAN2_STB/PortPinId", "value": "@CALC"}Result:
okset_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE25_CAN2_RXD/PortPinId", "value": "@CALC"}Result:
okset_value
{ "url": "Port/PortConfigSet/PortContainer/PortContainer_CAN/PortPin/PTE24_CAN2_TXD/PortPinId", "value": "@CALC"}Result:
okAssistant
计算字段已填充。再次验证。
eb_verify
{ "moduleName": "Port"}Result:
$ D:\EB\tresos\bin\tresos_cmd.bat -Dwarning=false -data ebws verify -g Port_TS_T40D34M70I1R0 PortVerifying project PortINFO 26-05-17,23:08:18 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:08:18 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:08:18 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:08:18 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:08:18 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:08:22 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.INFO 26-05-17,23:08:22 (12145) Using a shortened feature name ("EB_TS_MOD_USPort_TS_T40D34M70I" instead of "EB_TS_MOD_USPort_TS_T40D34M70I1R0") for license check.BUILD SUCCESSFULINFO 26-05-17,23:08:18 (13030) Running generator "Port_TS_T40D34M70I1R0" in mode "verify" for module "Port_TS_T40D34M70I1R0"INFO 26-05-17,23:08:18 (20053) Generating file D:\EB\tresos\workspace\Port\output\output\Port.epcINFO 26-05-17,23:08:18 (13030) Running generator "Port_TS_T40D34M70I1R0_GeneratorId" in mode "verify" for module "Port_TS_T40D34M70I1R0"INFO 26-05-17,23:08:22 (13030) Running generator "Port_TS_T40D34M70I1R0_UniqueNGGeneratorId" in mode "verify" for module "Port_TS_T40D34M70I1R0"Errors "0" Warnings "0"exit code: 0Assistant
验证通过,0 错误,0 警告。Port 模块配置完成。
以下是基于 mcu_pins.csv 所配置内容的总结:
PortContainer:PortContainer_CAN(PortNumberOfPortPins = 6)
PTE28_CAN1_STB | ||||||
PTA22_CAN1_RXD | CAN1_CAN1_RX_IN | |||||
PTA23_CAN1_TXD | CAN1_CAN1_TX_OUT | |||||
PTE29_CAN2_STB | ||||||
PTE25_CAN2_RXD | CAN2_CAN2_RX_IN | |||||
PTE24_CAN2_TXD | CAN2_CAN2_TX_OUT |
所有引脚均使用 SIUL2_0 实例,Slew Rate 为 SLEW_RATE_NOT_AVAILABLE。
这个是AI配置好后的EB的配置截图(完全由AI完成)

这可能只是开始
说实话。
现在这个阶段,我不会说:
“AI 已经完全解决 AUTOSAR 配置问题。”
那不现实。
真实工程远比 Demo 复杂。
Fee、Fls、NvM、Complex Dependency、OEM Constraint……这些东西都不是一句 Prompt 能搞定的。
但我会承认一件事。
以前我认为:
AUTOSAR AI 配置,离工程落地还很远。
试完 AutoC 之后,我开始觉得:
可能比很多人想象得更近。
如果你做 AUTOSAR、MCAL、BSW、ECU 配置相关工作,我建议自己去体验一下。
官网:
https://www.autoc-tool.com/
至少对我来说。
这是我第一次在 AUTOSAR 配置领域,看到一个让我真正产生“AI 可能真的能做这件事”感觉的产品。
夜雨聆风