LINUX.ORG.RU

arm-none-eabi-gcc из исходников

 


0

1

собрал первую програмку из исходников и раз уж Linux то что останавливаться попытаюсь собрать и arm-gcc. у меня orange pi с A64. другого ничего нет поэтому хочу собрать прям на ней.

arm-none-eabi-gcc
мне нужен для сборки под stm32. то есть я собираю
 arm-none-eabi-gcc
чтобы выполнить 
arm-none-eabi-as file.s -file.o
и после еще нескольких команд залить все это с помощью
st-flash
у меня просьба дать ссылку на архив с исходниками. потому как их много и я не знаю какой качать. то есть мне нужны исходники из которых я соберу компилятор который установлю на orange pi на котором буду собирать програмку для cortex-m3. вроде понятно попытался сказать. помогите с ссылкой. желательно собирать самою новую версию

я понял только что на orange pi у тебя 64битный процессор. на orange pi ты соберешь arm-none-eabi-gcc и на orange pi же его и установишь. и на собраном из source gcc-arm-none-eabi ты будешь собирать программы для cortex-m3, то есть для stm32f103c8. короче муть и голова кругом. ниче ты не соберешь и ссылку тебе никто не даст.

anonymous
()
Ответ на: комментарий от anonymous

я корочь тожа ни чо не понял но на всякий случай крикну что держите наркомана

anonymous
()
Ответ на: комментарий от anonymous

уважаемый, скажите, но ведь нет ничего страшного, если он и я соберем arm-none-eabi из source? помогите, дайте нужную ссылку. только и всего.

anonymous
()
Ответ на: комментарий от anonymous

ты наверное хотел сказать что gcc-arm-none-eabi

anonymous
()
Ответ на: комментарий от anonymous

[code] gcc-arm-none-eabi [/code] туда все входит и binutils. в скрипте можешь полазить мож чо настроишь.

anonymous
()

Непонятно зачем какая-то ссылка на какой-то архив. Тулчейн для ARM давно прекрасно собирается из ванильных сырцов gcc и binutils. Никаких особых сырцов для этого не нужно вообще. Если ты не смог найти где gcc и binutils живут, и не понимаешь, что as это часть binutils а не gcc то никакого arm-none-eabi тебе совершенно точно нафиг не нужно. Займись чем-нибудь другим.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

и не понимаешь, что as

ну вот что ты мелешь? arm-none-eabi-as входит в binutils. binutils входит в gcc. arm-none-eabi-as входит значит в gcc.

anonymous
()
Ответ на: комментарий от Stanson

Непонятно зачем какая-то ссылка на какой-то архив

если тебе 5 звездочнику непонятно то уж где начинаещему? вы вечно курите какие-то маны а как зайдешь и что-то спросишь то начинают отвечать вопросом на вопрос. а чаще начинают нападать.

тебе совершенно точно нафиг не нужно. Займись чем-нибудь другим

вот ты че не пойдешь дворы мести? толку с тебя тут? не подсказал не помог. можно посадить любую бабу груню и она будет писать

Займись чем-нибудь другим. ей и платить за это не надо. она на пенсии. и прежде чем что-то писать, ты сначала загугли. он правильно спрашивает где скачать. потому что всякие дебилоиды могут натолкать в сборку из source bash скрипты. я бы тоже лучше скачал и прописал то что мне нужно префиксами при configure а не надеялся на скриптики. разработчики. чо вопрос опять не достойный? пока что я вижу только недостойные ответы.

anonymous
()
Ответ на: комментарий от anonymous

arm-none-eabi-as входит в binutils

да

binutils входит в gcc

нет

http://www.gnu.org/software/binutils/

качаешь binutils

wget https://ftp.gnu.org/gnu/binutils/binutils-2.37.tar.xz

распаковываешь

tar xf binutils-2.37.tar.xz

собираешь

cd binutils-2.37
./configure --target=arm-none-eabi --prefix=/home/Stierlitz_/hot-ass
make all
make install
anonymous
()
Ответ на: комментарий от anonymous

prefix=/home/Stierlitz_/hot-ass

очень смешно. ну так то вы правы про binutils.

Stierlitz_
() автор топика
Ответ на: комментарий от COKPOWEHEU

потому что я хотел понять как собрать. пoмогли собрать st-flash и мне вдруг очень понравилось то чему меня научили и попытался собрать binutils. а где твой дпужок ассемблер? ты его еще под бан не повел?

Stierlitz_
() автор топика
Ответ на: комментарий от Stierlitz_

потому что я хотел понять как собрать.

Так это из исходников и есть. apt source именно их и скачивает. Просто иногда с наложенными патчами от дистростроителей. Вроде настоек по умолчанию для конфигов или чего-то подобного.

а где мой дпужок ассемблер?

А какой смысл спрашивать меня о вашем друге Ассемблере? Я за ним не слежу. Может он сейчас перерыв взял чтобы пробел между буквами оставить, а может силится придумать дурацкую задачу, которую обязательно нужно спросить на форуме. Кстати, вот его друга и собрата по разуму на другом форуме таки забанили.

COKPOWEHEU
()
Ответ на: комментарий от COKPOWEHEU

