реклама на сайте
подробности

 
 
> Linux с голого железа, Hardware -> Bootlader -> Linux
vgovseychuk
сообщение Dec 16 2015, 15:50
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 16-03-14
Пользователь №: 80 955



Добрый день!

Я новичок во встраиваемых системах с Linux, до этого работал с безосьными контроллерами. Мне в руки попала плата EV-iMX287-NANО. Стоит задача создать новую плату со своей распиновкой на базе камня i.MX287. Помогите, пожалуйста, разобраться с процессом создания устройства.
Как я понял, при уже готовой плате все начинается с написания своего загрузчика. Везде рекомендуют U-Boot. Производители платы также EV-iMX287-NANО используют его. Но у них весь проект с бутлоадером уже готов и для его сборки достаточно запустить bash скрипт. На выходе получаем файл .sb , который заливаем на плату. Все грузится.
Можно, конечно, воспользоваться методом научного тыка, найти файлы, в которых прописана распиновка и источник загрузки, переправить их и рано или поздно это заработает.
Однако, такой подход не очень устраивает.
Во-первых, не до конца понятна структура проекта бутлоадера, нет навигации по библиотекам, header-файлам и т.д.
Во-вторых, непонятно, какая функция что делает(это можно найти каким-нибуть грепом, но жутко неудобно).

Сами фрискейлы пишут, что для сборки и навигации по проекту можно использовать настроенный специальным образом Eclipse. Но он с первого раза не заработал как надо, поэтому разбираюсь дальше. Плюс к тому в доках упоминается некий LTIB, ELF, консольная сборка перемежается с ide-шной. В общем, я порядком запутался.

Как резюме меня интересуют следующие вопросы:
- Есть ли у кого-нибудь опыт создания своих плат на линуксе?
- Есть ли у вас пояснения к процессу разработки данных устройств?
- Какой загрузчик вы использовали?
- Пользовались ли вы при этом IDE?

Буду рад любой информации.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tarbal
сообщение Dec 23 2015, 17:49
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Я тоже начинал как контроллерщик sm.gif А еще раньше как электронщик.

Если и не оно то отношение имеет. Не понятно еще откуда берутся адреса.

Если у вас юбут бежит, то остальное вы можете залить через него. Это как альтернатива.
Go to the top of the page
 
+Quote Post
Флюктуация вакку...
сообщение Dec 23 2015, 17:53
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 346
Регистрация: 15-12-13
Из: Планета Земля
Пользователь №: 79 630



Цитата(Tarbal @ Dec 23 2015, 20:49) *
Я тоже начинал как контроллерщик sm.gif А еще раньше как электронщик.

А кто Вы сейчас?
Риелтор?
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Dec 23 2015, 18:00
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(Флюктуация ваккума @ Dec 23 2015, 21:53) *
А кто Вы сейчас?
Риелтор?


Счетчик контроллеров на плате. Больше 99 поставить не могу. Фантазии не хватает.

Кстати перечитал первый постинг топика. Я использовал LTIB. С него Фрискейл уже соскочил, но процессор не новый и может стоит попробовать? Он построит вам бутлоадер, ядро пропатчит и построит. Построит файловую систему.
Он сам скачает правильные исходники и оставит на вашей рабочей машине, сконфигурирует кросскомпилятор.
Go to the top of the page
 
+Quote Post
vgovseychuk
сообщение Dec 24 2015, 10:07
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 16-03-14
Пользователь №: 80 955



С бутлоадером более-менее разобрался, даже линукс завелся. Но у меня проблема с записью на NAND.

В коде бутлоадера есть такая команда:

"update_nand_full=" /* Update FCB, DBBT and FW */ \
"if tftp ${update_nand_full_filename} ; then " \
"run update_nand_get_fcb_size ; " \
"nand scrub -y 0x0 ${filesize} ; " \
"nand write.raw ${loadaddr} 0x0 ${fcb_sz} ; " \
"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
"fi\0"


Она сохраняет бутлоадер, но походу затирает партишн. И наоборот, когда записываю в nand по партишону rootfs, kernel и fdt, отказывается запускаться бутлоадер.
Партишн такой:

"mtdparts=mtdparts=gpmi-nand:" \
"3m(bootloader)ro," \
"256k(environment)," \
"128k(fdt)," \
"5m(kernel)," \
"-(rootfs)\0" \


Попытался переписать команду обновления и сохранения в память:

"update_nand_bootandenv=" /* Update bootloader and environment VOVS*/ \
"if tftp ${update_nand_firmware_filename} ; then " \
"nand erase.part ${bootloader}; " \
"nand erase.part ${environment}; " \
"nand write ${loadaddr} ${bootloader} ${filesize} ; " \
"saveenv\0" \


