codedua

my technote


Building SOME/IP application using CommonAPI C++ SOME/IP

CommonAPI C++ SOMEIP is a suite of toolchain and library that provides convenient way to perform SOME-IP using vsomeip. In other words, CommonAPI wraps vsomeip. Overall CommonAPI C++ is a C++ framework for inter-process and network communication. It defines a high-level C++ API, which can be used for different IPC mechanisms. CommonAPI C++ SOMEIP, as the name implies, has 2 part: CommonAPI C++ SOMEIP IPC stack (the implementation of the basic communication and the service discovery by vsomeip) Client and Server communicate via the Interface that the Server provides and the Client requires.

Read more...

SOMEIP packet dissection

Background Before consumer sending the first SOMEIP message to call provider’s method, consumer and provider must “handshake” to detect each other. Handshake is steps conducted by SOMEIP Service Discovery sending broadcast message to find out existence services over the network. That broadcast message is called SOMEIP SD message. Both SOMEIP and SOMEIP SD packet are encapsulated as TCP/UDP payload. SOMEIP Message SOME/IP messages shall be sent over UDP or TCP.

Read more...

SOME/IP Introduction

SOME-IP by itself is not a library, and have no source code. It is merely a specification, developed and maintained by AUTOSAR. while its implementation is called vsomeip and released by COVESA. CommonAPI C++ SOMEIP is a suite of toolchain and library that provides convenient way to perform SOME-IP using vsomeip. In other words, CommonAPI wraps vsomeip. Overall Architecture of SOME/IP Routing manager: Routing manager is the central component that processes all the SOME/IP messages received.

Read more...

vsomeip configuration file - vsomeip.json

The vsomeip configuration file is in JSON format, typically named vsomeip.json, although you can name it anything with a .json extension. Each ECU with an app running SOMEIP requires at least one configuration file. Without configuration file, the SOMEIP apps on that ECU can only communicate others within ECU, not communicate other ECUs vsomeip.json there are main keys/tags in configuration file unicast: host’s IP address application: list of applications should be load this configuration file.

Read more...

Static Library and Shared Library

Static library Static library còn được gọi là archive /ˈɑːrkaɪv/ vì thực tế nó là một file chứa một hoặc nhiều object files. Cũng vì thế mà static library có quy tắc đặt tên là lib*.a (a đại diện cho archive), ví dụ: libgnss.a libtime.a Công cụ để tạo ra static library gọi là archiver, sử dụng thông qua command ar Ví dụ ta có source code math_operations.cpp chứa các function tính toán cộng, trừ, nhân, chia đơn giản như sau:

Read more...

OpenGL ES hoàn toàn dựa trên shader, nghĩa là để vẽ vất kì hình nào bằng OpenGL ES thì đều phải load shader và bind chương trình đến shader. (Trong khi các phiên bản OpenGL cũ hơn 3.0 thì ta có thể vẽ các hình mà không cần shader bằng cách sử dụng các fixed-function như glBegin, glVertex, glColor, glEnd. Tuy nhiên từ openGL 3.0 thì đã loại bỏ fixed-function và yêu cầu phải sử dụng shader).

Read more...
1 of 1