# msgbx-ipc **Repository Path**: hanhai-modules/msgbx-ipc ## Basic Information - **Project Name**: msgbx-ipc - **Description**: 来自黑芝麻智能科技(bstai)瀚海(hanhai)的核间通信协议栈,具有跨平台特点 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: release-open-source - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-06-14 - **Last Updated**: 2025-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Project Overview This project implements a platform-independent inter-processor communication protocol stack. To ensure compatibility with various operating systems, you will need to implement the hardware layer and the translation layer within the implementation. # User Guide You can download the code and execute ./build.sh to compile all the code and copy the programs into the ./out/ directory. Please ensure that you manually create two new directories, build and out. Afterward, you can run the relevant programs to verify the execution results. # Prerequisite: - ubuntu environment - glibc version 2.28 or later - c11 - set(CMAKE_C_FLAGS -mno-outline-atomics) - gtest # Code Structure * ipc_hw_shm_recv / ipc_hw_shm_send : these are ipc hw_layer API test demo. resource code : ./test/ipc_hw_recv_test.c ./test/ipc_hw_send_test.c * ipc_trans_bare_client.c / ipc_trans_bare_server.c : these are ipc trans_layer API test demo resource code : ./test/ipc_trans_bare_client.c ./test/ipc_trans_bare_server.c * test/baremetal : these are ipc app demo, using the generated app layer code under ipc_app_layer/baremetal. You can also find the sample IDL files and generation scripts under same folder. resource code : ./test/baremetal/ **IMPORTANT** you could refer to these API test resource code to test your implementation, if necessary. # License This project is dual-licensed under the GNU General Public License v2.0 and the Apache 2.0 License. You may choose to use this project under the terms of either of these licenses. ## GPL-2.0 License This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. ## Apache 2.0 License This program is also distributed under the terms of the Apache 2.0 License. For more details, see the LICENSE file. # Contributing If you wish to contribute to this project, please be aware of the dual-licensing structure and ensure that your contributions can be licensed under both GPL-2.0 for Linux kernel use and Apache 2.0 for other uses. # Third-Party Libraries - cmocka : which is licensed under MIT License. - fff: which is licensed under the Apache 2.0 License. # Spec Note Since this module contains 3rd parties repos, you need to add the "--recurse-submodules" flag when cloning this repo. For example, git clone http://bstcd.stuffs.biz/middleware/msgbx_ipc.git --recurse-submodules