Это как раз легко решается внешней ОЗУ. А вот вычислительная мощность железа и квалификация программиста и есть тонкое место. Будем надеяться, автор изначально оценил возможность портируемости реализации на микроконтроллер в принципе.
Просто посмотрите сообщения автора этой фразы на форуме, суть посыла поймете.
Я в теме случайно, но позволю себе порекомендовать - тематика + гос.заказ + ГОСТ РВ намекают на группу допуска к секретным сведениям, не забудьте уточнить какая
Это разве не внешняя usb звуковуха с эхоподавлением?
Поддержки сети не вижу, так что, как я понял, внешний PC с сетевым стеком все равно нужен.
И не удивлюсь, если нормально это будет работать только с виндой, причем старой.
Есть все это, только:
1. Помимо самого SVIP на плате немало специализированных чипов. И все это просто так никто не продаст.
2. Там тоже openWRT)
3. Линейка явно не предназначена для прототипирования IP-телефонов.
Решений на чем это можно сделать немало, но все что я знаю используют Linux, VxWorks, QNX и тд
Рядом есть их же вакансия программиста embedded linux, там удаленная работа допустима. Здесь, видимо, работа с железом, что по удалёнке не особо удобно.
3) void BUT_Init(void)
1. DDRX_BUTTON &= ~(MASK_BUTTONS);
тоже что и выражение DDRX_BUTTON =DDRX_BUTTON & (~(MASK_BUTTONS));
~ - побитная инверсия. Т.е. сначала инвертируем MASK_BUTTONS (а оно = 0b01110000). ~0b01110000 = 0b10001111
Проводим операцию ПОБИТОВОЕ И с DDRX_BUTTON и сохраняем результат в DDRX_BUTTON.
Т.е. DDRA = DDRA & 0b10001111. Здесь результат зависит от значения регистра DDRA
2.PORT_BUTTON |= MASK_BUTTONS;
тоже что и выражение PORT_BUTTON = PORT_BUTTON | MASK_BUTTONS;
Т.е. PORTA = PORTA | 0b10001111
с авр не работал, но по логике:
С помощью маски устанавливаешь в регистре DDRA 3 ножки PORTА (4,5,6) на вход для анализа состояния кнопок.
В регистре PORTA устанавливаешь соответствующие биты в 1.