Кстати, вот его друга и собрата по разуму на другом форуме таки забанили

молодцы. думаю ты к этому тоже приложил усилия.

с наложенными патчами

это уже не исходники.

Stierlitz_
() автор топика

а в дистрибутиве нет компиляторов? вот в дебиане есть gcc-arm-none-eabi - GCC cross compiler for ARM Cortex-R/M processors его просто поставь и все. Для прошивки stm32flash.

slapin ★★★★★
()
Ответ на: комментарий от slapin

я просто хотел чтото собрать из source. хотябы для того чтобы понимать о чем тут говорят опытные пользователи. быть на линукс и ниразу ничего не собрать из исходников это преступление. тогда бы мне лучше быть на виндовс и не позорить столь сильное и уважаемое сообщество. я просто пытаюсь соответствовать вам. ну это громко сказано. я тогда пытаюсь достичь минимального уровня вхождения. и умение сборки из исходников это минимум миниума.

Stierlitz_
() автор топика
Ответ на: комментарий от Stierlitz_

Ты просто компилятор сразу лезешь собирать, а это сложнее чем компиляция типичной программы. Начни с чего попроще. Потом и компилятор соберешь.

slapin ★★★★★
()
Ответ на: комментарий от Stierlitz_

молодцы. думаю ты к этому тоже приложил усилия.

Нет, я не модер. Просто забан подобных необучаемых товарищей закономерен.

это уже не исходники.

А стоило бы сначала запустить эту команду и посмотреть что она делает. Подсказываю: она не бинарники скачивает.

COKPOWEHEU
()
Ответ на: комментарий от Stierlitz_

я просто хотел чтото собрать из source

Тогда лучше собрать openocd. По крайней мере он собирается относительно просто. Ну и пару ошибок можно по ходу дела исправить. Иначе какой смысл в механическом выполнении configure+make+make install без использования головы?

Я его собирал чтобы прошивать gd32vf103, с которым openocd из репозитория работать не хочет. Правда, с ним и клон stlink тоже работать не хочет, но это другая история.

COKPOWEHEU
()
Ответ на: комментарий от COKPOWEHEU

то что нужно было сделать я сделал. тема решена.

Stierlitz_
() автор топика
Ответ на: комментарий от slapin

тяжело собирать на 2 гигах. но собрать можно. бывало что сборка вылетала из-за того что swap переполнялся.

Stierlitz_
() автор топика

может тебе сгодится.

objcopy
линкер (ld) формирует выходной (исполняемый) файл в формате ELF. Этот формат является стандартом исполняемых файлов в большинстве UNIX-подобных систем. Кроме, собственно, кода и данных (секций .text и .data и т. д) ELF-файл содержит кучу дополнительной информации (заголовок, сведения о динамических зависимостях, отладочную информацию и т. д.). В случае МК – нам нужна «голая» прошивка, без заголовков и отладочной информации.

Рассматриваемая утилита позволяет извлечь необходимые нам секции из ELF-файла.


ключ "–O" определяет формат выходного файла. Нам, прежде всего, интересны форматы «ihex» и «binary».

anonymous
()
Ответ на: комментарий от Stierlitz_

это тоже надо знать.

ar

ar создает и изменяет архивы, а также производит их распаковку. Архив – файл, содержащий несколько файлов в виде, позволяющем восстановить оригинал.

as

as используется для ассемблирования вывода the GNU C Compiler, gcc для использования с линкером ld.

gasp

gasp – Assembler Macro Preprocessor.

gprof

gprof отображает статистику системных вызовов.

ld

ld объединяет несколько объектных и архивных файлов и устанавливает символьные отношения. Последний шаг в сборке скомпилированной программы – запуск ld.

nm

nm перечисляет символы из объектных файлов.

objcopy

objcopy utility копирует содержимое одного объектного файла в другой. objcopy использует библиотеку GNU BFD для чтения/записи объектных файлов. Возможна запись конечного объектного файла в формате, отличном от исходного.

objdump

objdump выводит информацию об одном или нескольких объектных файлах. Опции указывают, какую информацию выводить. Эта информация полезна для программистов, разрабатывающих компиляторы, в противоположность тем, кому нужно просто скомпилировать и запустить программу.

ranlib

ranlib генерирует оглавление содержимого архива и сохраняет его в архиве. Список будет содержать все символы, определенные членами архива, that is a relocatable object file.

readelf

readelf выводит информацию об бинарных файлах типа elf.

size

size выводит размеры секций –и общий размер– каждого указанного объектного файла. По умолчанию, генерируется одна строка для каждого объектного файла или модуля в архиве.

strings

Для каждого заданного файла strings выводит последовательность отображаемых символов длиной минимум 4 знака (или указанной длины), завершающуюся непечатным символом. По умолчанию, выводятся лишь строки из инициализированных и загруженных частей объектных файлов. Для других типов файлов выводятся строки из всего файла.

strings зачастую используется для определения содержимого нетекстовых файлов.

strip

strip удаляет все или указанные символы из объектных файлов. Список объектных файлов может включать архивы. Должен быть задан как минимум один объектный файл. Модификация указанных файлов приоритетнее, чем запись модифицированных копий под другими именами.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.