Ник:
Пароль:

Контакты

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 » Отладочные платы » SK-MAT91SAM9XXXXX
прошивка Линукса на плату SK-MAT91SAM9260
Pavel Ivanchenko
Добавлено 13.07.2010 13:34 Сообщение: 11
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Я просто в бешенстве от такого подхода
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 13.07.2010 14:10 Сообщение: 12
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
P.S. Не встречал упоминания этой команды ни в одном из мануалов.

нет, boot_df - это всего лишь имя скрипта, можете его хоть "горшком" назвать и разумеется ни в каком мануале он не описан, ибо создается самостоятельно..
напротив, более важно содержимое после bootcmd. в вашем случае в конце была ошибка.
можно в этой команде:
Код
boot_df=cp.b c0038000 20400000 170000; cp.b c01a8000 21100000 277fff; bootm 20400000

вместо boot_df прописать bootcmd и все будет работать
как вам тут советовали, почитайте доки на Uboot и полистайте сорцы - многое станет понятнее..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Novichok
Добавлено 14.07.2010 11:57 Редактировалось 14.07.2010 11:59 Сообщение: 13
Novichok
5

Пункты: 36
Регистрация: 08.07.2010
извините, еще вопросик:
есть файл hello.cpp
Код
#include <stdio.h>
int main (int argv, char** argc)
{
printf("ARM
");
return(0);
}

и есть Makefile
Код
ll: hello

CROSS=armv5l-linux-uclibc
CXX= $(CROSS)-g++

clean:
rm -f hello

hello: hello.cpp
$(CXX) hello.cpp -o hello

как сделать make в виртуальной машине? (оба этих файлика лежат в одной папке)
и если не трудно подскажите, как потом запустить полученную программку на плате через Линукс (и как вообще прогу туда перекинуть)
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 14.07.2010 12:24 Сообщение: 14
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
почитайте форум в тредах типа этого и рядом
загляните на старый форум - там человек потрудился и расписал "от нуля" - как компилировать, копировать и запускать - как раз ваш случай..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 14.07.2010 12:26 Сообщение: 15
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Раз "$(CROSS)" вам ни о чем не говорит, зайдите в соседнюю папочку в виртуальной машине "utils" там и посмотрите на makefile.
Спуститься к концу Подняться к началу
Персональная информация
Novichok
Добавлено 14.07.2010 13:00 Сообщение: 16
Novichok
5

Пункты: 36
Регистрация: 08.07.2010
вот нашел на старом форуме:

Спасибо Павлу за кит и помощь советами))

1. Разузнал Login:root, pass:123456 :)
2. В поднятом образе RedHat (VMware) перенастроил сеть: Приложения->Системные параметры->Сеть->Кнопка «Изменить»->Вкладка «Аппаратное устройство»->Определить->OK->Активировать
3. Далее я настраивал тут же IP, маску (если надо)
4. Используя Ethernet-кабель соединил плату c ПК
5. Сменил разрешение экрана на 1024х768,т.к. menuconfig’и жаловались на недостаточный размер окна.
6. Пересобрал Busybox:
a. Приложения ->Система->Терминал
b. Запустил менеджер mc и влез в /home/user/src/utils/BusyBox/busybox-1.1.2
c. Сделал make menuconfig
d. Добавил все компоненты
e. Сделал make
7. Заменил в файловой системе busybox:
a. Тем же mc залез в /home/user/src/rootfs
b. Запустил mount_ramdisk
c. Тут же зашел в папку mnt/bin и замел там с на новый из /home/user/src/utils/BusyBox/busybox-1.1.2
d. Вернулся опять на 2 уровня назад и выполнил umount_ramdisk
8. Залил заново ядро и новую систему:
a. На плате во время ожидания Uboot’ом загрузки ядра, нажал напр. Enter (дабы не начать загрзку) и набрать run tftp_update и ждал окончания процесса обновления
b. Нажал кнопку сброса на плате
c. После появления приглашения BysuBox’а на ките я проверил работоспособность tftp – Ура! Она работала))
9. Тогда я написал простое приложение в стиле hello world:
a. Создал директорию my1 в /home/user/src/utils/ и скопировал туда файлы tip.c (переименовав на my1.c) и Makefile из /home/user/src/utils/tip
b. Подкорректировал Makefile:
CC=arm-none-linux-gnueabi-gcc
CXX=arm-none-linux-gnueabi-g++
LD=arm-none-linux-gnueabi-ld
LDFLAGS=-L/usr/local/bin/arm-none-linux-gnueabi/lib –static –s
EXEC = my1
OBJS = my1.o
c. В файле my1.c удалил все кроме подключаемых библиотек и вхождения int main(int argc, char * argv[]), в теле процедуры оставил только функцию printf с текстом который вы хотите лицезреть на ките))
d. Выполнил в /home/user/src/utils/my1 команду make
e. Полученный my1 скопировал в /tftpboot
10. И так! Апогей – программа запустилась на ките:
a. На ките с помощью tftp загрузил my1
b. Дал ему права на запуск командой chmod +x my1
c. И собственно запустил программу которая и отработала как и хотел

