Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
не стартует Linux
Jury093
Добавлено 17.05.2012 00:32 Сообщение: 11
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
для интереса, наберите после компиляции
Код
file gpio

если фигурирует слово "386", то на плате не пойдет..
для кросс-компиляции требуется архитектура ARM
т.е. надо взять gcc из кросскомпилятора и ему скормить ваш исходник с ключем ARCH=arm
я уже не помню - возился ли с такой технологией или нет.. уже поздно (по МСК 0:33)..
если у вас настроена система апдейта в рутовой, то
Код
apt-get install make gcc

засетапят взрослые инструменты прямо на плату кита и тогда прямо на плате можно компилировать в нативные коды системы.. (я как-то ядро собрал ради забавы)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Dub
Добавлено 17.05.2012 08:44 Редактировалось 17.05.2012 08:46 Сообщение: 12
Dub
5

Пункты: 1141
Регистрация: 14.05.2012
[quote]для интереса, наберите после компиляции
Код
file gpio

если фигурирует слово "386", то на плате не пойдет..
для кросс-компиляции требуется архитектура ARM
т.е. надо взять gcc из кросскомпилятора и ему скормить ваш исходник с ключем ARCH=arm
я уже не помню - возился ли с такой технологией или нет.. уже поздно (по МСК 0:33)..
если у вас настроена система апдейта в рутовой, то
Код
apt-get install make gcc

засетапят взрослые инструменты прямо на плату кита и тогда прямо на плате можно компилировать в нативные коды системы.. (я как-то ядро собрал ради забавы)
[/quote]


спасибо, вот мой Makefile

all: gpio

CC = /usr/local/cross-gcc/arm-2007q1/bin/arm-none-linux-gnueabi-gcc

INCLUDES = -I.

# C++ compiler flags (-g -O2 -Wll)
CCFLAGS = -g0 -O2 -Wall

clean:
rm -f gpio

gpio: gpio.c
$(CC) $(INCLUDES) $(CCFLAGS) gpio.c -o gpio


как видите компилятор указан явно. Пробовал даже ключ -static. Не работает.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 17.05.2012 11:03 Редактировалось 17.05.2012 11:05 Сообщение: 13
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
взял вот такой мейк-файл
Код
CROSS_COMPILE ?= arm-angstrom-linux-gnueabi-
CC = $(CROSS_COMPILE)gcc
STRIP = $(CROSS_COMPILE)strip
CFLAGS = -O2 -Wall
TARGET = gpio
all:
@echo [ CC ] ${TARGET}.c
@$(CC) $(CFLAGS) $(TARGET).c -o $(TARGET)
@echo [ STRIP ] ${TARGET}
@$(STRIP) $(TARGET)
clean:
@rm -rf *.o, .*.o.flags ${TARGET}
@echo "[ Cleaning done ]"

Код
make
file gpio
gpio: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

забросил бинарник на ближайшую платформу, запускаю
Код
root@mmt:~# /home/gpio
Hi starterkit
root@mmt:~#

код программы
Код
#include <stdio.h>
int main(void)
{
printf("Hi starterkit\n");
return 0;
}

бинарник весит меньше 3кбайт

update у меня ARCH=arm прописано в окружении

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Dub
Добавлено 17.05.2012 12:09 Редактировалось 17.05.2012 12:12 Сообщение: 14
Dub
5

Пункты: 1141
Регистрация: 14.05.2012
[quote]взял вот такой мейк-файл
Код
CROSS_COMPILE ?= arm-angstrom-linux-gnueabi-
CC = $(CROSS_COMPILE)gcc
STRIP = $(CROSS_COMPILE)strip
CFLAGS = -O2 -Wall
TARGET = gpio
all:
@echo [ CC ] ${TARGET}.c
@$(CC) $(CFLAGS) $(TARGET).c -o $(TARGET)
@echo [ STRIP ] ${TARGET}
@$(STRIP) $(TARGET)
clean:
@rm -rf *.o, .*.o.flags ${TARGET}
@echo "[ Cleaning done ]"

Код
make
file gpio
gpio: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

забросил бинарник на ближайшую платформу, запускаю
Код
root@mmt:~# /home/gpio
Hi starterkit
root@mmt:~#

код программы
Код
#include <stdio.h>
int main(void)
{
printf("Hi starterkit\n");
return 0;
}

бинарник весит меньше 3кбайт

update у меня ARCH=arm прописано в окружении[/quote]
спасибо вечером попробую.



ещё вопрос по библиотекам: как можно установить на Debian, собраный с uclibc, библиотеку glibc. Чтобы не собирать статически каждый раз.
или только пересборка рутовой поможет?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 17.05.2012 12:30 Сообщение: 15
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
ещё вопрос по библиотекам: как можно установить на Debian, собраный с uclibc, библиотеку glibc. Чтобы не собирать статически каждый раз.
или только пересборка рутовой поможет?

это лучше в отдельную или подходящую тему и к Саше - я даже разницы не знаю в этих терминах..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux