Как стать автором
Обновить
1
0

Инженер-программист

Отправить сообщение

Дак через JTAG же можно было и прошивать, имитируя этот самый пользовательский интерфейс. Или, даже лучше, сразу дёргая выводы ПЗУ — и не нужна логика для прошивки в CPLD.

Его необходимость обусловлена тем, что доступ к микросхеме ОЗУ предоставляется только в момент обратного хода кадровой развертки.

Зачем? В том же Специалисте из 80-х видеогенератор читал из памяти два раза и ЦПУ мог его прерывать: в первом цикле — всегда, во втором цикле — только если в первом видеогенератор уже прочитал значение. И всё это было на элементарной дискретной логике (Специалист один из простейших ПК того времени). Скорости ваших ОЗУ должно хватить. Плюс, добавить небольшой FIFO-буфер.

VGA 640×480@60 — 25.175 МГц pixel clock — это ~2.8 МГц symbol clock (при 9 пикселях на символ по горизонтали). Удваиваем как в Специалисте, получаем ~178.7 нс на цикл: если у вас ОЗУ из кеша, то там оно намного быстрее и можно смело восемь раз читать (~44.7 нс на чтение ОЗУ) — и писать можно уже в 7-ми из 8 циклов (~19.6 мегасимволов в секунду). Плюс FIFO на 8 — 16 записей.

В общем, для целевых устройств, микроконтроллеров, можно вообще отказаться от BUSY.

P.S. Выше, где говорится про чтение символа, имеет ввиду чтение как кода символа, так и его атрибутов (если они поддерживаются), то есть в наиболее востребованном режиме — установить текущие атрибуты один раз, потом записать строку или блок символов — собственно символы можно писать в два раза быстрее.

Закоротить можно, но зачем? Вот то, о чём вы говорите: https://habr.com/ru/articles/589329/ — там же проскакивает более нормальная dev-плата, куда можно вставить so-dimm модули как с Lattice ECP5 на 25K и 45K LUT4 ячеек (первый у меня есть), так и на ECP3 (не искал), Xilinx XC6SLX16 (нашёл продавца, но закончились) и Xilinx XC7AA50T (и этот есть). Последний также поддерживается open source toolchain, как и ECP5. (См. последние комментарии к статье.)

Вот на этой куча внешних I/O и к ней продаётся куча PMOD-модулей за вполне разумные деньги на Али. Для этой dev-платы, кстати, не нужен внешний программатор.

Доставку переносили каждые 20 минут, опоздали на 3 часа, привезли деревянные овощи и замороженную рыбу вместо охлажденной.

Там от конкретного магазина ещё многое зависит, даже не от сети магазинов. Я так долго «ругался» за то, что делают замены, когда они явно запрещены: служба доставки вставала на мою сторону и возвращала деньги за то, что заменили. Пока всем сборщикам обратка не прилетела, не переставали делать замены. Переехал в соседний район — ситуация повторилась.

А за опоздание на три часа можно смело требовать возврата средств в полном размере.

Поправка: CLGA — это с EV68CB, а EV68C (IBM) и EV68A (Samsung) были так же в IPGA.

А вот у меня та же проблема на DS10. Выходные электролитические в БП заменил все: на 5V амплитуда колебаний 10mV, на 12V — меньше 20mV. Вентиляторы, правда, неродные. На материнской полярные только танталовые.

Отключает питание именно RMC (это отдельный PIC17 контроллер, что следит за питанием и температурой) и именно потому, что считает, что с системными 2-pin вентиляторами что-то не так (при этом его устраивает 3-pin вентилятор ЦПУ).

Я решил пока проблему кардинально, но не так ужасно, как автор статьи: я нашёл недокументированный джампер, который запрещает RMC выключать питание в случае аварии.

Модуль сочетал в себе процессор 21264, установленный в плату без использования сокета (к сожалению, не удалось подробных фото, где было бы понятно была это BGA версия или просто припаянный к плате процессор с ножками), кэш память и VRM.

Для EV67 там обычный IPGA, распаянный на плате. Модулей с EV68 у меня нет (там CLGA), есть только ЦПУ отдельно.

На AV и AS нет спроса, будет спрос — будет и добавлен. WebUI скоро будет новый, но текущий не хуже, чем в NEO. Ну а в остальном счёт точно не в пользу первого.

