GENIVI và những điều có thể bạn chưa biết

Thuật ngữ GENIVI có thể là xa lạ với rất nhiều người nhưng với những bạn làm về Embedded Automotive (đặc biệt là mảng Infotainment) thì có lẽ lại là quá quen thuộc. Bản thân tôi thì thực ra chưa từng làm dự án thật nào mà nền tảng software được build lên từ source code của GENIVI nhưng tôi cũng đã làm khá nhiều cái tương tự và gần đây do yêu cầu công việc nên tôi đã tìm hiểu khá kỹ về nó. Ngoài ra tôi cũng may mắn được trao đổi với thanh niên Gunnar Andersson – Development Lead của GENIVI Alliance và nhờ đó tôi cũng vỡ ra được một số thứ khá thú vị (ít nhất là đối với tôi). Hôm nay tôi viết bài này để share thông tin mà tôi biết về GENIVI và hy vọng những thông tin đó sẽ giúp cho những ai đang mơ hồ về nó (như tôi đã từng) sẽ thêm phần tỏ tường.

 

GENIVI là gì ?

GENIVI là một liên minh với sự tham gia của nhiều công ty bao gồm rất nhiều hãng sản xuất xe hơi (còn gọi là OEM – Original Equipment Manufacturer) và các công ty công nghệ là Vendor về Software/Hardware cho OEM. Liên minh này có mục tiêu và sứ mệnh là giúp đỡ, cùng nhau phát triển các sản phẩm trên Car (sản phẩm ở đây là các hệ thống điện tử trên xe như Infotainment, Cockpit). Các công ty thành viên tham gia vào GENIVI sẽ cùng nhau:

  • Đưa ra và đồng thuận về các standard trong việc phát triển IVI
  • Phát triển một số code và specification (các công ty tham gia vào các lĩnh vực và các module mà họ quan tâm)

GENIVI phát triển một open source Software Platform có tên là GENIVI Development Platform (GDP), source code có thể được clone từ link sau: https://github.com/GENIVI/genivi-dev-platform. GDP là starting point để giúp cho các Automaker (OEM) và các suppliers có thể speedup quá trình phát triển hệ thống IVI (IVI = In-Vehicle Infotainment) trên ô tô base trên Linux OS. Thực ra GDP chỉ chứa các file config, các script, để có thể tích hợp các software component cần thiết cho một hệ thống IVI lại với nhau. Các software component được tích hợp bởi GDP là các open-source (có sẵn ở nguồn nào đó hoặc được phát triển bởi các team của chính GENIVI).

GENIVI không kinh doanh và không có sản phẩm để bán nhưng các công ty member của GENIVI thì có nhiều công ty đã có và đang thương mại hóa các Software Platform hoặc product hoàn chỉnh (bao gồm cả SW và HW) cho hệ thống IVI. Về SW thì có thể kể đến một số cái tên như LG, Wind River, Neusoft, Harman, KPIT, Luxoft, etc. Full solution bảo gồm cả SW + HW thì có Bosch, Alpine, Mitsubishi, Continental và nhiều công ty khác nữa.


GENIVI baseline

GENIVI có 2 nhánh baseline là Baserock GENIVI Baseline Yocto GENIVI Baseline. Tôi chỉ biết về Yocto GENIVI Baseline nên ở đây tôi chỉ nói về Yocto baseline.

Trong GENIVI Development Platform (GDP) có rất nhiều layer bên trong, trong đó có meta-ivi (hình dưới). Mục đích của layer này là để support việc tích hợp các thành phần Middleware/Linux kernel phục vụ cho In-Vehicle Infotainment (IVI) system vào cùng với hệ thống của Yocto project. Cuối cùng chúng ta có thể build ra được một Linux platform tích hợp sẵn một số sotfware components phục vụ cho việc phát triển hệ thống IVI trên Car.

meta-ivi trong GDP

 

