Introduction To Popcornsar Adaptive Autosar (R20-11) Tool Chain
Introduction To Popcornsar Adaptive Autosar (R20-11) Tool Chain
3
1. Automotive Software Development Process with Adaptive AUTOSAR (R20-11)
Requirements
Manifest Files
Hand-coding
Generated C++ Codes LIB FC library files
Codes After Generation
Executable Files
• Vehicle functions and cyber security can be updated through OTA after SOP.
4
2. Overview of PopcornSAR Adaptive AUTOSAR (R20-11) tool chain
5
3. Product Introduction : PARA - FCs list (R20-11) To-be (before 2023)
Available Available C++ Source Code Manifest Specific Platform Level PopcornSAR
EXE
now before 2023 Generator Generator Generator Application Specific
6
3. Product introduction: PARA - Features
8
3. Product introduction: PARA – Safety Mechanism for ISO26262
<ex1 Human error of ara API : SOME/IP Error fault detection when AA runs: someip OfferService API>
2022/02/09 03:39:18.645278 102307244 001 ECU1 CM-- DFLT log error V 1 [InitByManifest:: ManifestParser::InitByManifest::
HasParserError fail <0> (/home/popcornsar/para-r2011-main/para-api/com/internal/database/database.cpp #63)] 5terminate
called after throwing an instance of 'std::runtime_error' 6 what(): InitByManifest:: ManifestParser::InitByManifest::
HasParserError fail <0> (/home/popcornsar/para-r2011-main/para-api/com/internal/database/database.cpp #63
<ex2 Human error of POSIX OS : dummy files created when using vi editor of POSIX OS in target board>
9
3. Product introduction: PARA – CAN-DO(based on Docker container)
• CAN-DO can generate CAN virtual ECU which is based on docker container with
ARXML/DBC/EXCEL.
• Able to fast generate multiple CAN virtual ECUs for testing ECUs.
• Able to manage CAN virtual ECU’s configurations through Dockerhub, and able to
automate the virtual ECU generation process through Jenkins.
• No limitation of AUTOSAR versions.
<.CSV or .json>
Configuration
Auto-distribution and generation through Jenkins management
10
3. Product introduction: PARA – Example use case of CAN-DO
ADAS ECU for Variant 1 ADAS ECU for Variant 2
AA1 AA1
…
ECU P-1 ECU C-1 ECU P-I ECU C-I
Powertrain Chassis Powertrain Chassis
virtual ECU P-2
… virtual … virtual ECU P-II
… virtual …
ECU C-2 ECU C-II
CAN ECU CAN ECU CAN ECU CAN ECU
Variant 1 ECU P-3 Variant 1 ECU C-3
Variant 2 ECU P-III Variant 2 ECU C-III
CAN
• EM might not recognize non-AUTOSAR Apps (docker, legacy network app, Python etc).
• PopcornSAR provides special AA as a role of EM/SM to execute Non-AUTOSAR Apps.
4. Product introduction: PACON IDE – Features
14
4. Product introduction: PACON IDE – Customization according to requirements
Variant CPU OS
Variant 1 NVIDIA Linux (5.0) Variant1:1.0.0
NVIDIA Linux (5.15) Variant1:1.1.0
Variant 2 Intel QNX Variant2_intel:1.0.0
NXP QNX Variant2_nxp:1.0.0
Variant 3 R-car Android Variant3:1.0.0
15
4. Product introduction: PACON IDE - IDE and Virtual ECU creation process
Development environment
Information of for target ECU (=PACON IDE)
customer’s target ECU
vscode-server Vehicle SDK
CPU
(NXP, RENESAS, Compiler other tools
NVIDIA etc.)
Virtual ECU corresponding
POSIX OS to physical ECU
(Linux, QNX etc.) Virtual ECU Docker Container N Configuration
management
Container for system test
Compiler
Functional clusters System Test Docker Container N
16
5. Product introduction: Virtual ECU – Features (1)
17
5. Product introduction: Virtual ECU – Features (2)
18
5. Product introduction: Virtual ECU – Customization according to requirements
• IDE and virtual ECU for the same variant are managed separately.
Variant CPU OS
Variant 1 NVIDIA Linux (5.0) vECU_Variant1:1.0.0
NVIDIA Linux (5.15) vECU_Variant1:1.1.0
Variant 2 Intel QNX vECU_Variant2_intel:1.0.0
NXP QNX vECU_Variant2_nxp:1.0.0
Variant 3 R-car Android vECU_Variant3:1.0.0
In case of QNX, virtual ECU will run on QEMU instead of docker container.
• Once testing is done in a development server, an adaptive application can be ported to target ECU
without recompiling.
-> Maximizes efficiency in development.
20
5. Product introduction: Virtual ECU - QEMU vs Docker Container
21
5. Product introduction: Virtual ECU - Examples
22
5. Product introduction: Virtual ECU - Examples
• Can use tshark in Docker Container for system test to monitor virtual ECU(ARM, etc.).
• Can use Wireshark which is installed in PACON IDE.
23
6. Example of PopcornSAR AP development environment
• PopcornSAR AP tool chain doesn’t include QEMU nor Yocto.
• Since ARA API changes frequently for each AP version, PopcornSAR developed its own testing SW.
Dev. server
<Management through
AP Docker Container 1 Sharing Simultaneously
jira & confluence>
vscode-server Vehicle SDK
Compiler Virtual ECU Docker Container N
other tools
<FC Developer>
AA source code
& build files
for System Test
AP Docker Container 3
vscode-server Vehicle SDK
Compiler other tools
<Test Assistant>
24
7. PopcornSAR Adaptive tool development roadmap (~2023)
▶R20-11 ara::ucm
▶R20-11 ara::phm ▶Signal Management
▶R20-11 ara::diag (like S2S) ▶PARA QNX ▶R20-11 ara::crypto
▶PACON IDE & vECU ▶python SOME/IP ▶R20-11 ara::nm ▶R20-11 ara::iam
(QEMU) for QNX library ▶R20-11 ara::com::e2e ▶R20-11 ara::tsync
1Q 2Q 3Q 4Q
2022
▶Available for R21-11 & R22-11 ▶Start developing R22-11 ▶Provided according to PARA
2023
25
(Appendix 1) Tool demonstrations
26
(Appendix 2) ISO26262 Certificate of PopcornSAR Adaptive platform Authoring tool
27