перейти к навгации

PIC32 Что у нас получается

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

Контроллер очень и очень мощный по сравнению со старыми знакомыми из серии PIC16ххх, время выполнения некоторых программных модулей уменьшилось аж на порядки. Там где на PIC16xxx приходилось делать по две-четыре проверки и вычисления больших (более 8 бит) чисел (например — адресные указатели), в новом контроллере все делается за 1 команду, которая часто выполняется за 1 такт на 80 мегагерцах! Причем все переменные вполне умещаются в быстрых регистрах, что тоже делает возможным делать с ними все, что может АЛУ.

Изучение языка Си оказалось не сложным и интересным занятием. Главное иметь цель. Полезно иногда просматривать написанную на Си программу в ассемблерном виде — это дает уверенность, что Си хотя и более высокого уровня язык, а все же кодит очень разумно. Я, как конченный ассемблерщик, после изучения этих листингов даже проникся неким чувством уважения к языку Си. Могу сказать, что работая сейчас над очень сложным проектом в плане таймингов (контроль фронтов импульсов на ножках до десятка наносекунд) пришел к выводу — PIC32 вполне может справиться с поставленными задачами если писать на Си. Но без ассемблерных вставок все-же не обошлось. Они выполняют роль рутинных битовых переключателей и проверки условий. Над этим я еще работаю, но, думаю, то что Си примерно делал за 35-40 микросекунд (а это уже много), оптимизированная рутина на ассемблере сделает за 10-15 микросекунд, что уже вполне приемлемо.

(продолжение следует)

Комментарии

комментариев нет - будете первым?