реклама на сайте
подробности

 
 
> Keil, сборка проекта из командной строки
koluna
сообщение Aug 29 2013, 07:32
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Здравствуйте!

Есть проект в uVision 4.54. В среде все отлично собирается, работает.
Стоит задача собирать этим же компилятором, но из командной строки.
Компиляция происходит нормально.
Затык на линковке.

Линкер выдает следующую ошибку:

Цитата
"test.sct", line 7 (column 9): Error: L6236E: No section matches selector - no section to be FIRST/LAST


Ключи линкера скопировал из настроек среды.
Полностью командная строка вызова линкера выглядит следующим образом (параметры разделил по строкам для удобства восприятия):

Цитата
armlink.exe
<список объектных файлов>
--cpu cortex-m3
--libpath=C:/Keil/ARM/RV31/LIB
--strict
--scatter="test.sct"
--summary_stderr
--info summarysizes
--info sizes
--info totals
--info unused
-o "test.axf"


Помогите, пожалуйста, разобраться. В чем может быть дело?
Может быть библиотеки не те подцепились?
Или еще какие-нибудь опции необходимо указать дополнительно?
С удивлением обнаружил, что для Keil используется не скрипт линкера, а некий scatter-файл.


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
demiurg_spb
сообщение Aug 29 2013, 07:38
Сообщение #2


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



В настройках среды есть галочка, поставив которую после билда проекта появится bat-файл для сборки этого проекта из командной строки.
И никаких лишних телодвижений...
Вот пример такого файла:
CODE
SET PATH=C:\Keil\ARM\BIN40;.......................
SET ARMCC41INC=C:\Keil\ARM\RV31\Inc
SET ARMCC41LIB=C:\Keil\ARM\RV31\Lib
SET CPU_TYPE=STM32F103VB
SET CPU_VENDOR=STMicroelectronics
SET UV2_TARGET=limb - Release
SET CPU_CLOCK=0x00F42400
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\core_cm3.__i"
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\stm32f10x_usart.__i"
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\stm32f10x_gpio.__i"
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\stm32f10x_flash.__i"
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\stm32f10x_exti.__i"
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\stm32f10x_rcc.__i"
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\stm32f10x_tim.__i"
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\stm32f10x_dma.__i"
"C:\Keil\ARM\BIN40\ArmAsm" --Via "..\bin\stm32f10x._ia"
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\hard_fault.__i"
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\delay.__i"
..........
"C:\Keil\ARM\BIN40\ArmCC" --Via "..\bin\main.__i"
"C:\Keil\ARM\BIN40\ArmLink" --Via "..\bin\limb.lnp"
C:\Keil\ARM\BIN40\fromelf.exe "..\bin\limb.axf" --i32combined --output "..\bin\limb.hex"


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
koluna
сообщение Aug 29 2013, 13:27
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(demiurg_spb @ Aug 29 2013, 11:38) *
В настройках среды есть галочка, поставив которую после билда проекта появится bat-файл для сборки этого проекта из командной строки.
И никаких лишних телодвижений...


Спасибо большое за галочку sm.gif
Options for target ... -> Вкладка "Output" -> Галка "Create batch file".

Дело было в стартапе...
Я сделал make-файл, но не учел, что для него имеет значение регистр имен файлов.
У меня стартап ".s", а в make ожидался как ".S" (при поиске), поэтому не был найден...

Кстати, где в среде отключается отладка (опция "-g")? Не нашел галки...
И еще одно... вроде, опции одинаковые использую (в среде и в make), но объектники получаются немного разными... не знаю почему пока...



--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Aug 29 2013, 13:33
Сообщение #4


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Смотрите внимательнее, значит что-то всё таки отличается.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 03:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.02628 секунд с 7
ELECTRONIX ©2004-2016