тут много чего непонятного)
во-первых busybox (прочитал что это такое, но не понятно как его юзать)
во-вторых d. Выполнил в /home/user/src/utils/my1 команду make не могу понять как это сделать... запустил виртуалку, запустил Линукс, зашел в консоль, потом в mc, там зашел в папку my1 (там лежат оба моих файлика), но что делать потом не знаю
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 14.07.2010 18:12 Сообщение: 17
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
хм..
по пункту 1 - не знаете - не трогайте :)
это бинарник с системой мультивызовов, когда он потребуется, то сам запустится..
по пункту 2 - читайте чуть внимательнее
создайте дир my1
туда сложите свои исходники и файл Makefile
откорректируйте файл(ы) как написано выше
зайдите в консоли в дир my1
в консоли наберите make и нажмите Enter..

зы1 чисто отвлеченно - счас придет лесник и всем шишек навставляет, ибо последние сообщения к теме слабо относятся. откройте новую тему или поищите старую подходящую
зы2 когда все валится в одну кучу, то потом очень тяжело искать нужную информацию..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Novichok
Добавлено 14.07.2010 21:01 Сообщение: 18
Novichok
5

Пункты: 36
Регистрация: 08.07.2010
зайдите в консоли в дир my1
в консоли наберите make и нажмите Enter..

я именно так и делаю, но вопрос куда сохраняются сделанные файлы, в этой папке они точно не появляются...

хорошо, больше не буду в этой теме писать :)
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 14.07.2010 21:52 Редактировалось 14.07.2010 22:10 Сообщение: 19
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
все, сюда точно "не по делу" отвечать не буду.
вот лог того, что должно быть и что получится:

Код
[root@armmaker my1]# ls -l
итого 8
-rw-r--r-- 1 user user 263 Авг 14 21:56 Makefile
-rw-r--r-- 1 user user 91 Авг 14 21:53 my1.c
[root@armmaker my1]# cat my1.c
#include <stdio.h>

int main(void)
{
printf("Hello World!\n");
return 0;
}
[root@armmaker my1]# cat Makefile
CC=arm-none-linux-gnueabi-gcc
CXX=arm-none-linux-gnueabi-g++
LD=arm-none-linux-gnueabi-ld
LDFLAGS=-L/usr/local/bin/arm-none-linux-gnueabi/lib -static -s
EXEC = my1
OBJS = my1.o

all: $(EXEC)

$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS$(LDLIBS_$@))
[root@armmaker my1]# make
arm-none-linux-gnueabi-gcc -c -o my1.o my1.c
arm-none-linux-gnueabi-gcc -L/usr/local/bin/arm-none-linux-gnueabi/lib -static -s -o my1 my1.o
[root@armmaker my1]# ls -l
итого 464
-rw-r--r-- 1 user user 263 Авг 14 21:56 Makefile
-rwxr-xr-x 1 root root 457964 Авг 14 22:00 my1
-rw-r--r-- 1 user user 91 Авг 14 21:53 my1.c
-rw-r--r-- 1 root root 1052 Авг 14 22:00 my1.o
[root@armmaker my1]#


в финале вас должно волновать формирование бинарника
Код
-rwxr-xr-x 1 root root 457964 Авг 14 22:00 my1

далее согласно плану:

Цитата
e. Полученный my1 скопировал в /tftpboot
10. И так! Апогей – программа запустилась на ките:
a. На ките с помощью tftp загрузил my1
b. Дал ему права на запуск командой chmod +x my1
c. И собственно запустил программу которая и отработала как и хотел

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Novichok
Добавлено 16.07.2010 14:08 Сообщение: 20
Novichok
5

Пункты: 36
Регистрация: 08.07.2010
создал тему http://starterkit.ru/html/index.php?name=forum&op=view&id=8311 и задал вопрос там.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-MAT91SAM9XXXXX