Это разные компании с разными бенефициарами. А разработчики... я в почте могу найти приглашения ото всех упоминаемых в статье и в комментариях (и от некоторых по несколько штук) на одно и то же направление. Гораздо интереснее было бы увидеть, у кого они задерживаются дольше.

клонирование устройств, для Нума мне не удалось найти информацию по этой функции

system back-up на одной, system restore на второй. Если нужны те же MAC-адреса на интерфейсах, то придётся их явно прописать в конфигурации сначала.

или тот же ALTELL NEO ?

https://www.altell.ru/products/neo/certificates/ — сертификаты закончились пять лет назад, разработчики ушли и пилят один из рассматриваемых в статье.

Можно написать напрямую Харальду и спросить, какое отношение имеет Osmocom-analog к собственно Osmocom. Вот, e-mail адрес на странице контактов компании — это личный адрес Харальда, который он активно использует, как минимум, в последние годы.

Ну, Харальд не один работает в Osmocom: может это кто-то из его сотрудников?

Есть такой проект как Osmocom-analog. Его автор реализовал целый ряд аналоговых сотовых сетей (а также ряд других интересных штук типа эмуляции акустического модема), ... автор данного проекта немец ...

Пожалуй, стоит добавить параграф, рассказывающий немного о том, кто этот автор такой: Harald Welte, вот пара цитат из wikipedia:

  • «Until 2007, Welte was the chairman of the core team responsible for the netfilter/iptables project.».

  • «Welte has become prominent for his work with gpl-violations.org, an organisation he set up in 2004 to track down and prosecute violators of the GPL, which had been untested in court until then».

Так же, стоит добавить предложение о его компании Osmocom: они делают не только open source ПО, но и open hardware для систем связи.

P.S. И, кстати, не только аналоговых: тот же GSM 2G и 3G у него был, насколько я помню.

Но у меня на 4 Мб так и не поставилось.

OSR 2 на am386DX40 + 5 Mb точно ставилась и кое-как работала. Я такую машинку какое-то время использовал, большей частью, для работы с ручным сканером Mustek у которого не было драйвера для NT.

При большом расстоянии / цене списывает два раза частями (или даже три): езжу периодически за 150 км.

У NC10 против асусов и эйсеров был ещё ряд преимуществ: матовый экран вместо «зеркала» у конкурентов, нормальная раскладка клавиатуры и, опционально, двойной аккумулятор. Ну а модем же можно на LTE было заменить?

Про баты уже сказали, добавлю лишь обоснование необходимости перевода в единицы, понятные читателю: я, как и многие другие читатели, все цифры пропустил, не зная курса конвертации; если бы посмотрел курс в начале статьи, то мучительно бы пересчитывал все числа. Если ЦА — Россия (а первое предложение на это явно указывает), то стоило указать цены в рублях, если ЦА шире — в долларах: многие уже имеют представление о своих доходах и расходах в $$, потому могут сопоставлять цифры без пересчёта.

Цены на жильё вообще непонятно, в каких единицах: что это за цены, в месяц? И сколько стоило «элитное» жильё? И что из себя представляет? Может, мне именно это и нужно?

вилла с бассейном была выставлена от 25000 бат в низкий сезон (с апреля по октябрь)

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

Ну и непонятно, а зачем вы вообще релоцировались? Работаете то удалённо! Ну переехала бы компания, управленцы и прочие, кому нужно в офисе работать, а разработчикам то зачем?

По выходным мы периодически устраиваем тимбилдинг

А время оплачивается как рабочее? Если нет — в лес такую контору — мои выходные принадлежат мне, и только мне.

Оказывается, в C можно определять функции внутри функций

Можно, вот только в Си (стандартном) они имеют область видимости файла, а не блока, где определены. (В отличие от Pascal и прочих Виртовских языков, например.)

Более того, во вложенных функциях можно менять переменные из внешней функции и переходить по меткам из неё, но для этого необходимо, чтобы переменные были объявлены до вложенной функции, а метки явно указаны через __label__

А вот это уже совсем не Си (стандартный), а GCC диалект. Так что стоит заменить в заголовке «в C» на «в GCC Си».

ptr = (float *) try_catch

Указатель на void в Си преобразуем к указателю на любой другой тип: не нужно лишних явных преобразований.

Вообще нужно стараться избегать явных преобразований там, где без них можно обойтись: это корень зла — метод приказать компилятору заткнуться, повиноваться и делать, как программист сказал. Это бомба замедленного действия.

1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность