New Limited 12-bit Core Support
PicBasic Pro version 2.40 adds limited support for all the
12-bit core PICmicro microcontrollers. The reason the support
is limited is that the resources on the 12-bit core devices are
very limited. Some of these limits include only a two-level hardware
stack and very small amounts of general purpose RAM memory. The
code page size is also small at 512 bytes. There is also a limitation
that calls and computed jumps can only be made to the first half
(256 words) of any code page. These limitations have made it
necessary to eliminate some compiler commands and modify the
operation of some others.
While many useful programs can be written for the 12-bit core
PICmicro MCUs using the PicBasic Pro Compiler, some applications
will not be suited for these devices. Choosing a 14- or 16-bit
core device with more resources will, in many cases, be the best
solution.
Commands that are not supported for the 12-bit core PICmicro
MCUs:
Command |
Reason |
Adcin |
No internal ADCs |
Data |
No on-chip EEPROM |
Dtmfout |
Not enough RAM or stack |
Eeprom |
No on-chip EEPROM |
Freqout |
Not enough RAM or stack |
Hpwm |
No hardware PWM |
Hserin |
No hardware serial port |
Hserout |
No hardware serial port |
On Interrupt |
No Interrupts |
Read |
No on-chip EEPROM |
Readcode |
No flash devices |
Resume |
No Interrupts |
Serin2 |
Not enough RAM or stack |
Serout2 |
Not enough RAM or stack |
USBIn |
No USB devices |
USBInit |
No USB devices |
USBOut |
No USB devices |
Write |
No on-chip EEPROM |
Writecode |
No flash devices |
Xin |
Not enough RAM or stack |
Xout |
Not enough RAM or stack |
Trying to use these commands with 12-bit core devices will
result in numerous errors. If you must use one of these commands,
choose a 14- or 16-bit core device with more resources.
Commands that have had their operation modified are:
- Debug, Debugin - The Serin2 and Serout2 modifiers are not
supported for these commands because of memory and stack size
limits.
- Lcdout - The Serout2 modifiers are not supported for this
command because of memory and stack size limits.
- OWIn, OWOut - The Rep, Skip and Str modifiers are not supported
for these commands because of memory and stack size limits.
- Serout - The open drain modes are not available due to TRIS
register constraints.
|
|