Nav apraksta

Dmitry Telenkov 45f44be12d added command request QFS 1 gadu atpakaļ
.vscode e24cb42016 remove file 2 gadi atpakaļ
config 06800bfb4b [BT-6711-v1]change version 1.4 -> 1.5 1 gadu atpakaļ
docs 45f44be12d added command request QFS 1 gadu atpakaļ
iap f226bb91b3 enable ftp and syslog via *_ENABLE 4 gadi atpakaļ
modules 45f44be12d added command request QFS 1 gadu atpakaļ
patches 111eb43798 [BT-6709-MTS][MIB]change sysObjectID special for MTS 2 gadi atpakaļ
peripheral_modules 1addaf542f [BT-6711-v1]add new model of controller 3 gadi atpakaļ
projects 1addaf542f [BT-6711-v1]add new model of controller 3 gadi atpakaļ
service_hw e5ec28805b ftp: the client kinda works, needs lots of love still 4 gadi atpakaļ
stm32 4f486cc237 [BT-6711] gigabit ethernet switch support 3 gadi atpakaļ
thirdparty ad3398565f [RADIUS]increse REC_BUF_LEN 2 gadi atpakaļ
tools fa179e19cf [tools]add upload and mtu_test scripts 4 gadi atpakaļ
user 0ad3be03ed decrease stack for inittask and remove stack size for other tasks 2 gadi atpakaļ
web_interface f4f72bf4ab add pmode for BT-6709-MTS 1 gadu atpakaļ
.cproject c62baed8bb change 6702/6706/6708 -> 6703/6707/6709 5 gadi atpakaļ
.gdbinit_bt6703 3ddfc015e0 Merge remote-tracking branch 'origin/master' into sshd 5 gadi atpakaļ
.gdbinit_bt6703_noflash 3ddfc015e0 Merge remote-tracking branch 'origin/master' into sshd 5 gadi atpakaļ
.gdbinit_bt6703_rt fc7b0e5801 add file .gdbinit for diffrent modules 1 gadu atpakaļ
.gdbinit_bt6703_service 3ddfc015e0 Merge remote-tracking branch 'origin/master' into sshd 5 gadi atpakaļ
.gdbinit_bt6707 3ddfc015e0 Merge remote-tracking branch 'origin/master' into sshd 5 gadi atpakaļ
.gdbinit_bt6707_noflash 3ddfc015e0 Merge remote-tracking branch 'origin/master' into sshd 5 gadi atpakaļ
.gdbinit_bt6709 3ddfc015e0 Merge remote-tracking branch 'origin/master' into sshd 5 gadi atpakaļ
.gdbinit_bt6709_mts fc7b0e5801 add file .gdbinit for diffrent modules 1 gadu atpakaļ
.gdbinit_bt6709_noflash 3ddfc015e0 Merge remote-tracking branch 'origin/master' into sshd 5 gadi atpakaļ
.gdbinit_bt6709_service 3ddfc015e0 Merge remote-tracking branch 'origin/master' into sshd 5 gadi atpakaļ
.gdbinit_bt6710 fc7b0e5801 add file .gdbinit for diffrent modules 1 gadu atpakaļ
.gdbinit_bt6710_noflash fc7b0e5801 add file .gdbinit for diffrent modules 1 gadu atpakaļ
.gdbinit_bt6710_service fc7b0e5801 add file .gdbinit for diffrent modules 1 gadu atpakaļ
.gdbinit_bt6711 fc7b0e5801 add file .gdbinit for diffrent modules 1 gadu atpakaļ
.gdbinit_bt6711_v1 fc7b0e5801 add file .gdbinit for diffrent modules 1 gadu atpakaļ
.gdbinit_iap 9915d2e9da add make files 8 gadi atpakaļ
.gdbinit_iap_noflash 9915d2e9da add make files 8 gadi atpakaļ
.gitignore d6b5600c06 never store fsdata.c 5 gadi atpakaļ
.gitmodules 2c36a6d7d8 + wolfss{l,h} submodules 5 gadi atpakaļ
.project 9915d2e9da add make files 8 gadi atpakaļ
Makefile 1addaf542f [BT-6711-v1]add new model of controller 3 gadi atpakaļ
Makefile.inc.stm32 771455cfbe + freertos support for openocd 5 gadi atpakaļ
README.md 3784495b6e fix some typos in README 2 gadi atpakaļ
jenkins-env.groovy 4ea2ebd40d update jenkins-env for pipeline integration to production 2 gadi atpakaļ
memory-hogs.sh fe20c0c5ad + script to find memory hogs 5 gadi atpakaļ