Build Yocto sử dụng GENIVI Yocto baseline


Reference Software Architecture Design của GENIVI

GENIVI có một reference architecture ở link này. Reference architecture này nhằm mục đích giải thích những gì một hệ thống hoàn chỉnh cần phải có, chia sẻ về cách một hệ thống như vậy được tạo ra. Trong đó nhiều blocks/components là open-source (có sẵn ở nguồn nào đó hoặc được phát triển bởi các team của GENIVI), một số khác là software có phí được cung cấp bởi các công ty công nghệ. Ngoài các phần source code open-source mà GENIVI phát triển thì nội bộ của GENIVI sẽ có thêm các tài liệu về requirement, specification của một số blocks/components khác trong reference architecture. Các công ty phát triển sản phẩm base trên GDP phải tự fill các blocks/components còn thiếu bằng SW riêng của họ vì platform chung của GENIVI không có sẵn hết tất cả những cái đó.

GENIVI Có một bản reference architecture hoàn thiện hơn nhưng chỉ các công ty member (muốn trở thành member thì phải đống phí thường niên) mới có thể truy cập. Andersson khuyên rằng một công ty là OEM chỉ nên trở thành member nếu có hứng thú với các hoạt động và dự án của GENIVI, nếu muốn tham gia vào các cuộc meeting và demo, showcase etc, và nếu muốn gây ảnh hưởng lên tương lai của GENIVI. Andersson khuyên không nên trở thành member nếu chỉ để truy cập tài liệu bản reference architecture hoàn thiện hơn. Bởi vì tài liệu đấy cũng ở dạng draft thôi, chưa hoàn thiện, và nói chung là dell quan trọng. Đối với các OEM mà đặc biệt là các OEM trẻ chưa có nhiều kinh nghiệm thì nên hợp tác với các suppliers để họ offer cho một GENIVI-compliant platform, họ sẽ đưa ra một bức tranh đầy đủ về hệ thống và những gì họ có thể làm.


Vision của GENIVI

GENIVI cho rằng họ đã giải quyết xong challenge về “Linux in cars”, các thành viên của GENIVI đã thống nhất rằng giải quyết các vấn đề liên quan đến “Linux based IVI systems” không còn là thử thách nữa bởi vì có một số supplier đã có các hệ thống này và sẵn sàng cung cấp chúng cho các OEM. Ngoài ra đã có nhiều chiếc xe với các hệ thống dựa trên GENIVI-IVI được sản xuất và lăn bánh trên đường.

Hiện nay GENIVI không tập trung nhiều vào IVI nữa mà tập trung vào các thử thách mới như:
  1. Combining systems with Virtualization / Hypervisor
  2. Multi-OS design on distributed or multi-Core SoCs
  3. Protocols and standards for communication between different systems in the car
  4. Cloud & Connected services and defining the future Vehicle-Data architecture
  5. Developing individual software components/technologies that can be used in multiple different types of platforms (GENIVI-style, but also on other Linux or on non-Linux platforms)
  6. Automotive Security
  7. Tools for System Health and Debugging (not in IVI only – in distributed systems including many more parts of the car)
  8. Collaboration with AUTOSAR based platforms – how to communicate between AUTOSAR and non-AUTOSAR systems
  9. Collaboration in Android for Automotive

GENIVI hiện nay tập trung nghiên cứu nhiều về Cockpit (sẽ có bài riêng giới thiệu Cockpit là gì), Connectivity và Cloud. GENIVI cũng không tập trung nhiều vào Linux nữa mà chuyển sang nghiên cứu về Multi-OS (chạy nhiều OS trên các core khác nhau của cùng một SoC). Nói vậy không có nghĩa là họ ôm con bỏ chợ, GDP vẫn tiếp tục được GENIVI duy trì và hỗ trợ, chỉ là nó không còn là focus chính thôi.

— Phạm Minh Tuấn (Shun) —