From c0ebcdd50738e8511772dfb7e7a5cbc52598568f Mon Sep 17 00:00:00 2001 From: Vadim Sychev Date: Mon, 19 Dec 2022 14:07:53 +0300 Subject: [PATCH] =?UTF-8?q?dev:=20=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 4c86fc3..eea8cce 100644 --- a/README.md +++ b/README.md @@ -188,31 +188,23 @@ echo_submod_ptr->inp_data.Write(0, Echo_inpCycData.mem, echo_submod_ptr->cyc_ind Обмен происходит с помощью json rpc, протокол описан в файле `src/interprocess/pipes/json_rpc_protocol.txt`. ## Инструкция по сборке -ПО кроссплатформенное, настройка сборки осуществляется в файле `.vscode/settings.json`. - -### Сборка под arm cortex-a15 (sitara) - -В файле `settings.json` должна быть секция: -```json -"cmake.configureArgs": [ - "-DBOARD=BOARD_ID", - "-DCMAKE_TOOLCHAIN_FILE=${workspaceFolder}/../sitara_depot/compile/ - BOARD_TOOLCHAIN.cmake", -] -``` -где: -* `BOARD_ID` - идентфикатор платы, под которую нужна сборка, принимает значения: - * `am5718-idk` - * `BeagleBoneAI` -* `BOARD_TOOLCHAIN` - cmake файл с настройками сборки - путь к кросс-компилятору и папке sysroot: - * `toolchain_am571x_idk` - для платы am5718-idk, - * `toolchain_beagle_bone` - для платы BeagleBoneAI. - -К сожалению не нашел пути реализовать один файл toolchain.cmake для обоих плат, т.к. cmake перед сборкой самостоятельно запускает cmake с настройками из toolchain.cmake, но без задания BOARD_ID. +ПО кроссплатформенное, настройка окружения сборки осущетсвляется в файле `CMakePresets.json`. ### Сборка под x86_64 -Удалить секцию `cmake.configureArgs` и запустить сборку. +Выбрать конфигурацию "x86_64 Debug" или "x86_64 Release" + +### Сборка под arm cortex-a15 (sitara) + +Перед сборкой отредактировать значения переменных окружения: +* ENV_TARGET_CROSS_COMPILE_PREFIX - префикс компилятора с полным путем к нему. Например: +`/home/svad/ti/ti-processor-sdk-linux-am57xx-evm-08_02_01_00/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-none-linux-gnueabihf-` + +* ENV_TARGET_SYSTOOT_PATH - путь к библиотекам целефой платформы. +Для платы am571x-idk - это: +`/home/svad/ti/ti-processor-sdk-linux-am57xx-evm-08_02_01_00/linux-devkit/sysroots/armv7at2hf-neon-linux-gnueabi` + + SYSROOT можно выкачать из платы напрямую. Например для BeagleBoardAI есть скрипт `../sitara_depot/scripts/beagleboard/host/create_sysroot.sh` ## Зависимости Две библиотеки: @@ -225,6 +217,8 @@ echo_submod_ptr->inp_data.Write(0, Echo_inpCycData.mem, echo_submod_ptr->cyc_ind В названии файла d - значит дебажная версия библиотеки, например libosal.a - Release, а libosald.a - Debug. +Сборка библиоитек реализована аналогично. +