Перейти к содержанию
    

RamZoom

Участник
  • Постов

    67
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о RamZoom

  • Звание
    Участник
    Участник

Посетители профиля

1 184 просмотра профиля
  1. На счет того, что первой идет NAND - далеко не всегда так. На многих первой грузится с SD_CARD. Но у MediaTek похоже не так
  2. MediaTek загрузка ОС из SD-CARD

    Всем доброго вечера. Может подскажет кто как происходит загрузка с 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 на какие разделы необходимо положить? В общем интересует процесс начальной загрузки для данных чипов. Если кто чем сможет помочь буду очень благодарен
  3. Всем большое спасибо за помощь! Все запустил!
  4. 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?
  5. Этот тест прогонял. Подумал, что о каком-то другом речь идет. Все переменные, подключенные устройства, SD карту видит нормально. Единственное, что смутило iminfo. Не знал, что должно быть и в документации пока ничего не нашел так и оставил
  6. Не скромный вопрос. Как произвести данную манипуляцию?
  7. Может кто сталкивался с такой бедой предзагрузчик, загрузчик и скрипт на плате стартуют. Плис прошивается, а вот при старте linux система зависает. Операционку и сам собирал и терасиковскую пытался запускать результат одинаков. Со скриптом тот же эффект. В какую сторону копать???
  8. По ходу флешка померла. Была очищена, отформатирована в fat, затем в ext4, потом очищена. Создана новая таблица с разделами загрузки. Загружены предзагрузчик и загрузчик. И опять 25. В общем спасибо большое за помощь. Стало ясно куда копать дальше Поиск ядра это не плохо. Суть задумки предзагрузчик стартует загрузчика, тот в свою очередь скрипт. Все дальнейшие пути с инструкциями поиска, установки и т.д. планирую производить в скрипте.
  9. А вот здесь выяснился неприятный факт. Ранее собирал по методу описанном на ХарбаХарбе в котором был скрипт u-boot-env.img и писал его на раздел a2 вместе с предзагрузчиком. После этого неоднократно переделывал флешку и с помощью gparted и fdisk, но по ходу каким-то образом этот скрипт до сих пор там и стартует он. Ищет uImage
  10. слеши прописаны. Я их при записи здесь в строку поубирал
  11. Всем привет! Суть вопроса после сборки проекта запускаю 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 и т.д... Может кто уже решил этот вопрос подскажите как быть
  12. Qt по моему мнению лучшая на сегодняшний день среда разработки среди своих соратников. По повода дисплея использую стандартный монитор, подключенный через VGA с разрешением 1024х768. И мне очень интересен ваш подход к решению по изменению видео вывода. Сколько документации уже перекопал, так и не понял, как в общем в linux и в каком формате данные передаются на видеокарту
  13. Извиняюсь, что долго отсутствовал. Решение по моему вопросу оказалось достаточно простым: при установке самого 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 еще не собирал на плате.
  14. Спасибо за файл! Но если не сложно и сможете ответить на несколько вопросов был бы вам очень благодарен. Итак начнем с начала... Стандарт 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; */
  15. На счет 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 модулей. А на счет благодетелей вопрос к тем, кто с этим уже разобрался или хочет разобраться, а не просто хоть что-нибудь написать
×
×
  • Создать...