Initial commit: OFDM-радиолиния на двух Pluto+ (PHY/link, код на ARM)

- src: transmitter, receiver, ofdm_bench, common (libiio local: + liquid-dsp)
- scripts: кросс-сборка зависимостей, деплой scp -O, e2e-тест с md5
- docs: бенчмарк CPU (выбор rate 1.92 MSPS), грабли FDD/регуляторика
- все текстовые файлы нормализованы в LF (.gitattributes принудительно):
  CRLF в toolchain.env/makefile ломал source и make на Linux
- .vscode: IntelliSense в режиме linux-gcc-arm, заголовки из .xarm/include

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Maxim
2026-07-10 11:00:38 +03:00
commit 0f207b146d
18 changed files with 1579 additions and 0 deletions

20
toolchain.env Normal file
View File

@@ -0,0 +1,20 @@
# toolchain.env — окружение кросс-сборки pluto-link
# Использование в скриптах: source "$(dirname "$0")/../toolchain.env"
# Значения согласованы с makefile (там задаются через ?=).
export CROSS=arm-linux-gnueabihf-
export CC=${CROSS}gcc
export XARM="$HOME/xarm" # префикс кросс-библиотек (static)
export XCFLAGS="-O3 -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard -ffast-math"
# Платы (переопределяй здесь или переменными окружения)
export PLUTO_A="${PLUTO_A:-192.168.2.1}" # передатчик
export PLUTO_B="${PLUTO_B:-192.168.3.1}" # приёмник
export PLUTO_PASS="analog" # дефолтный пароль root
# Примечания:
# - прошивка v0.38: заливка только `scp -O` (sftp-server на плате нет)
# - rootfs платы в RAM: /tmp очищается при перезагрузке
# - для запуска ssh/scp без ввода пароля: sudo apt install sshpass,
# тогда скрипты используют sshpass -p "$PLUTO_PASS" автоматически