Дак через 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 часа, привезли деревянные овощи и замороженную рыбу вместо охлажденной.
Там от конкретного магазина ещё многое зависит, даже не от сети магазинов. Я так долго «ругался» за то, что делают замены, когда они явно запрещены: служба доставки вставала на мою сторону и возвращала деньги за то, что заменили. Пока всем сборщикам обратка не прилетела, не переставали делать замены. Переехал в соседний район — ситуация повторилась.
А за опоздание на три часа можно смело требовать возврата средств в полном размере.
А вот у меня та же проблема на DS10. Выходные электролитические в БП заменил все: на 5V амплитуда колебаний 10mV, на 12V — меньше 20mV. Вентиляторы, правда, неродные. На материнской полярные только танталовые.
Отключает питание именно RMC (это отдельный PIC17 контроллер, что следит за питанием и температурой) и именно потому, что считает, что с системными 2-pin вентиляторами что-то не так (при этом его устраивает 3-pin вентилятор ЦПУ).
Я решил пока проблему кардинально, но не так ужасно, как автор статьи: я нашёл недокументированный джампер, который запрещает RMC выключать питание в случае аварии.
Модуль сочетал в себе процессор 21264, установленный в плату без использования сокета (к сожалению, не удалось подробных фото, где было бы понятно была это BGA версия или просто припаянный к плате процессор с ножками), кэш память и VRM.
Для EV67 там обычный IPGA, распаянный на плате. Модулей с EV68 у меня нет (там CLGA), есть только ЦПУ отдельно.
На AV и AS нет спроса, будет спрос — будет и добавлен. WebUI скоро будет новый, но текущий не хуже, чем в NEO. Ну а в остальном счёт точно не в пользу первого.
Это разные компании с разными бенефициарами. А разработчики... я в почте могу найти приглашения ото всех упоминаемых в статье и в комментариях (и от некоторых по несколько штук) на одно и то же направление. Гораздо интереснее было бы увидеть, у кого они задерживаются дольше.
Можно написать напрямую Харальду и спросить, какое отношение имеет Osmocom-analog к собственно Osmocom. Вот, e-mail адрес на странице контактов компании — это личный адрес Харальда, который он активно использует, как минимум, в последние годы.
Есть такой проект как 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 у него был, насколько я помню.
OSR 2 на am386DX40 + 5 Mb точно ставилась и кое-как работала. Я такую машинку какое-то время использовал, большей частью, для работы с ручным сканером Mustek у которого не было драйвера для NT.
У NC10 против асусов и эйсеров был ещё ряд преимуществ: матовый экран вместо «зеркала» у конкурентов, нормальная раскладка клавиатуры и, опционально, двойной аккумулятор. Ну а модем же можно на LTE было заменить?
Про баты уже сказали, добавлю лишь обоснование необходимости перевода в единицы, понятные читателю: я, как и многие другие читатели, все цифры пропустил, не зная курса конвертации; если бы посмотрел курс в начале статьи, то мучительно бы пересчитывал все числа. Если ЦА — Россия (а первое предложение на это явно указывает), то стоило указать цены в рублях, если ЦА шире — в долларах: многие уже имеют представление о своих доходах и расходах в $$, потому могут сопоставлять цифры без пересчёта.
Цены на жильё вообще непонятно, в каких единицах: что это за цены, в месяц? И сколько стоило «элитное» жильё? И что из себя представляет? Может, мне именно это и нужно?
вилла с бассейном была выставлена от 25000 бат в низкий сезон (с апреля по октябрь)
Непонятно, что делать читателю, интересующемуся релокацией в Таиланд, с этой информацией: он не на отдых едет, нужны цифры средние в месяц за год и экстремумы (чтобы оценить, сколько нужно для демпфирующей подушки).
Ну и непонятно, а зачем вы вообще релоцировались? Работаете то удалённо! Ну переехала бы компания, управленцы и прочие, кому нужно в офисе работать, а разработчикам то зачем?
По выходным мы периодически устраиваем тимбилдинг
А время оплачивается как рабочее? Если нет — в лес такую контору — мои выходные принадлежат мне, и только мне.
Оказывается, в C можно определять функции внутри функций
Можно, вот только в Си (стандартном) они имеют область видимости файла, а не блока, где определены. (В отличие от Pascal и прочих Виртовских языков, например.)
Более того, во вложенных функциях можно менять переменные из внешней функции и переходить по меткам из неё, но для этого необходимо, чтобы переменные были объявлены до вложенной функции, а метки явно указаны через __label__
А вот это уже совсем не Си (стандартный), а GCC диалект. Так что стоит заменить в заголовке «в C» на «в GCC Си».
ptr = (float *) try_catch
Указатель на void в Си преобразуем к указателю на любой другой тип: не нужно лишних явных преобразований.
Вообще нужно стараться избегать явных преобразований там, где без них можно обойтись: это корень зла — метод приказать компилятору заткнуться, повиноваться и делать, как программист сказал. Это бомба замедленного действия.
Дак через 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-платы, кстати, не нужен внешний программатор.
Там от конкретного магазина ещё многое зависит, даже не от сети магазинов. Я так долго «ругался» за то, что делают замены, когда они явно запрещены: служба доставки вставала на мою сторону и возвращала деньги за то, что заменили. Пока всем сборщикам обратка не прилетела, не переставали делать замены. Переехал в соседний район — ситуация повторилась.
А за опоздание на три часа можно смело требовать возврата средств в полном размере.
Поправка: CLGA — это с EV68CB, а EV68C (IBM) и EV68A (Samsung) были так же в IPGA.
А вот у меня та же проблема на DS10. Выходные электролитические в БП заменил все: на 5V амплитуда колебаний 10mV, на 12V — меньше 20mV. Вентиляторы, правда, неродные. На материнской полярные только танталовые.
Отключает питание именно RMC (это отдельный PIC17 контроллер, что следит за питанием и температурой) и именно потому, что считает, что с системными 2-pin вентиляторами что-то не так (при этом его устраивает 3-pin вентилятор ЦПУ).
Я решил пока проблему кардинально, но не так ужасно, как автор статьи: я нашёл недокументированный джампер, который запрещает RMC выключать питание в случае аварии.
Для EV67 там обычный IPGA, распаянный на плате. Модулей с EV68 у меня нет (там CLGA), есть только ЦПУ отдельно.
UPD: Поддержка Colorlight i9+ на базе Xilinx XC7AA50T появилась.
На AV и AS нет спроса, будет спрос — будет и добавлен. WebUI скоро будет новый, но текущий не хуже, чем в NEO. Ну а в остальном счёт точно не в пользу первого.
Это разные компании с разными бенефициарами. А разработчики... я в почте могу найти приглашения ото всех упоминаемых в статье и в комментариях (и от некоторых по несколько штук) на одно и то же направление. Гораздо интереснее было бы увидеть, у кого они задерживаются дольше.
system back-up на одной, system restore на второй. Если нужны те же MAC-адреса на интерфейсах, то придётся их явно прописать в конфигурации сначала.
https://www.altell.ru/products/neo/certificates/ — сертификаты закончились пять лет назад, разработчики ушли и пилят один из рассматриваемых в статье.
Можно написать напрямую Харальду и спросить, какое отношение имеет Osmocom-analog к собственно Osmocom. Вот, e-mail адрес на странице контактов компании — это личный адрес Харальда, который он активно использует, как минимум, в последние годы.
Ну, Харальд не один работает в Osmocom: может это кто-то из его сотрудников?
Пожалуй, стоит добавить параграф, рассказывающий немного о том, кто этот автор такой: 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 у него был, насколько я помню.
OSR 2 на am386DX40 + 5 Mb точно ставилась и кое-как работала. Я такую машинку какое-то время использовал, большей частью, для работы с ручным сканером Mustek у которого не было драйвера для NT.
При большом расстоянии / цене списывает два раза частями (или даже три): езжу периодически за 150 км.
У NC10 против асусов и эйсеров был ещё ряд преимуществ: матовый экран вместо «зеркала» у конкурентов, нормальная раскладка клавиатуры и, опционально, двойной аккумулятор. Ну а модем же можно на LTE было заменить?
Про баты уже сказали, добавлю лишь обоснование необходимости перевода в единицы, понятные читателю: я, как и многие другие читатели, все цифры пропустил, не зная курса конвертации; если бы посмотрел курс в начале статьи, то мучительно бы пересчитывал все числа. Если ЦА — Россия (а первое предложение на это явно указывает), то стоило указать цены в рублях, если ЦА шире — в долларах: многие уже имеют представление о своих доходах и расходах в $$, потому могут сопоставлять цифры без пересчёта.
Цены на жильё вообще непонятно, в каких единицах: что это за цены, в месяц? И сколько стоило «элитное» жильё? И что из себя представляет? Может, мне именно это и нужно?
Непонятно, что делать читателю, интересующемуся релокацией в Таиланд, с этой информацией: он не на отдых едет, нужны цифры средние в месяц за год и экстремумы (чтобы оценить, сколько нужно для демпфирующей подушки).
Ну и непонятно, а зачем вы вообще релоцировались? Работаете то удалённо! Ну переехала бы компания, управленцы и прочие, кому нужно в офисе работать, а разработчикам то зачем?
А время оплачивается как рабочее? Если нет — в лес такую контору — мои выходные принадлежат мне, и только мне.
Можно, вот только в Си (стандартном) они имеют область видимости файла, а не блока, где определены. (В отличие от Pascal и прочих Виртовских языков, например.)
А вот это уже совсем не Си (стандартный), а GCC диалект. Так что стоит заменить в заголовке «в C» на «в GCC Си».
Указатель на void в Си преобразуем к указателю на любой другой тип: не нужно лишних явных преобразований.
Вообще нужно стараться избегать явных преобразований там, где без них можно обойтись: это корень зла — метод приказать компилятору заткнуться, повиноваться и делать, как программист сказал. Это бомба замедленного действия.