RamZoom
Участник-
Постов
67 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о RamZoom
-
Звание
Участник
Посетители профиля
1 310 просмотров профиля
-
На счет того, что первой идет NAND - далеко не всегда так. На многих первой грузится с SD_CARD. Но у MediaTek похоже не так
-
Всем доброго вечера. Может подскажет кто как происходит загрузка с SD-CARD у MediaTec? По многим другим, например у sunxi, процесс загрузки достаточно подробно описан, а вот MediaTec.... Имеется MediaTek MT6762M ARMv8-A на платформе MediaTek Helio A22, документации по нему к сожалению найти пока не удалось, из общего описания нашелся документик Driver_All_In_One_V1_MT6575_4.0 в котором почти ничего нет.... Интересуют вопросы: 1) у данного производителя процессоры по умолчанию сначала читают SD-CARD, а потом NAND? Или же конфигурация осуществляется перепайкой ножек чипа? 2) Какие разделы должны быть на SD-CARD? Какие файлы из сборки UBOOT на какие разделы необходимо положить? В общем интересует процесс начальной загрузки для данных чипов. Если кто чем сможет помочь буду очень благодарен
-
Всем большое спасибо за помощь! Все запустил!
-
C iminfo выяснил, что все верно, он не распознает образ в связи с тем, что собираю используя сжатое ядро, т.е. zImage, а не uImage. Проблема оказывается в формировании *.dts ну и конечно *.dtb файла. Наивно надеясь на простенькое решение данного вопроса пользовал sopc2dts в графическом режиме, получал хоть dts хоть dtb, но увы... Clock Tree и Board xml файлы по ходу утилитка не создает и их нужно как-то накопать. Rocketboards ссылается на Device Tree Generator (http://git.rocketboards.org/sopc-tools.git), но ссылка выдает Not Found. Не особо ясно это тот же самый sopc2dts или что-то другое. Какие есть варианты формирования xml файлов? Или же редактировать dts вручную и преобразовывать в dtb?
-
Этот тест прогонял. Подумал, что о каком-то другом речь идет. Все переменные, подключенные устройства, SD карту видит нормально. Единственное, что смутило iminfo. Не знал, что должно быть и в документации пока ничего не нашел так и оставил
-
Не скромный вопрос. Как произвести данную манипуляцию?
-
Может кто сталкивался с такой бедой предзагрузчик, загрузчик и скрипт на плате стартуют. Плис прошивается, а вот при старте linux система зависает. Операционку и сам собирал и терасиковскую пытался запускать результат одинаков. Со скриптом тот же эффект. В какую сторону копать???
-
По ходу флешка померла. Была очищена, отформатирована в fat, затем в ext4, потом очищена. Создана новая таблица с разделами загрузки. Загружены предзагрузчик и загрузчик. И опять 25. В общем спасибо большое за помощь. Стало ясно куда копать дальше Поиск ядра это не плохо. Суть задумки предзагрузчик стартует загрузчика, тот в свою очередь скрипт. Все дальнейшие пути с инструкциями поиска, установки и т.д. планирую производить в скрипте.
-
А вот здесь выяснился неприятный факт. Ранее собирал по методу описанном на ХарбаХарбе в котором был скрипт u-boot-env.img и писал его на раздел a2 вместе с предзагрузчиком. После этого неоднократно переделывал флешку и с помощью gparted и fdisk, но по ходу каким-то образом этот скрипт до сих пор там и стартует он. Ищет uImage
-
слеши прописаны. Я их при записи здесь в строку поубирал
-
Загрузка DE1-SOC
RamZoom опубликовал тема в Системы на ПЛИС - System on a Programmable Chip (SoPC)
Всем привет! Суть вопроса после сборки проекта запускаю bsp-editor устанавливаю поддержку fat систем и генерирую остальное без изменений. В папке spl_bsp запускаю make из embedded консоли и получаю предзагрузчика и развернутую систему для сборки загрузчика. Хоть переопределяю переменные загрузки CONFIG_BOOTCOMMAND и CONFIG_EXTRA_ENV_SETTINGS, хоть оставляю в неизменном виде после make uboot при загрузке получаю not definedcboot. Первая переменная переопределена для запуска скрипта #define CONFIG_BOOTCOMMAND "run callscript", а во второй минимальный набор для запуска #define CONFIG_EXTRA_ENV_SETTINGS "scriptfile=u-boot.scr\0" "fpgadata=0x2000000\0" "callscript=fatload mmc 0:1 $fpgadata $scriptfile;" "source $fpgadata\0". Сам скрипт содержит описание на запуск zImage, rbf и т.д... Может кто уже решил этот вопрос подскажите как быть -
Qt по моему мнению лучшая на сегодняшний день среда разработки среди своих соратников. По повода дисплея использую стандартный монитор, подключенный через VGA с разрешением 1024х768. И мне очень интересен ваш подход к решению по изменению видео вывода. Сколько документации уже перекопал, так и не понял, как в общем в linux и в каком формате данные передаются на видеокарту
-
Извиняюсь, что долго отсутствовал. Решение по моему вопросу оказалось достаточно простым: при установке самого QuartusII эти библиотеки находятся в ....embedded\ip\altera\hps\altera_hps\hwlib. В папке include хидер файлы, а в src\hwmgr исходники. Папку altera_hps переименовал а Altera, закинул на запущенной плате в Qt и все пошло как по маслу. Единственное огорчение возникает, когда проект на Qt собранный на виртуальной машине закидываешь и пере собираешь на плате не подключенной к интернету, получаешь ошибку о разнице времени. Часов реального времени-то на ней не предусмотрено. А в остальном пробовал ставить образы и с Ubuntu и с LXDE. LXDE работает поинтереснее, но при любом изменении файла configure (установка mc, nautilus ....) при следующем старте платы вылетает ошибка. Подтверждение позволяет дальше операционке загрузиться. У Ubuntu такой проблемы не наблюдал По поводу графиков использовал QCustomPlot и эта библиотека показала себя с наилучшей стороны. При отрисовке проблем нет. Устанавливать и собирать ничего не нужно просто скинул в папку с проектом хидер и исходник, добавил их к проектным файлам, закинул на форму widget преобразовал его в QCustomPlot, добавил в .pro файл проекта QT += printsupport и всех вопросов. QWT еще не собирал на плате.
-
Спасибо за файл! Но если не сложно и сможете ответить на несколько вопросов был бы вам очень благодарен. Итак начнем с начала... Стандарт FIPS-180-3 нам говорит о том, что нужно произвести предварительную подготовку, а именно дополнить значение до 512 бит, разделить сообщение на 8 32-х разрядных значений и проинициализировать начальное значение хэша. Если я все правильно понял первые два пункта нас не особо заботят, а полученные 512 бит записываются в строке unsigned int hash[8] {0xdc6a3b8d,0x0c69421a,0xcb1a5434,0xe536f7d5,0xc3c1b9e4,0x4cbb9b8f,0x95f0172e, 0xfc48d2df}; Далее необходимо подготовить последовательность блоков данных согласно формуле Wt. Насколько я понял за это отвечают строки for (i = 0; i < 16; i++) M = 0; M[0] = BSWAP32(0x871714dc); M[1] = BSWAP32(0x53058b35); M[2] = BSWAP32(0x19015f53); M[3] = BSWAP32(0x33087548); M[4] = 0x80000000; M[15] = 0x00000280; и вот здесь уже начинаются вопросы: почему они рассчитываются практически в конце выполнения алгоритма, а не после первоначальной инициализации для получения Wt? И почему они проинициализированы значениями 0x871714dc ..... Чуть выше по тексту в комментариях они присутствуют и на сколько я понял являются первыми значениями выполнения функции SHA256_Update? Что тоже не особо понятно SHA256_Update(&sha256_pass1, ((unsigned char*)&header)+64, sizeof(block_header)-64); /* data [0x0] 0x871714dc unsigned int - header.merkle_root, "871714dc... [0x1] 0x53058b35 unsigned int - header.timestamp = 0x53058b35; [0x2] 0x19015f53 unsigned int - header.bits = 0x19015f53; [0x3] 0x33087548 unsigned int - header.nonce = 856192328; */
-
На счет Wiki вы погорячились. Было прочитано и неоднократно. На счет того, что нужно сделать, так это получить H2 = SHA256(SHA256(Block_Header)), где Block_Header как раз и являются входными данными. В него входят Version (32 bits) + hashPrevBlock (256 bits) + hashMerkleRoot (256 bits) + Timestamp (32 bits) + Target (32 bits) + Nonce (32 bits) + Padding + Length (384 bits) итого 1024 бита. Программа майнер выполняет операции, которые выполняются один раз и отправляет на плату 512 бит для обработки. Результатом будет 32 бита данных, рассчитанных за 64 раунда двух SHA256 модулей. А на счет благодетелей вопрос к тем, кто с этим уже разобрался или хочет разобраться, а не просто хоть что-нибудь написать