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

RamZoom

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

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

  • Посещение

Весь контент RamZoom


  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 модулей. А на счет благодетелей вопрос к тем, кто с этим уже разобрался или хочет разобраться, а не просто хоть что-нибудь написать
  16. На счет "лажа" верно. А вот на счет рано мне этим заниматься, извиняюсь за выражение, не вам решать. Никогда не понимал людей, которые сами ничего не понимают, а других учат с бесполезной клоунадой. Знаете подскажите, а если нет, то не стоит такого писать. И если интересно, как люди одной сферы деятельности помогают друг другу посмотрите http://www.eetop.cn. И никто там такой хе.... не пишет как вы. А то герои накатают два листа текста и держат под подушкой. Жалко подсказать. Убудет
  17. Ниже в постах уже была затронута тема майнинга на ПЛИС, но полного понимания к сожалению нет. Любителей отписаться о том, что это не модно и не выгодно - согласен, но хочется довести тему до получения результата. Исходные данные: сайт Марсоход, Wiki с темой SHA-2 и конечно GitHub с исходниками на verilog и небольшая статейка на Биткоин форум с описанием преобразования исходного заголовка от пула программой cgmainer. Доп инфа: по UART плата получает 16 32-x битных пакетов = 512 бит. Сборка проекта и подгонка под недолгую работу ModelSim показала, что выполнение обоих модулей под названием sha256_transform стартует одновременно, после получения пакетов и течет куча данных. После нескольких запусков просто моделсим перестал стартовать. Заставка, вторая и вылетел. Такое впервые, еще не знаю что с этим делать, но не суть. От этой модели понимания не прибавилось. Сам SHA-256 говорит о том, что все операции будут производиться над 256-ти разрядными данными, а в проекте еще и над 512-ти разрядными. Часть из входных которых являются константы. Далее счетчики для получения nonce, golden nonce. Может кто по-человечески объяснить текстом или в виде структурок что в общем-то нужно делать с входными и выходными данными вышеупомянутых модулей, саму суть и принцип не в виде бесполезных ссылок, а с чувством, толком, расстановкой. Заранее спасибо
  18. Тоже в данный момент занимаюсь решением вопроса алгоритма майнера на плис, но не совсем понятен механизм расчета. Еще не полностью разобрался. На данный момент реализован алгоритм SHA256, имеется подключение к пулу. Входной поток от пула 512 бит получаю и через UART на плату отправляю. И здесь начинаются вопросы. Какие биты первыми отправлять на SHA256? Что делать далее с полученным результатом? Так что если есть кто полностью в курсе дела дайте знать.
  19. Будет собран проект с qsys, который будет включать в себя подключенное ядро и порт светодиодов (led). Так вот и вопрос как обращаться к led из программы, написанной на Qt. В примерах есть #include <sys/mman.h> #include "hwlib.h" #include "socal/socal.h" #include "socal/hps.h" #include "socal/alt_gpio.h", но у меня нет этих библиотек. Сейчас в описаниях нашел вроде они будут в папках самого Quartus после его установки от 13.1 версии и выше. Завтра посмотрю
  20. Всем привет! Имеется плата DE1-Soc с двух ядерным кортексом и ~85-ю тысячами логики. С сайта terasic был скачан и установлен образ с графическим линуксом. Из репозиториев (не из исходников!) при помощи танцев с бубнами был установлен Qt и полностью настроен. Приложения собираются и запускаются. Какие библиотеки необходимо доустановить Qt для взаимодействия с логикой, т.е. с NiosII и подключенной к нему периферией???
  21. Какое семейство или конкретная Altera стабильно работает на высоких частотах, а именно позволяет захватывать внешние данные на этих частотах, записывать в регистры и ячейки памяти и т.д.
  22. Подскажите какая Altera пропустит по ногам и логике 900-1000 МГц? И где в даташите этот параметр максимальной пропускной способности?
  23. Так не суть именно мильон намайнить. Интерес составляют сами алгоритмы, описаний которых пока не нахожу. Ну и конечно попытаться реализовать на плис
×
×
  • Создать...