Но она не заработала. Кто-нибудь сталкивался с этим? Кстати, странно, что нет команды write.part, хотя erase.part и scrub.part есть laughing.gif

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vgovseychuk   Linux с голого железа   Dec 16 2015, 15:50
- - akorud   Цитата(vgovseychuk @ Dec 16 2015, 16:50) ...   Dec 16 2015, 16:28
- - _3m   Цитата(vgovseychuk @ Dec 16 2015, 18:50) ...   Dec 16 2015, 17:07
|- - vgovseychuk   Спасибо всем за ответы! Цитата(_3m @ Dec...   Dec 17 2015, 07:33
|- - vgovseychuk   В общем, история такая: Для навигации по файлам н...   Dec 17 2015, 12:22
|- - _3m   Цитата(vgovseychuk @ Dec 17 2015, 15:22) ...   Dec 17 2015, 13:10
|- - vgovseychuk   UPD: Поставил пакеты apt-get install libssl-dev С...   Dec 17 2015, 13:41
|- - MikleV   Цитата(vgovseychuk @ Dec 17 2015, 16:41) ...   Dec 18 2015, 07:21
|- - vgovseychuk   Новая проблема. Как залить .sb файл из-под линукса...   Dec 18 2015, 12:47
|- - psL   Цитата(vgovseychuk @ Dec 18 2015, 15:47) ...   Dec 18 2015, 13:43
|- - Tarbal   Цитата(vgovseychuk @ Dec 18 2015, 15:47) ...   Dec 18 2015, 13:53
|- - vgovseychuk   Цитата(Tarbal @ Dec 18 2015, 16:53) В кач...   Dec 18 2015, 14:11
|- - Tarbal   Цитата(vgovseychuk @ Dec 18 2015, 17:11) ...   Dec 19 2015, 05:04
|- - _3m   Цитата(vgovseychuk @ Dec 18 2015, 17:11) ...   Dec 20 2015, 06:53
|- - vgovseychuk   Цитата(_3m @ Dec 20 2015, 09:53) наскольк...   Dec 21 2015, 06:59
|- - vgovseychuk   Как теперь заставить u-boot сохраняться в NAND?   Dec 21 2015, 10:35
|- - vgovseychuk   U-boot висит в оперативке. Видимо, где-то в коде е...   Dec 21 2015, 10:35
|- - psL   Цитата(vgovseychuk @ Dec 21 2015, 13:35) ...   Dec 21 2015, 12:35
|- - vgovseychuk   Цитата(psL @ Dec 21 2015, 15:35) u-boot н...   Dec 21 2015, 13:05
- - haker_fox   QUOTE (vgovseychuk @ Dec 16 2015, 23:50) ...   Dec 17 2015, 01:57
- - samike   В плане общей информации: А на сайте freescale (nx...   Dec 17 2015, 07:44
|- - vgovseychuk   Цитата(samike @ Dec 17 2015, 10:44) В пла...   Dec 17 2015, 07:58
- - MikleV   Можете сразу грузить Linux после linux-prep без за...   Dec 17 2015, 08:49
|- - vgovseychuk   Цитата(MikleV @ Dec 17 2015, 11:49) Может...   Dec 17 2015, 09:15
|- - _3m   Цитата(vgovseychuk @ Dec 17 2015, 12:15) ...   Dec 17 2015, 10:25
- - quarter   если не нравятся бесплатные средства разработки (к...   Dec 17 2015, 13:26
- - Tarbal   Вы с СД карточки можете загрузиться? Сделайте две....   Dec 21 2015, 14:10
|- - vgovseychuk   Цитата(Tarbal @ Dec 21 2015, 17:10) Вы с ...   Dec 21 2015, 14:20
|- - Tarbal   Цитата(vgovseychuk @ Dec 21 2015, 17:20) ...   Dec 21 2015, 14:43
|- - vgovseychuk   UPD: Решил проблему компиляцией с сохранением пер...   Dec 22 2015, 10:34
|- - Tarbal   Цитата(vgovseychuk @ Dec 22 2015, 13:34) ...   Dec 22 2015, 14:23
|- - _3m   Цитата(vgovseychuk @ Dec 22 2015, 13:34) ...   Dec 22 2015, 18:10
|- - vgovseychuk   Цитата(_3m @ Dec 22 2015, 21:10) Прежде ч...   Dec 23 2015, 07:50
|- - vgovseychuk   И в чем отличия u-boot.sb от u-boot.nand? Если я ...   Dec 24 2015, 11:48
- - MikleV   По работе с NAND мне помогли доки во вложении.   Dec 25 2015, 12:08
- - MikleV   Получилось свежий uboot на 287 запустить? Сколько ...   Dec 28 2015, 07:04


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 19:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01465 секунд с 7
ELECTRONIX ©2004-2016