Автор: spirom , 15 августа 2011
Здравствуйте! Пытаюсь написать некоторое подобие флэшера, чтоб работал хотя бы на одном моем компьютере (чисто из интереса :) ). С системной биос все хорошо, спд микру тоже научился... Теперь дошло время и до видеокарты :). Видел примеры для карт nvidia (в flashrom'e), но сомневаюсь, что для ати это прокатит... Посмотрел дров в ативинфлэш. Он явно мапит память, но с другой стороны говорит, что флэшка там M25P16, то бишь SPI, что явно не в пользу метода для нвидиа... Собственно вопрос: может кто располагает даташитом на карту (сам найти, к сожалению, не смог) или знает, какие регистры нужно использовать... Буду рад любой информации. Заранее спасибо :)
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

bomz

14 лет 6 месяцев назад

дай плиз ссылку, что читать, чтоб разобраться как прогу написать для прошивки

spirom

14 лет 6 месяцев назад

Ну эээ... Во-первых, сорцы юнифлэша и флэшрома в этой же ветке. Во-вторых, на хакер.ру были статьи а-ля "Проникновение в BIOS ROM" или что-то в этом духе... Ну и из личного опыта могу посоветовать дизасм системной биос, слитой из шадоу рам (если биос авард, то ищем сигнатуру и смещение нужной процедуры. Описание структуры - в юнифлэше :). После чего натравливаем на это ида про и смотрим, как биос сам отмапливает, что надо). Вот так как-то :). Насчет спд, тык это то же на хакере было... Даташиты на чипсеты есть...кроме нвидиа, а у меня нвидиа, да еще с не совсем обычной мп с гпо. Помог дизасм :)

spirom

14 лет 6 месяцев назад

Вобщем нашел исходники xf86-video-ati и амдшный M56 Register Reference Guide. Судя по исходникам, смещения нужных регистров должны совпадать. Регистры эти, видимо, SEPROM_CNTL1, SEPROM_CNTL2, ROM_INDEX, ROM_DATA, CONFIG_XSTRAP. Все бы хорошо, но я не очень понимаю, в чем великий смысл поля sec_command при наличии специальных битов для выбора команды, и как собственно запустить транзакцию на шине спи... На чипсетах интел с этим вроде все прозрачно. Пытался научно потыкать, но только повесил комп :(. Может быть, кто-то более опытный сможет разобраться с этим?

spirom

13 лет 8 месяцев назад

Доброе время суток!
Спустя год сам отвечу на некоторые свои вопросы. Последовательность команд, необходимая для запуска транзакции на шине, ясна из исходника stw_flash. Но он написан для ATI Xilleon, причем для открытия доступа к флэшке там используется инициализация регистров GPIO. Попробовал шить, взведя лишь бит RADEON_ROM_WRT_EN в регистре BUS_CNTL, но ничего не выходит. Возникает вопрос: подсоединены ли какие-нибудь пины GPIO к шине SPI на RV280 (на Xilleon - GPIO 10)? И еще: на Mach64 существовал интерфейс в BIOS, подобный AWDFLASH у Award, который в частности предоставлял функцию write ROM byte (описание есть в файле с описанием регистров Mach64 ATI.TXT). Осталось ли что-то подобное на Radeon?
Спасибо заранее:-)