4.6 The PIC16 port

Next: 4.6.1 Global Options Up: 4. Notes on supported Previous: 4.5.8 Known Bugs Contents Index

#
4.6 The PIC16 port

The PIC16 port adds support for Microchip PIC MCUs with 16 bit wide instructions. Currently this family of microcontrollers contains the PIC18Fxxx and PIC18Fxxxx; devices supported by the port include:

18F: 242, 248, 252, 258, 442, 448, 452, 458

18F: 1220, 1320

18F: 2220, 2221, 2320, 2321, 2331, 23k20

18F: 2410, 2420, 2423, 2431, 2450, 2455, 2480, 24j10, 24k20

18F: 2510, 2515, 2520, 2523, 2525, 2550, 2580, 2585, 25j10, 25k20

18F: 2610, 2620, 2680, 2682, 2685

18F: 4220, 4221, 4320, 4321, 4331, 43k20

18F: 4410, 4420, 4423, 4431, 4450, 4455, 4480, 44j10, 44k20

18F: 4510, 4515, 4520, 4523, 4525, 4550, 4580, 4585, 45j10, 45k20

18F: 4610, 4620, 4680, 4682, 4685, 46k20

18F: 6520, 6585, 65j50, 6620, 6680, 66j50, 66j55, 66j60, 66j65, 6720, 67j50, 67j60

18F: 8520, 8585, 85j50, 8620, 8680, 86j50, 86j55, 86j60, 86j65, 8720, 87j50, 87j60

18F: 96j60, 96j65, 97j60

An up-to-date list of supported devices is also available via '`sdcc -mpic16 -plist`'.

Subsections

- 4.6.1 Global Options
- 4.6.2 Port Specific Options
  - 4.6.2.1 Code Generation Options
  - 4.6.2.2 Optimization Options
  - 4.6.2.3 Assembling Options
  - 4.6.2.4 Linking Options
  - 4.6.2.5 Debugging Options
- 4.6.3 Environment Variables
- 4.6.4 Preprocessor Macros
- 4.6.5 Directories
- 4.6.6 Pragmas
- 4.6.7 Header Files
- 4.6.8 Libraries
  - Building the libraries
  - Output of float values via printf()
- 4.6.9 Adding New Devices to the Port
- 4.6.10 Memory Models
- 4.6.11 Stack
- 4.6.12 Functions
- 4.6.13 Function return values
- 4.6.14 Interrupts
- 4.6.15 Generic Pointers
- 4.6.16 PIC16 C Libraries
  - 4.6.16.1 Standard I/O Streams
  - 4.6.16.2 Printing functions
  - 4.6.16.3 Signals
- 4.6.17 PIC16 Port - Tips
  - 4.6.17.1 Stack size
- 4.6.18 Known Bugs
  - 4.6.18.1 Extended Instruction Set
  - 4.6.18.2 Regression Tests

Next: 4.6.1 Global Options Up: 4. Notes on supported Previous: 4.5.8 Known Bugs Contents Index