Я к примеру... бла...бла...бла...[/uquote]
Кстати, вдогон.
У STM32 и AT32 в домене портов регистр управления побитной установкой/сбросом ног порта позволяет СИНХРОННО и НЕЗАВИСИМО от немодифицируемых пинов порта установить значения пинов порта без RMW. В PIC это приводит к необходимости математики с портом, то есть с RMW, а значит не за один, а за два цикла.
В ARM, если отказаться от управления через указатель на структуру, то прямое управление портом тоже сведется к двум циклам вместо трех.
И еще нужно учесть, что ногодрыг на предельных скоростях ядра в PIC возможен только на медленных МК. На быстрых не позволит шина и конвейер. То есть писать вплотную инструкции вывода в порт невозможно - они будут исполняться с пропусками. Это происходит уже в МК с производительностью 70 мипс и более (dsPIC33EP, например). Приходится вставлять NOP-ы на АСМе или их вставляет компилятор Си автоматически.
Ну и если не прибегать к доступу к полям структуры регистра, то прямой доступ к регистрам порта в ARM внезапно занимает всего два машинных цикла:
Код: Выделить всё
405: GPIOD->scr=0x00010002;
0x08002E9A 4815 LDR r0,[pc,#84] ; @0x08002EF0
0x08002E9C 6008 STR r0,[r1,#0x00]
..............
0x08002EF0 0002 DCW 0x0002
0x08002EF2 0001 DCW 0x0001
...........
КРАМ! ... ты когда бухаешь и уходишь в ГЛУБОКУЮююююю .... жопу
Ты не забывай правила общие по работе мк (микроконтроллеров)
Давай я тебе небольшой ликбез сделаю
Итак, было дерево, а под ним Адам и Ева .... ТЬФУ ты! Не с того начал
Итак, была некая кучка логических элементов, изначально конечно был набор транзисторов
И некто зхадумался - а зачем кучка, если можно систематизировать?
С этого момента - пошёл отсчёт микроконтроллеров
Тебе вообще принцип работы мк от микрочип, или систему АРМ?
И рассказать - какое ядро и в каком месте выигрывает ?
Или ты просто забежал потрещать?