Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
Компиляция файлов в buildroot-2014.08
Alex61RUS
Добавлено 11.02.2015 15:54 Редактировалось 11.02.2015 15:56
0
Сообщение: 1
Alex61RUS
5

Пункты: 3161
Регистрация: 30.05.2014
Пол: Мужчина
... тема перенесена из сообщения №24 http://starterkit.ru/html/index.php?name=forum&op=view&id=23562&num=3

Ситуация следующая:
Написал простенькую программку, выдающую логическую единицу на порт GPIO2_16.
Текст программы:
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char * argv[])
{
FILE * fp;
int out_state;
int OutIdx;
fp = fopen ("/sys/class/gpio/export","w"); /* DATA */
fprintf (fp, "48");
fclose (fp);
fp = fopen ("/sys/class/gpio/gpio48/direction","w");
fprintf (fp, "out");
fclose (fp);
fp = fopen ("/sys/class/gpio/gpio48/value","w");
fprintf (fp, "1");
fclose (fp);
}

Текст скрипта для компиляции:
#!/bin/bash
/home/user/x-tools/arm-sk-linux-gnueabi/bin/arm-sk-linux-gnueabi-cc -O3 -o mbi5167 mbi5167.c

Компиляция проходит успешно.
Копирую в модуль и пробую выполнить его, на что получаю ответ: :file not found

Решением проблемы стало изменение используемого компилятора, скрипт компиляции принял вид:
#!/bin/bash
/home/user/src/rootfs/main_fs/nand_fs/buildroot-2014.08-sk/output/host/usr/bin/arm-linux-gnueabihf-gcc -O3 -o mbi5167 mbi5167.c


Обращаю внимание, что часть пути к кросс-компилятору /home/user/src/rootfs/main_fs/nand_fs/ будет у всех разная и будет зависеть от того, куда вы распаковали архив!
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 11.02.2015 16:39 Сообщение: 2
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Спуститься к концу Подняться к началу
Персональная информация
mike_mvk
Добавлено 19.02.2015 15:00 Сообщение: 3
mike_mvk
0

Пункты: 150
Регистрация: 19.02.2015
Если имеется buildroot с уже собранным тулчейном, то можно воспользоваться следующим вариантом Makefile:

Код

CC=<путь к buildroot>/output/host/usr/bin/arm-linux-gnueabihf-gcc --sysroot=<путь к buildroot>/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot
CFLAGS=-Wall -c
LDFLAGS=
SOURCES=main.c
OBJECTS=$(SOURCES:.c=.o)
EXECUTABLE=my_prg

all:clean $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)
$(CC) $(OBJECTS) $(LDFLAGS) -o $@

.c.o:
$(CC) $(CFLAGS) $< -o $@

clean:
rm -f *.o
rm -f my_prg


Так проще будет, если надо будет "подцепить" какие-то библиотеки.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux