Компиляция под STM32 с помощью gcc

Кто любит RISC в жизни, заходим, не стесняемся.
BOND12
Родился
Сообщения: 14
Зарегистрирован: Пн окт 10, 2016 21:21:22

Компиляция под STM32 с помощью gcc

Сообщение BOND12 »

Ну, основной вопрос составляет то, как заставить компилятор вырабатывать объектные файлы под вариант архитектуры arm cortex m3, на которой построены данные микроконтроллеры. Сама компиляция осуществляется, если я ничего не напутал, командой arm-none-eabi-gcc. Почитав интернет, наткнулся на статью, где её автор писал про данную компиляцию. Проблема его статьи была в том, что в самой статье команд на компиляцию он не привёл, а отвёл роль изучения данных команд на приложенный к статье makefile, который скачать было нельзя, а из той-же самой статьи следовало то, что cortex m3 это упрощённая версия arm, в которой отсутствует как минимум 1 команда (там-же приведённая). Так вот, как должна быть составлена команда на компиляцию, чтобы компилятор выработал код, полностью совместимый с данной архитектурой? Так-же, заодно вопрос, как выработанный код преобразовать в файл .hex? Так-же, при попытке скомпилировать программу, подсунув ему нужные файлы из cmsis выдаёт следующие сообщения об ошибках:
core_cm3.c: In function 'uint32_t __get_PSP()':
core_cm3.c:445:12: error: cannot allocate stack for variable 'result', naked function.
uint32_t result=0;
^~~~~~
core_cm3.c: In function 'uint32_t __get_MSP()':
core_cm3.c:479:12: error: cannot allocate stack for variable 'result', naked function.
uint32_t result=0;
^~~~~~
In file included from system_stm32f10x.c:65:0:
stm32f10x.h:96:3: error: #error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"
#error "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"


А при попытке подсунуть файл startup_stm32f10x_cl.s кучу сообщений такого рода:
startup_stm32f10x_cl.s:349: Error: bad instruction `else '


Как это можно исправить?
И, если знаете толковые материалы про использованию arm-gcc для stm32, подскажите, пожалуйста.
Ответы на вопросы иногда бывают настолько просты, что найти их практически невозможно.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Компиляция под STM32 с помощью gcc

Сообщение Мурик »

Почему бы не использовать IDE с компилятором GCC?
Аватара пользователя
AlanDrakes
Прорезались зубы
Сообщения: 236
Зарегистрирован: Пн июл 04, 2016 16:51:22
Откуда: Россия, Омск

Re: Компиляция под STM32 с помощью gcc

Сообщение AlanDrakes »

Кусочек из makefile'а:

Код: Выделить всё

STARTUP = startup_armcm3.s
SRC = system_stm32f1xx.c main.c
# Указываем каталоги, в которых находятся *.h файлы от библиотек.
DEVICE = /media/Data/ARM/STM32CubeF1/STM32Cube_FW_F1_V1.2.0/Drivers/STM32F1xx_HAL_Driver
CORE = /media/Data/ARM/STM32CubeF1/STM32Cube_FW_F1_V1.2.0/Drivers/CMSIS/Device/ST/STM32F1xx/Include
CMSIS = /media/Data/ARM/STM32CubeF1/STM32Cube_FW_F1_V1.2.0/Drivers/CMSIS/Include/
PROJ = .

# Собираем каталоги в одну переменную вида -I<путь> -I<путь>
INCLUDES += -I$(DEVICE)/Inc \
         -I$(CORE) \
         -I$(CMSIS) \
         -I$(PROJ)

CC=arm-none-eabi-gcc
LD=arm-none-eabi-ld
CP=arm-none-eabi-objcopy

# Некоторые дефайны - нестандартная частота кварца, тип кристалла и заглушка для HAL драйвера (который работает БЕЗ остальной части нормально).
DEFS = -DSTM32F103xB -DHSE_VALUE=12000000 -DUSE_HAL_DRIVER

LDSCRIPT = stm32f103cbt6_app.ld
OPTIMIZE = -Os
MCU = cortex-m3
MCFLAGS = -mcpu=$(MCU) -mthumb -mlittle-endian --specs=nosys.specs -ffunction-sections -fdata-sections -Wl,--gc-sections -nostartfiles

CFLAGS   = $(MCFLAGS) $(OPTIMIZE)  $(DEFS) $(INCLUDES) -g -gdwarf-2 -Wall -c
LDFLAGS   = $(MCFLAGS) -T$(LDSCRIPT)

OBJS := $(notdir $(SRC:.c=.o)) $(STARTUP:.s=.o)
BUILDS := $(addprefix $(BUILDDIR)/, $(OBJS))

%.o: %.c
   @echo "Compiling: $^"
   @$(CC) $(CFLAGS) $^ -o $(BUILDDIR)/$@
%.o: %.s
   @echo "Compiling: $^"
   @$(CC) $(CFLAGS) $^ -o $(BUILDDIR)/$@

$(TARGET): $(EXECUTABLE)
   @$(SIZE) $(EXECUTABLE)
   @$(CP) -O binary $< $@

$(EXECUTABLE): $(OBJS)
   @echo "Building: $(EXECUTABLE)"
   @$(CC) $(LDFLAGS) $(BUILDS) -o $(EXECUTABLE)
   @echo "[DONE]"

clean:
   rm -rf $(BUILDDIR)/*.elf $(BUILDDIR)/*.o $(BUILDDIR)/*.bin


В итоге, строка получается примерно такого вида:
Сборка *.o файла:

Код: Выделить всё

arm-none-eabi-gcc -mcpu=$(MCU) -mthumb -mlittle-endian --specs=nosys.specs -ffunction-sections -fdata-sections -Wl,--gc-sections -nostartfiles  -Os -DSTM32F103xB -DHSE_VALUE=12000000 -DUSE_HAL_DRIVER -I/media/Data/ARM/STM32CubeF1/STM32Cube_FW_F1_V1.2.0/Drivers/STM32F1xx_HAL_Driver -I/media/Data/ARM/STM32CubeF1/STM32Cube_FW_F1_V1.2.0/Drivers/CMSIS/Device/ST/STM32F1xx/Include -I/media/Data/ARM/STM32CubeF1/STM32Cube_FW_F1_V1.2.0/Drivers/CMSIS/Include/ -g -gdwarf-2 -Wall -c main.c -o main.o


Сборка ассемблерного файла (отличаются только имена файлов)

Код: Выделить всё

arm-none-eabi-gcc -mcpu=$(MCU) -mthumb -mlittle-endian --specs=nosys.specs -ffunction-sections -fdata-sections -Wl,--gc-sections -nostartfiles  -Os -DSTM32F103xB -DHSE_VALUE=12000000 -DUSE_HAL_DRIVER -I/media/Data/ARM/STM32CubeF1/STM32Cube_FW_F1_V1.2.0/Drivers/STM32F1xx_HAL_Driver -I/media/Data/ARM/STM32CubeF1/STM32Cube_FW_F1_V1.2.0/Drivers/CMSIS/Device/ST/STM32F1xx/Include -I/media/Data/ARM/STM32CubeF1/STM32Cube_FW_F1_V1.2.0/Drivers/CMSIS/Include/ -g -gdwarf-2 -Wall -c startup_armcm3.s -o startup_armcm3.o


Линковка:

Код: Выделить всё

arm-none-eabi-gcc  -mcpu=$(MCU) -mthumb -mlittle-endian --specs=nosys.specs -ffunction-sections -fdata-sections -Wl,--gc-sections -nostartfiles -Tstm32f103cbt6_app.ld <ВСЕ *.o файлы> -o <some_app.elf>

Бинарник:

Код: Выделить всё

arm-none-eabi-objcopy -O binary <some_app.elf> <some_app.hex>


P.S.: Это работает в linux'е. Win* система потребует всё правильно переименовать. Ну и пути, естественно.

А вообще, если нужно именно собирать вручную - рекомендую озаботиться сборкой шаблона в виде Makefile'а.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Компиляция под STM32 с помощью gcc

Сообщение Eddy_Em »

Советую в Makefile добавить после цели all еще такое:

Код: Выделить всё

debug: CFLAGS += -DEBUG -Werror
debug: all

В итоге для отладки не надо долго мучиться, а достаточно написать make debug. Можно вообще удалить цель all и сделать по умолчанию вывод подсказки, запилив две цели: debug и release. Но мне проще так.
Ну и да, мало ли, куда вы положите arm-none-eabi? Скажем, у меня в генте проблема с "коробочным" gcc под arm: он пытается запустить аппаратное деление на STM32F0, поэтому я пишу:

Код: Выделить всё

PREFIX      ?= /opt/bin/arm-none-eabi

И в Makefile можно для F1 либо переписать путь, либо make вызвать с измененной опцией PREFIX.
P.S. Крайне не рекомендую пользоваться калом.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
AlanDrakes
Прорезались зубы
Сообщения: 236
Зарегистрирован: Пн июл 04, 2016 16:51:22
Откуда: Россия, Омск

Re: Компиляция под STM32 с помощью gcc

Сообщение AlanDrakes »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3766818#p3766818"]P.S. Крайне не рекомендую пользоваться калом.[/uquote]

Мне нужны были от него заголовочники. А без дефайна они не подключались в тот момент. А может дефайн остался случайно. Но вот их *.c файлы я стараюсь не использовать.
BOND12
Родился
Сообщения: 14
Зарегистрирован: Пн окт 10, 2016 21:21:22

Re: Компиляция под STM32 с помощью gcc

Сообщение BOND12 »

А можете пояснить, что должно лежать по путям DEVICE, CORE и CMSIS? Структура каталогов STM32F10x_StdPeriph_Lib отличается от cubemx. Я так полагаю, CORE - core_cm3.h, CMSIS - stm32f10x.h и system_stm32f10x.h?
И ещё, как быть с файлами *.c лежащими по данным каталогам? Я так полагаю, они в принципе не обязательны, но нужны, если потребуются функции из заголовочных файлов, и, в принципе, их можно скомпилировать раз, оформить из них библиотеку и подсовывать компилятору уже её каждый раз, для простоты?
Мурик писал(а):Почему бы не использовать IDE с компилятором GCC?
Мне надо понять, как это работает. Дальше уже можно и IDE настроить соответствующим образом.
Ответы на вопросы иногда бывают настолько просты, что найти их практически невозможно.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Компиляция под STM32 с помощью gcc

Сообщение Мурик »

BOND12 писал(а):
Мурик писал(а):Почему бы не использовать IDE с компилятором GCC?
Мне надо понять, как это работает. Дальше уже можно и IDE настроить соответствующим образом.
Все это не нужно знать при использовании IDE.
Посмотрите например этот материал. http://purebasic.mybb.ru/viewtopic.php?id=575
Рассматривается использование различных библиотек (SPL, HAL, LL и вовсе без библиотек) и ни разу не потребовалось знание того как производится компиляция.

Если нужна сборка без IDE выше написали как ее производить.
BOND12
Родился
Сообщения: 14
Зарегистрирован: Пн окт 10, 2016 21:21:22

Re: Компиляция под STM32 с помощью gcc

Сообщение BOND12 »

Мурик писал(а):Все это не нужно знать при использовании IDE.

Проблема этих IDE в том, что они созданы под windows. Собственно, я и затеял разбор GCC с тем, чтобы слезть с кейла, который под виртуальной машиной гонял, т.к. на линукс его никто не портировал, а под wine он работал настолько криво, что использовать его по назначению возможным не представлялось.
Да и интересно мне, как это всё работает без IDE.

Кстати, мой вопрос про пути всё ещё в силе.
Ответы на вопросы иногда бывают настолько просты, что найти их практически невозможно.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Компиляция под STM32 с помощью gcc

Сообщение oleg110592 »

тут для начала простейший пример "STM32F103RB a minimal example" для GCC
http://pandafruits.com/stm32_primer/stm ... inimal.php
без CMSIS, стартапа и прочих инклудов.
Затем можно сделать минимальный проект в кубе от ST - а он делает проект и для GCC, правда там хал получается прицеплен. Но хал легко из такого проекта выкашивается, зато остаются все цмисы и пр. самые свежие. В этом проекте несложный мейкфайл - для разбора и понимания и правки сгодится.
з.ы. Кейл под вайном нормально работает, настроить отладку даже вроде можно (не пробовал - мне не надо было). Надо Кейл установить на ПК с виндовс, потом просто скопировать папку себе в линукс и запускать экзешник - вайн запускает. Кейл вполне портабелен - запускал и v4 и v5, пользуюсь в основном v4 для поддержки старых проектов.
BOND12
Родился
Сообщения: 14
Зарегистрирован: Пн окт 10, 2016 21:21:22

Re: Компиляция под STM32 с помощью gcc

Сообщение BOND12 »

oleg110592 писал(а):тут для начала простейший пример "STM32F103RB a minimal example" для GCC
http://pandafruits.com/stm32_primer/stm ... inimal.php

За это - спасибо.
oleg110592 писал(а):з.ы. Кейл под вайном нормально работает, настроить отладку даже вроде можно (не пробовал - мне не надо было). Надо Кейл установить на ПК с виндовс, потом просто скопировать папку себе в линукс и запускать экзешник - вайн запускает. Кейл вполне портабелен - запускал и v4 и v5, пользуюсь в основном v4 для поддержки старых проектов.

Ну, не знаю, как у других, а у меня в кейле при попытке создать проект - абсолютно пустое меню выбора устройства. Причём - что у установленного через wine, что у скопированного из windows.
Ответы на вопросы иногда бывают настолько просты, что найти их практически невозможно.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: Компиляция под STM32 с помощью gcc

Сообщение Eddy_Em »

[uquote="BOND12",url="/forum/viewtopic.php?p=3767818#p3767818"]Проблема этих IDE в том, что они созданы под windows.[/uquote]
Тогда вообще непонятно, в чем проблема!
Я пользуюсь qt-creator, никаких косяков нет. В отличие от мазохистов-геймеров, в линуксе четкая иерархия файловой системы и нет проблем написать раз и навсегда Makefile и пользоваться им! По клавосочетанию можно запустить make, можно даже прошивать по клавосочетанию. А для любителей внутрисхемной отладки есть интеграция с gdb.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Компиляция под STM32 с помощью gcc

Сообщение oleg110592 »

[uquote="BOND12",url="/forum/viewtopic.php?p=3767956#p3767956"]абсолютно пустое меню выбора устройства[/uquote]
wine 5.0-rc2 из репозитория сам обновился, и на 4 версиях работало:
Изображение
з.ы. геймеры на линукс перебираются - "Proton - уже 4000 подобных Windows-игр, идеально доступных для игр под Linux". Vulkan API linux выдает больше FPS, чем на Windows 10
Аватара пользователя
AlanDrakes
Прорезались зубы
Сообщения: 236
Зарегистрирован: Пн июл 04, 2016 16:51:22
Откуда: Россия, Омск

Re: Компиляция под STM32 с помощью gcc

Сообщение AlanDrakes »

[uquote="BOND12",url="/forum/viewtopic.php?p=3767405#p3767405"]А можете пояснить, что должно лежать по путям DEVICE, CORE и CMSIS? Структура каталогов STM32F10x_StdPeriph_Lib отличается от cubemx. Я так полагаю, CORE - core_cm3.h, CMSIS - stm32f10x.h и system_stm32f10x.h?[/uquote]
Не совсем. Всё это названия... грубо говоря, наборов файлов.
Изначально - какие-то заголовочные файлы Куба. А переименовывать было лень.
Чаще всего там находятся *.h файлы, которые требуются для сборки проекта.
Если хочется - можно свалить все эти файлы прямо в проект (копипастом, ага). Но после десятого-двадцатого каталога, занимающего по паре десятков мегабайт, становится стыдно перед собой же, и наконец в файле оказываются ссылки.

В общих чертах, gcc будет искать указания на файлы
#include <something.h>
в тех каталогах, которые будут указаны.

[uquote="BOND12",url="/forum/viewtopic.php?p=3767405#p3767405"]И ещё, как быть с файлами *.c лежащими по данным каталогам?[/uquote]
*.c, лично я, складываю в папку. Изредка требуется один-два хитрых .c и это тот случай, когда проще их скопировать. Тем более, что часто они платформо-зависимы (зависят от ядра и иногда даже конкретной модели контроллера).


[uquote="BOND12",url="/forum/viewtopic.php?p=3767405#p3767405"]Я так полагаю, они в принципе не обязательны, но нужны, если потребуются функции из заголовочных файлов, и, в принципе, их можно скомпилировать раз, оформить из них библиотеку и подсовывать компилятору уже её каждый раз, для простоты?[/uquote]
*.c файлы указываются в makefile'е явно. Смотрите директиву SRC = ...
Это все те файлы, которые в итоге будут участвовать в сборке и ТОЛЬКО те, которые в итоге будут переданы линковщику для окончательной сборки исполняемого файла.

Кстати, может посмотреть вот эту статью:
https://server.179.ru/tasks/cpp/total/105.html

[uquote="BOND12",url="/forum/viewtopic.php?p=3767818#p3767818"]Проблема этих IDE в том, что они созданы под windows. Собственно, я и затеял разбор GCC с тем, чтобы слезть с кейла, который под виртуальной машиной гонял, т.к. на линукс его никто не портировал, а под wine он работал настолько криво, что использовать его по назначению возможным не представлялось.
Да и интересно мне, как это всё работает без IDE.

Кстати, мой вопрос про пути всё ещё в силе.[/uquote]
И Вы хотите потоптаться по тем же граблям? Ну... могу только посочувствовать.

И... порекомендовать таки поставить Eclipse + OpenOCD + плагины + *.vxd файлы описания периферии... в общем, в итоге ЭТО будет работать лучше чем Keil. Повертье моим шишкам.
Даже почти удобно получится. Хотя имеет свою специфику.
BOND12
Родился
Сообщения: 14
Зарегистрирован: Пн окт 10, 2016 21:21:22

Re: Компиляция под STM32 с помощью gcc

Сообщение BOND12 »

oleg110592 писал(а):[uquote="BOND12",url="/forum/viewtopic.php?p=3767956#p3767956"]абсолютно пустое меню выбора устройства[/uquote]
wine 5.0-rc2 из репозитория сам обновился, и на 4 версиях работало:
Изображение

Изображение
:cry:
Ответы на вопросы иногда бывают настолько просты, что найти их практически невозможно.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Компиляция под STM32 с помощью gcc

Сообщение oleg110592 »

по зеленой иконке это 5 Кейл. Установщик ставит только uVision и тулчейн. Библиотеки и примеры устанавливаются через Pack Installer - только то, что нужно. Если какого-то устройства в данный момент нет, можно установить Legacy Support для нужной серии. Когда то делал уже забыл. Все есть мануале
http://www.keil.com/support/man/docs/uv ... taller.htm
BOND12
Родился
Сообщения: 14
Зарегистрирован: Пн окт 10, 2016 21:21:22

Re: Компиляция под STM32 с помощью gcc

Сообщение BOND12 »

oleg110592 писал(а):по зеленой иконке это 5 Кейл. Установщик ставит только uVision и тулчейн. Библиотеки и примеры устанавливаются через Pack Installer - только то, что нужно. Если какого-то устройства в данный момент нет, можно установить Legacy Support для нужной серии. Когда то делал уже забыл. Все есть мануале
http://www.keil.com/support/man/docs/uv ... taller.htm

Дело всё в том, что изначально он содержит как минимум просто arm архитектуры. Конкретно в этой версии уже были установлены пакеты для stm (взял с вирт. машины). Как видите - к использованию не пригоден.

Добавлено after 4 minutes 5 seconds:
Ладно, всем, кто отвечал - спасибо. Буду разбираться.
Ответы на вопросы иногда бывают настолько просты, что найти их практически невозможно.
Аватара пользователя
bevice
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб июн 06, 2009 11:13:56
Контактная информация:

Re: Компиляция под STM32 с помощью gcc

Сообщение bevice »

[uquote="BOND12",url="/forum/viewtopic.php?p=3767818#p3767818"]Кстати, мой вопрос про пути всё ещё в силе.[/uquote]
Если еще актуальный вопрос, вот тут https://bevice.ru/posts/1590.html начал примерно его и разбирать. Пока фиг знает, как быстро и понятно про CMake написать, но компиляция и линковка разобраны.

Добавлено after 3 minutes 2 seconds:
[uquote="Мурик",url="/forum/viewtopic.php?p=3766789#p3766789"]Почему бы не использовать IDE с компилятором GCC?[/uquote]
А на билд-сервера тоже предлагаете IDE натягивать?
После нас - хоть потоп (с) Лойсо
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Компиляция под STM32 с помощью gcc

Сообщение VladislavS »

Прошивку для stm32f103 на билдсерверах собирать. :facepalm:
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Компиляция под STM32 с помощью gcc

Сообщение Мурик »

bevice писал(а):А на билд-сервера тоже предлагаете IDE натягивать?
Какой билд сервер если нет опыта работы с STM32 и GCC?
Аватара пользователя
bevice
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб июн 06, 2009 11:13:56
Контактная информация:

Re: Компиляция под STM32 с помощью gcc

Сообщение bevice »

[uquote="Мурик",url="/forum/viewtopic.php?p=3768808#p3768808"]
bevice писал(а):А на билд-сервера тоже предлагаете IDE натягивать?
Какой билд сервер если нет опыта работы с STM32 и GCC?[/uquote]
кладем в проект .gitlab-ci.yml:

Код: Выделить всё

binaries-debug:
    image: bevice/gcc-arm-none-eabi
    tags:
        - arm-none-eabi-gcc
    script:
        - BUILD_DIR=${CI_PROJECT_NAME}-$(git log -1 --format=%h)-dbg
        - rm -rf ${BUILD_DIR}
        - mkdir ${BUILD_DIR}
        - cd ${BUILD_DIR}
        - cmake -DCMAKE_BUILD_TYPE=Debug ..
        - cmake --build . -- -j 8
        - git log -3 > changes.txt
    artifacts:
        name: "${CI_PROJECT_NAME}-$(git log -1 --format=%h)-dbg"
        paths:
            - ${CI_PROJECT_NAME}-$(git log -1 --format=%h)-dbg/*.bin
            - ${CI_PROJECT_NAME}-$(git log -1 --format=%h)-dbg/*.elf
            - ${CI_PROJECT_NAME}-$(git log -1 --format=%h)-dbg/changes.txt


коммитим на gitlab с подключенным gitlab-runner с докером. Всё. Ну скрипт сборки разве что подправить, у меня на CMake

Добавлено after 4 minutes 32 seconds:
[uquote="VladislavS",url="/forum/viewtopic.php?p=3768804#p3768804"]Прошивку для stm32f103 на билдсерверах собирать. :facepalm:[/uquote]
Ну вот есть у меня проект, в котором требуется собрать несколько десятков почти одинаковых прошивок. Незначительно отличаются параметрами сборки и шифруются по серийному номеру. После сборки нужно отправить обновления в другой офис и зарегистрировать на сервере обновлений.
У меня это решает CI, и после коммита в соответствующую ветку все происходит само-собой.
А как вы эту задачку решите? Да, некоторые параметры сборки задаются в другом офисе, а серийные номера вообще на сборке.
После нас - хоть потоп (с) Лойсо
Ответить

Вернуться в «ARM»