README.md

Сборка

Сборка осуществляется командой make HARDWARE=<hw> VERBOSE=1 DEBUG=0 PRINTF=custom MAC=<mac_adr> Пример: make HARDWARE=bt6711_v1 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-EE-DC

Данный репозиторий является единой кодовой базой для всех устрйоств линейки BT-67xx, сборка под каждое устройство определяется параметрами команды make. Коды поддерживаемых устройств перечислены в файле jenkins-env.groovy (переменная devices = []). Эти же коды используются в релизных тегах.

ВНИМАНИЕ!

Параметры для команды make отличаются по написанию от кодов типа устройства. Параметры должны быть написаны ТОЛЬКО с использованием знака "_". Все имеющиеся коды устройств и параметры для команды make перечислены в таблице:

Код Параметр сборки Примечание
bt6703 HARDWARE=bt6703 Билайн
bt6703-rt HARDWARE=bt6703_rt Ростелеком
bt6707 HARDWARE=bt6707
bt6709 HARDWARE=bt6709 Билайн
bt6709-mts HARDWARE=bt6709_mts МТС
bt6710 HARDWARE=bt6710
bt6711 HARDWARE=bt6711
bt6711-v1 HARDWARE=bt6711_v1

Возможна сборка в докер-контейнере с подготовленным окружением и необходимым тулчейном. Актуальный образ для сборки указан в файле jenkins-env.groovy (переменная buildenvImage). Полная команда для сборки в таком случае выглядит так:

git clone https://192.168.24.200:3000/ebalbekova/bt-67xx_universal_hw.git 
cd bt-67xx_universal_hw
docker run \
    -ti --rm -v $(pwd):/home/jenkins \
    192.168.24.227:8082/docker/stm32-buildenv:v3 \
    make HARDWARE=bt6711_v1 VERBOSE=1 DEBUG=0 PRINTF=custom MAC=EC-4C-4D-00-EE-DC

Сборка при помощи докера является предпочтительным способом отладки ПО разработчиком. В этом случае исключены ошибки при несовпадении окружения на ПК разработчика и на сервере автосборки.

Ветвление

Основная ветка для разработки - master.
Иные ветки несут вспомогательный (временный) характер для разработки новых фич или отладки отдельных функций. Автоматическая сборка этих веток не осуществляется.

Тегирование

Все релизы ПО осуществляются по тегам. Теги проставляются только по определенному шаблону. Все теги, проставленные не по шаблону, не учитываются системой сборки и несут вспомогательный характер (удобство разработчика)

Для выпуска релиз кандидата нужно проставить тег с префиксом "rc_":
rc_<тип устройства>_<версия> (Пример: rc_bt6710_v1.5beta2)

Для сборки релиза нужно проставить тег с префиксом "release_":
release_<тип устройства>_<версия> (Пример: release_bt6710_v1.5)

Пайплайн позволяет также осуществить релиз загрузчика (префикс "bootloader") и релиз сервисной флешки (префикс "service") отдельно от основного ПО.

Автоматическая сборка

  • Сборка осуществляется на сервере Jenkins в пайплайне: http://192.168.24.203:8080/view/BT-67xx/job/bt-67xx_universal_hw/. В нем настроены сборки при каждом коммите в ветку master и при обнаружении нового тега (независимо от ветки). В любом случае система собирает все возможные варианты ПО (для всех вариантов контроллеров), но при релизе публикует только ПО для выбранного устройства.
  • Результаты сборки попадают на сервер Artifactory http://192.168.24.227:8082/ui/native/firmware/BT-67xx/bt67xx_universal_hw/
  • Переменные окружения (настройки) для автоматической сборки, с их подробным описанием, хранятся в файле jenkins-env.groovy в корне данного репозитория.
  • По окончанию сборки релиза всем указанным в настройках адресатам рассылается информационное письмо со ссылкой на хранилище результатам сборки. Так же информационное письмо отправляется разработчику при неудачных сборках очередного коммита в основную ветку.