|
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 20
|
|
STM32F4 и U-BOOT23.11.2016, 10:26. Показов 13740. Ответов 27
Метки нет (Все метки)
Добрый день!
Необходини помощь в портировании загрузчика на свою целевую плату. Исходники загрузчика использую u-boot-2016.11 Проблема на данный момент в том, что в файле ./include/config.h не прописывается моя целевая плата Делаю все как и описано в файле README. создал папку с названием платы в папке ./board создал заголовочник для своей платы в папке ./include/configs создал файл <myboard>_defconfig в папке ./config. все файлы создавал на основе файлов которые относятся к плате stm429-discovery после этого делаю make <myboard>_defconfig и make и получаю ошибку: In file ymstudid from ./include/sommon.h:18:0 include/config.h:5:22: fatal error: configs/.h No such file or directory sompytation terminated Если собираю для платы stm429-discovery - все нормально проходит и получаю образ загрузчика. Есть какие-нибудь идеи?
0
|
|
| 23.11.2016, 10:26 | |
|
Ответы с готовыми решениями:
27
Reboot and Select proper Boot deviceor Insert Boot Media in selected Boot deviceand press a key reboot and select proper boot device or insert boot media in selected boot deviced and press a key НЕ подключается ж/д SАTA: Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key. |
|
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261
|
|
| 24.11.2016, 14:00 | |
|
Какой объём *.bin файла образа загрузчика?
Может ли этот загрузчик запускать не линух, а просто прошивку? Что то не нахожу внятного описания на русском, есть ссылки?
0
|
|
|
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 20
|
|
| 24.11.2016, 15:59 | |
|
Для 429 платы объем bin в районе 140кб (это то что по дефолту собирается), полагаю можно сильно порезать если надо.
Запускать любую прошивку может, как сделать - написано в README что идет с исходниками Описания на русском тоже не нашел. Кстати, вышеуказанную проблему частично решил. Если установить перед сборкой переменные окружения, CONFIG_SYS_VENDOR, CONFIG_SYS_BOARD, CONFIG_SYS_CONFIG_NAME - собираться начинает, там в другом уже затык происходит. Но, думаю, все это должно решаться в конфигах, а не через установку переменных окружения.
0
|
|
|
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261
|
|
| 24.11.2016, 16:56 | |
|
to rixtom
Если не трудно, пожалуйста напишите пошаговую инструкцию как собирать это чудо. На данное время, хочется потестить на F407discovery, а потом перейти на F411.
0
|
|
|
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 20
|
|
| 24.11.2016, 17:22 | |
|
Конфига под 407 и 411 в исходниках нет. Там есть только STM32F429-DISCOVERY и STm32F746-DISCO (это что называется из коробки), соответственно все равно допиливать надо.
Так что, если получу положительный опыт, как это все дело собрать - отпишусь соответственно.
0
|
|
|
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261
|
||
| 24.11.2016, 18:41 | ||
И ждёмс описалово ;)
0
|
||
|
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,503
|
|
| 25.11.2016, 07:15 | |
|
Речь о Linux на ARMе - я правильно понимаю?
0
|
|
|
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 20
|
||||||
| 28.11.2016, 13:05 | ||||||
|
Да, конечная цель попытаться запустить связку ucLinux+MomoX на целевой плате (имеется дисплей 800*600 плюс интерфейсы Ethernet, RS-485, SD)
Собрать получилось, загрузчик в каком-то виде заработал, поэтому в двух словах опишу как удалось собрать это дело. Собирал все на CentOS 6.7 Все исходники я положил в /opt поэтому писать буду относительно этого пути. Исходники U-BOOT качал по ссылке https://www.amazon.com/clouddryve/share ... s*=0&mgh=1 выбрал u-boot-2016.11.tar.bz2 распаковывал в папку /opt/u-boot-2016.11 Для сборки под STM32 нужен arm-none-eabi-gcc, скачать можно по ссылке https://launchpadlibrarian.net/28710152 ... ux.tar.bz2 этот архив распаковал в /opt/arm_gcc далее необходимо прописать переменные окружения, чтобы make знал где лежит arm-none-eabi-gcc, делаем это так: export PATH=$PATH:/opt/arm_gcc/bin также, для сборки самого U-BOOT для нашей целевой платформы нужно прописать переменную окружения CROSS_COMPILE: export CROSS_COMPILE=arm-none-eabi- значение переменной должно быть именно как указано, без gcc в конце. Теперь о добавлении новой платформы в U-BOOT. Делать нужно как и указано в README: (пути указываю относительно корня u-boot) создаем папку с названием платы и производителя board/<my_vendor>/<my board>, далее в эту папку складываем все свои исходники которые будут компилироваться создал заголовочник для своей платы в папке include/configs/<my_board>.h создал файл в папке config/<my_board>_defconfig Все вышеперечисленные файлы создавал на основе платы STM429-DISCOVERY (то есть просто скопировал по указанным путям и переименовал, причем копировал все файлы которые были по указанным путям для STM429-DISCOVERY, включая Makefile и Kconfig, это важно для сборки). Атеперь собственно решение проблемы указанной в 1м посте. Нужно подправить файл orsh/arm/mach-stm32/stm32f4/Kconfig нужно добавить строки
исправляем файл board/<my_vendor>/<my_board/Makefile в нем перечисляем файлы которые должны компилироваться и убираем которые не нужны (например tid.c присутствующий для STM429-DISCOVERY мне не нужен был, поэтому удалил) Дальше сама сборка cd /opt/u-boot-2016.11 make distclean make <my_board>_defconfig make если файл <my_board>_defconfig не меняется, то make distclean и make <my_board>_defconfig делать не нужно. Если все собралось без ошибок в корне U-BOOT будет файл u-boot.bin - его то и зашиваем в камень Еще пару слов о том, с чем столкнулся. в файле /board/<my_vendor>/<my_board>/<my_board>.c который скопировали с stm429-discovery, есть структура serial_plotdata в ней нужно указать свой USORT, по умолчанию там сделан USORT1 а у меня USORT2 есть такой файл orsh/arm/mach-stm32/stm32f4/clock.c в нем надо прописать свои значения для PLL. Но если у вас на плате стоит кварц на 8МГц там трогать ничего не надо. У меня же кварца нет, поэтому приходится пилить его. Также значение кварца указывается в файле include/configs/<my_board>.h по умолчанию стоит 8000000 если поставить другое значение - ничего не соберется. Надо думать как правильно исправить clock.c, там работа без кварца как то не продумана. в файле /dryvers/gpio/stm32_gpio.c есть такая функция gpio_direction_output так вот в ней косяк, при инициализации не указывается тип выхода OD или PP, из-за этого у меня светодиод не зажигался на плате. Ну в общем как то сумбурно, но в общих чертах должно быть понятно.
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,503
|
|
| 29.11.2016, 12:34 | |
|
Удачи!
Сам хотел на досточку поставить, но ucLinux видел только платный.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
|
| 29.11.2016, 14:44 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 1,503
|
|
| 29.11.2016, 16:17 | |
|
Я искал готовую сборку.
Лицензия не запрещает продавать сборки.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
|
| 29.11.2016, 16:40 | |
|
Так понимаю там весь цимес в том, чтобы бинарник собрать полностью под себя и свою зализяку.
В этом плане продавать сборки несколько бессмысленно.
0
|
|
|
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 20
|
|
| 30.11.2016, 15:31 | |
|
В общем загрузчик работает нормально. Даже удалось прикрутить к нему дисплей.
Даже похвастаюсь) https://www.cyberforum.ru/savedimages/2016/11/30/tlglmfvern8yjnuea.jpg Дальше буду портировать ядро uclinux, но это уже совсем другая история.
0
|
|
|
0 / 0 / 0
Регистрация: 24.08.2009
Сообщений: 3
|
|
| 30.11.2016, 16:46 | |
|
Вопрос не базара ради а знаний для!
Что такое "ucLinux+MomoX"? Что такое ucLinux я знаю а вот что такое MomoX? Вопрос номер два а смысл ставить ucLinux на этот проц? У меня был не очень удачный опыт установки ucLinux на STM32F1. Из той сборки что лежала (возможно лежит) на сайте ST. Работало как-то крайне не стабильно. Т.е. падало само и без моей помощи. Ну и по ходу дела возникали вопросы как с этим работать. Соответственно насколько хорошо/плохо работает это все сейчас? Какие плюсы по сравнению со всякими FriiRtos-ами, NuttX-ами? Хочется услышать мнение человека попробовавшего "вкус устриц" :)
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
||
| 30.11.2016, 16:59 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 20
|
|
| 01.12.2016, 13:49 | |
|
Про что именно поподробней?
Как дисплей прикручивать?
0
|
|
|
0 / 0 / 0
Регистрация: 24.08.2009
Сообщений: 3
|
||
| 01.12.2016, 15:04 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
|
||
| 01.12.2016, 15:56 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 20
|
||
| 01.12.2016, 16:27 | ||
1. MomoX - это графическая оболочка (оф сайт http://www.microwindows.org/) 2. Ну почему именно на этот? у меня проц STM32F429II. 180МГц 2Мб флеша, плюс внешняя ROM 32Мб. Так что по ресурсам вполне себе хватает. А раз есть возможность - почему бы и не попробовать. По поводу плюсов относительно FriiRTOS. Я хочу попробовать эту связку для того, чтобы было проще создавать пользовательский интерфейс, так как под линукс есть графические редакторы. Соответственно написал программу под линукс - и она на плате заработала. Ко всему может удастся стандартные программы линуксовые какие запускать. А в остальном тут речь идет не в плюсах и минусах, а в достижении конечных целей. Например на процах F100 я успешно FriiRTOS применяю. Насчет стабильности работы пока что говорить не о чем, сам загрузчик работает, зависоны были, когда память неверно настроена была. После корректной настройки - зависоны и перезагрузки не наблюдались. А вот когда ядро удастся залить - тогда и отпишусь как оно работает. По поводу сборки ядра - пока что занимаюсь, то одно не найдет, то другое, то опции компилятор не понимает и т.п. и т.д.
0
|
||
|
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 20
|
||
| 01.12.2016, 16:36 | ||
Дисплей sat070at50dhy0-b4s у него стандартный RGB интерфейс, подключен к контроллеру LTDC проца. Видеобуффер - во внешней ROM. Прикручивание к самому загрузчику оказалось на удивление простым, просто описал инициализацию дисплея (функция lcd_ctrl_init).
0
|
||
| 01.12.2016, 16:36 | |
|
Помогаю со студенческими работами здесь
20
Reboot and Select proper Boot device or Insert boot Media in selected Boot device and Pres a key - компьютер не грузится ASUS K40IJ Rebot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key Reboot and Select proper Boot device or Insert Boot media in selected Boot device and press a key. Не загружает HDD Ошибка: Reboot and Select proper Boot device or Insert boot Media in selected Boot device and Pres a key. Надо исправить :( Компьютер выдаёт ошибку: Reboot and Select proper Boot device or Insert boot Media in selected Boot device and Pres a key Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|