|
Создание u-boot для LPC2468 с помощью cygwin |
|
|
|
 |
Ответов
(1 - 9)
|
Nov 9 2012, 08:00
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Цитата(haker_fox @ Nov 9 2012, 06:35)  Извините, что не по теме, но сдается мне, что все это лучше компилировать в виртуалке с линуксом) Там тоже проблем хватало, но в конце концов скомпилировалось) У меня стоит Debian 5 на виртуальной машине. Но у меня проблема - я пока что не разобрался как получить доступ к папке я исходниками u-boot и к папке с компилятором, чтобы установить его. А поставить чистый линукс на компьютер я не могу. Если можете подсказать как в винде закинуть необходимые мне файлы в определённую папку и получить к ней доступ из виртуальной машины - буду благодарен. Цитата(Lotor @ Nov 9 2012, 07:25)  Не собирал такое, но из картинки видно, что в make файле прописан компилятор arm-alf-gcc, т.е. Вы используете не ту toolchain похоже. Т.е. всё что связано с компиляцией и сборкой проекта находится в файле с названием make? (как приду домой посмотрю) В readme файле cygwin написано что устанавливается arm-uclinux-tools-base-gcc3.4.0-20040713. Yandex показал что существуют arm-linux-gcc -v and arm-elf-gcc. Т.е. то что установлено у меня сейчас теоретически тоже подойдёт в качестве компилятора, нужно только корретно прописать make-файл. Я прав?
|
|
|
|
|
Nov 9 2012, 08:21
|
Местный
  
Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866

|
Цитата(mempfis_ @ Nov 9 2012, 12:00)  Т.е. всё что связано с компиляцией и сборкой проекта находится в файле с названием make? (как приду домой посмотрю) make файл (как правило) описывает, каким образом нужно компилировать и компоновать программу - так что да. PS: Я для опытов использую toolchain от СodeSourcery, может и Вам следует его попробовать.
--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
|
|
|
|
|
Nov 9 2012, 11:00
|

Местный
  
Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091

|
Цитата(mempfis_ @ Nov 9 2012, 01:03)  перехожу в нужную папку и подаю команду make. Привожу результат на картинке. Вопрос к знающим что там не так? Что почитать чтобы в голове прояснилось? Во-первых, как Вам уже подсказали, система не находит arm-elf-gcc. Скорее всего директорий, в котором он находится, не включен в переменную path. Или, если имя файла компилятора у Вас иное, установите правильно переменную окружения HOSTCC или оказывайте имя в командной строке make (HOSTCC=как-там-его-gcc), как это описано в разделе Building the Software файла README u-boot'а. Во-вторых, согласно написанному в файле README, для его сборки надо говорить не просто "make", а "make BOARD_config", где BOARD - имя вашей платы, по которому будет подключен соответствующий файл конфигурации из каталога include/configs/. Если готовой конфигурации для вашей платы нет, придется ее сделать (проще всего взять за основу конфигурацию от какой-нибудь максимально похожей платы и исправить нужное)... Вот как-то так.  Почитать - общий README в корне u-boot'а и README для вашей платформы в каталоге doc. И еще, make - это программа, выполняющая сборку. А файл, в котором описаны правила сборки, называется Makefile. Наконец, присоединяюсь к совету перенести всю сборку на linux. Там Вы сможете использовать готовые фреймворки для сборки всей системы, например OpenEmbedded. Непонятно, зачем Вам нужен доступ из виртуальной машины к файлам хост-машины. Наоборот, положите все нужные файлы на файловую систему виртуальной машины с linux и там собирайте. Цитата(Lotor @ Nov 9 2012, 09:25)  Не собирал такое, но из картинки видно, что в make файле прописан компилятор arm-alf-gcc, т.е. Вы используете не ту toolchain похоже. В Makefile имя компилятора не прописано. Там используется значение переменной HOSTCC.
Сообщение отредактировал alx2 - Nov 9 2012, 11:18
--------------------
Всего наилучшего, Alex Mogilnikov
|
|
|
|
|
Nov 9 2012, 15:29
|

Профессионал
    
Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409

|
Цитата Наконец, присоединяюсь к совету перенести всю сборку на linux. Там Вы сможете использовать готовые фреймворки для сборки всей системы, например OpenEmbedded. Непонятно, зачем Вам нужен доступ из виртуальной машины к файлам хост-машины. Наоборот, положите все нужные файлы на файловую систему виртуальной машины с linux и там собирайте. Я не против собирать всё в виртуальной машине или чистом линуксе. Но в данный момент я не могу поставить линукс на компьютер. Вместо него поставил виртуальную машину Vmplayer и запустил Debian 5. Так вот в Debian я не могу добраться до архива компилятора и исходников u-boot которые положил в общие папки. В настройках виртуальной машини прописал Код sharedFolder0.present = "TRUE" sharedFolder0.enabled = "TRUE" sharedFolder0.readAccess = "TRUE" sharedFolder0.writeAccess = "TRUE" sharedFolder0.hostPath = "D:\!!!linux\shared\temp\" sharedFolder0.guestName = "host_temp" sharedFolder0.expiration = "never" sharedFolder1.present = "TRUE" sharedFolder1.enabled = "TRUE" sharedFolder1.readAccess = "TRUE" sharedFolder1.writeAccess = "TRUE" sharedFolder1.hostPath = "D:\!!!linux\shared\dev\" sharedFolder1.guestName = "host_dev" sharedFolder1.expiration = "never" sharedFolder.maxNum = "2" isolation.tools.hgfs.disable = "FALSE" Всё приблизительно как в Getting_started_with_uClinux_A.pdf По поводу cygwin. Залез в Makefile, нашёл строку Код ifeq ($(ARCH),arm) CROSS_COMPILE = arm-elf- //тут стояло arm-linux- endif Также нашёл несколько конфигураций Код lpc_e2294_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm720t lpc_e2294 NULL lpc2292
lpc_e2468_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm720t lpc_e2468 NULL lpc2468
lpc_2478_stk_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm720t lpc_2478_stk NULL lpc2468 Для теста подаю команду make lpc_2478_stk_config Для этой и для других конфигураций возникает ошибка как на картинке.
|
|
|
|
|
Nov 12 2012, 05:32
|

Местный
  
Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091

|
Цитата(mempfis_ @ Nov 9 2012, 20:29)  В настройках виртуальной машини прописал .... Всё приблизительно как в Getting_started_with_uClinux_A.pdf Лень читать этот документ, извините. Лично мое мнение - Вам не shared-folders надо настраивать, а сеть. Чтобы гостевая система имела доступ в интернет. Потом просто скачиваете из интернета нужные Вам исходники (через git, svn, ftp, http и все что угодно) прямо в файловую систему виртуальной машины. И собираете там же. А хост-система пусть используется только в качестве терминала. Никакие исходники на хост-системе хранить не надо... И еще: не могли бы Вы сообщения об ошибках копировать сюда в виде текста, а не картинки-скриншота? А то очень неудобно сообщения из картинок читать...
Сообщение отредактировал alx2 - Nov 12 2012, 05:36
--------------------
Всего наилучшего, Alex Mogilnikov
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|