Jak już kiedyś wspominałem, od jakiegoś czasu planuję się bliżej przyjrzeć procesorom STM32. Ostatnio jednak stwierdziłem, że zanim się za to zabiorę, rzucę okiem na PIC-i. Generalnie jakiś czas temu, przy okazji innego zamówienia kupiłem sobie jedną czy dwie sztuki PIC18F67J60 (MCU ze zintegrowanym kontrolerem Ethernetu, będącym odpowiednikiem ENC28J60). Jakiś programator też leży u mnie w szufladzie:
Przeczytałem już kilka tutoriali, rzuciłem okiem na notę katalogową i zaczynam rozumieć specyfikę tego układu. No cóż, wydajność w MIPS-ach mniejsza niż w AVR-ach a do tego są rzeczy, na które trzeba uważać (nie wszystkie piny mają sprzętowego pull-upa, nie wszystkie mają jednakową wydajność prądową. Są jednak i pewne zalety (możliwość pracy na niskim napięciu z maksymalną prędkością, wbudowany Ethernet).
Pewnie sklecę sobie płytkę na tym układzie pod kątem jakiegoś projektu.
Mam jednak kilka pytań na początek:
1) Jak to jest z tymi toolchainami? Jest kilka różnych kompilatorów, które mogą współpracować z MPLAB. Są między nimi jakieś istotne różnice, np. w składni języka C? A jeśli tak, to które rozwiązanie jest najbardziej "standardowe"? 2) Jest jakiś odpowiednik biblioteki pgmspace z AVR-ów, pozwalającej na umieszczanie danych w pamięci programu? Jakie polecenia odpowiadają np. PROGMEM albo PSTR("tekst")? 3) Ograniczenia dotyczące stopnia optymalizacji kodu w darmowych wersjach kompilatorów mają jakieś znaczenie w praktyce, czy nie trzeba się tym przejmować?