5.5. LIN Module Migration
Migration Approach: Follow sequential migration for clear understanding of changes at each version. Each migration is organized by individual changes with description, old vs new comparison, and migration actions.
5.5.1. v03.00.00 (i.e release v01.04.00) from v02.00.00 (i.e release v01.03.00) Migration
5.5.1.1. Summary
Version v03.00.00 introduces Resource Allocator as a mandatory architectural foundation, updates instance naming for consistency, adds new configuration parameters, and renames existing parameters for improved clarity:
Resource Allocator Introduction: Resource Allocator becomes mandatory for all LIN module configuration
Instance Name Updates: LIN instance naming convention changes for consistency (LIN_INSTANCE_A → LIN_A)
New Configuration Parameter: LinWakeupId parameter added in LinGeneral container
Parameter Rename: SysClockRef renamed to LinSysClockRef for improved naming consistency
PREREQUISITE: Complete Resource Allocator Setup before proceeding.
5.5.1.2. Change 1: Resource Allocator Introduction
5.5.1.2.1. Description
Resource Allocator becomes a mandatory architectural foundation for the LIN module. The LIN module now integrates with the Resource Allocator module for device, package, and variant configuration. LIN instance configuration parameters are now derived from the Resource Allocator, and available LIN instances are dynamically determined based on the device configuration in the Resource Allocator.
5.5.1.2.2. Old vs New Configuration
Previous Configuration (v02.00.00): Direct parameter selection was used without Resource Allocator dependency.
Fig. 5.19 v02.00.00: Direct LIN instance parameter selection with LIN_INSTANCE_A naming
New Configuration (v03.00.00): LIN configurations now reference the LIN instances allocated through Resource Allocator.
Fig. 5.20 v03.00.00: Set LinInstanceRef to point to the corresponding LinAllocatedInstance in Resource Allocator (LIN_A, LIN_B)
5.5.1.2.3. Migration Actions
Setup Resource Allocator: Follow Resource Allocator Setup
Navigate to Context: Navigate to ResourceAllocatorGeneral → Context → Lin and add LIN allocator:
Fig. 5.21 Navigate to Context and add LIN allocator
Add LIN Instance: Add LinAllocatedInstance entries for each LIN instance your application requires:
Fig. 5.22 Add LinAllocatedInstance entries for each LIN instance your application requires
Configure LIN Instance: Configure the InstanceName, Frame, and BaseAddr for each allocated instance with new naming:
Fig. 5.23 Configure the InstanceName, Frame, and BaseAddr for each allocated instance with new naming (LIN_A, LIN_B)
Complete Configuration: Finalize LIN instance allocation:
Fig. 5.24 Complete LIN instance allocation
Navigate to LinController: Navigate to Lin → LinController and update configurations to reference the LIN instances allocated in Resource Allocator
Open Controller Configuration: Access the LinController configuration that needs to be updated
Set Instance Reference: Set LinInstanceRef to point to the corresponding LinAllocatedInstance in Resource Allocator (LIN_A, LIN_B)
Verify Automatic Derivation: Confirm that the LinInstanceId parameter is now automatically derived from the Resource Allocator reference
5.5.1.3. Change 2: Instance Name Updates
5.5.1.3.1. Description
LIN instance names have been updated for consistency. The naming convention changes from descriptive instance names to simplified alphabetic identifiers that align with Resource Allocator requirements and improve naming consistency across modules.
5.5.1.3.2. Old vs New Instance Names
Instance Name Mapping:
v02.00.00 |
v03.00.00 |
|---|---|
LIN_INSTANCE_A |
LIN_A |
LIN_INSTANCE_B |
LIN_B |
5.5.1.3.3. Migration Actions
No additional action required. Instance name updates are automatically handled when following the Resource Allocator setup steps in Change 1. The controller naming convention changes from old identifiers to the updated identifiers are applied automatically through the Resource Allocator configuration.
If you have used the old instance names in the application code, please change them to match the new naming convention.
Note
Most applications using standard LIN APIs will not require code changes, as the changes are primarily in configuration and instance naming conventions.
5.5.1.4. Change 3: New Configuration Parameter (LinWakeupId)
5.5.1.4.1. Description
A new parameter LinWakeupId has been added in the LinGeneral container. This parameter specifies the LIN ID used to transmit a header instead of a wakeup signal due to hardware constraints, providing more flexibility in wakeup signal handling.
5.5.1.4.2. Old vs New Parameter Configuration
New Parameter Added:
Parameter |
v02.00.00 |
v03.00.00 |
|---|---|---|
LinWakeupId |
Not available |
Added in LinGeneral container |
Parameter Details:
Purpose: Specifies the LIN ID used to transmit a header instead of a wakeup signal due to hardware constraints
Default value: 63 (0x3F)
Valid range: 0 to 63
Location: LinGeneral container
5.5.1.4.3. Migration Actions
Navigate to LinGeneral Container: Open LinGeneral container in EB Tresos
Configure LinWakeupId Parameter: Set the LinWakeupId parameter with an unused LIN ID in your network (0-63)
This ID will be used for wakeup signal transmission instead of the standard wakeup signal
Default value is 63 (0x3F), adjust based on your network requirements
Verify Network Compatibility: Ensure the selected LIN ID does not conflict with other IDs in your LIN network
5.5.1.5. Change 4: Parameter Rename (SysClockRef → LinSysClockRef)
5.5.1.5.1. Description
The system clock reference parameter has been renamed from SysClockRef to LinSysClockRef for improved naming consistency and better module identification.
5.5.1.5.2. Old vs New Parameter Names
Parameter Name Mapping:
v02.00.00 |
v03.00.00 |
|---|---|
SysClockRef |
LinSysClockRef |
Fig. 5.25 Configure LinWakeupId parameter and observe LinSysClockRef parameter rename in LinGeneral container
5.5.1.5.3. Migration Actions
Observe Automatic Rename: SysClockRef has been automatically renamed to LinSysClockRef in EB Tresos
Update External References: If you have external scripts or tools referencing SysClockRef, update them to use LinSysClockRef
Verify Configuration: No configuration changes required in EB Tresos for this parameter - the rename is handled automatically
5.5.2. v02.00.00 (i.e release v01.03.00) from v01.01.00 (i.e release v01.02.00) Migration
5.5.2.1. Summary
Version v02.00.00 introduces AUTOSAR compliance for configuration structure naming according to requirement TPS_ECUC_08011:
Configuration Structure Name Change: LIN configuration structure name updated for AUTOSAR TPS_ECUC_08011 compliance
5.5.2.2. Change 1: Configuration Structure Name Change
5.5.2.2.1. Description
Version v02.00.00 changes the configuration structure name for AUTOSAR TPS_ECUC_08011 compliance. This change ensures compliance with AUTOSAR naming conventions and requires updates to application code that references the LIN configuration structure.
5.5.2.2.2. Old vs New Configuration Structure
Configuration Structure Name Mapping:
v01.01.00 |
v02.00.00 |
|---|---|
|
|
Code Examples:
// v01.01.00 or any older versions
Lin_Init(&Lin_LinGlobalConfig);
// v02.00.00
Lin_Init(&Lin_Config);
5.5.2.2.3. Migration Actions
Search Application Code: Find all references to
Lin_LinGlobalConfigin your application codeReplace Structure Name: Update all references from
Lin_LinGlobalConfigtoLin_ConfigUpdate Function Calls: Ensure all LIN initialization calls use the new structure name
Update Upper Modules: Update any upper modules that reference the configuration structures to use the new structure name
Verify Compilation: Clean build and verify no compilation errors related to LIN configuration structure