> тут памяти 16 кб.Вообще-то перец прицепил 16МБ памяти, учинив контроль SDRAM-памяти прямо портами GPIO. Что вообще-то изврат (изначально для такого подразумевался аппаратный контроллер, который в более мощные SoC встроен, который это делает быстро и не нагружая проц). Но работает же. Конечно контроллер памяти получился тормозной и извращенский, нативному коду на атмеге он не доступен как нечто адресуемое напрямую.
Зато эмулированному процу стало доступно 16 мегз эмулированной же оперативы, хоть оно и тормозное и извращенское. В 16 мегзах пингвин нормальненько так взлетает. В 16 кил - не взлетит.
Если есть камня GPIO то в принципе его программными дергами можно изобразить очень много разных интерфейсов. Не всегда быстро и оптимально, но - можно. Как видите и самопальный контроллер SDRAM к которому прицеплено аж 16МБ (в виде SIMM модуля) - тоже можно. Помнится другой извращенец сделал программный usb на атмегах. Полтора мегабита (полтора миллиона битов в секунду) этот господин разбирал программно, анализом состояния лапок. Поскольку частота атмег - едва за десяток МГц, несложно прикинуть что на анализ и принятие решений - несколько тактов, несколько команд проца. Usb на самом деле дифференциальная шина и там еще и байты не влобовую а с кодированием к тому же (на честный разбор которого на такой скорости времени нет в принципе). Тем не менее тот перец изогнулся и сделал почти невозможное, считерив слегка (сделав таблицу).
Вот что-то такое и является высшим пилотажем для инженеров, когда из железа выжимается нечто, что большинство коллег считало невозможным.