2 Memory Usage for PIC16F
Program and data memory consumption for the diagnostic modules for PIC16F devices.
This memory usage is captured with the below toolchain versions and device:
- MPLAB X IDE: v6.20
- XC8 Compiler: v2.49
- Device: PIC16F18875
| No. | Module Name | Module Version | Configurations | Optimization Level
(-Os / -O0) | Program Memory (Bytes) | Data Memory (Bytes) |
|---|---|---|---|---|---|---|
| 1. | SW_CPU_REGISTER_RESET_STATE_CHECK_01 | 1.0.3 | N/A | -Os | 144 | 5 |
| -O0 | 203 | 7 | ||||
| 2. | SW_CPU_REGISTER_TEST_01 | 2.0.2 | N/A | -Os | 285 | 6 |
| -O0 | 410 | 8 | ||||
| 3. | SW_CPU_SELF_TEST_LIB_01 | 1.0.1 | All Subsets | -Os | 549 | 16 |
| All Subsets | -O0 | 664 | 21 | |||
| Subset 1 | -Os | 347 | 14 | |||
| Subset 1 | -O0 | 439 | 19 | |||
| Subset 2 | -Os | 204 | 10 | |||
| Subset 2 | -O0 | 255 | 15 | |||
| Subset 3 | -Os | 248 | 10 | |||
| Subset 3 | -O0 | 302 | 15 | |||
| 4. | SW_FLASH_MEMORY_CHECKSUM_CRC_TEST_01 | 2.0.2 | CRC16 Direct | -Os | 870 | 112 |
| CRC16 Direct | -O0 | 1118 | 114 | |||
| CRC16 Lookup | -Os | 1377 | 112 | |||
| CRC16 Lookup | -O0 | 1620 | 114 | |||
| CRC32 Direct | -Os | 1013 | 116 | |||
| CRC32 Direct | -O0 | 1309 | 120 | |||
| CRC32 Lookup | -Os | 2014 | 116 | |||
| CRC32 Lookup | -O0 | 2293 | 120 | |||
| 5. | SW_EEPROM_MEMORY_CHECKSUM_CRC_TEST_01 | 2.0.1 | CRC16 Direct | -Os | 564 | 37 |
| CRC16 Direct | -O0 | 716 | 39 | |||
| CRC16 Lookup | -Os | 1068 | 43 | |||
| CRC16 Lookup | -O0 | 1213 | 45 | |||
| CRC32 Direct | -Os | 733 | 57 | |||
| CRC32 Direct | -O0 | 978 | 59 | |||
| CRC32 Lookup | -Os | 1742 | 60 | |||
| CRC32 Lookup | -O0 | 1967 | 60 | |||
| 6. | SW_SRAM_MARCH_TEST_01 | 3.0.2 | N/A | -Os | 867 | 117 |
| -O0 | 1 N/A | 1 N/A | ||||
| 7. | SW_WATCHDOG_SIMPLE_TIMER_STARTUP_TEST_01 | 2.1.0 | N/A | -Os | 240 | 11 |
| -O0 | 312 | 14 | ||||
| 8. | SW_WATCHDOG_WINDOWED_TIMER_STARTUP_TEST_01 | 2.0.1 | N/A | -Os | 339 | 15 |
| -O0 | 489 | 19 | ||||
| 9. | SW_CLOCK_PERIODIC_MONITOR_01 | 2.1.0 | N/A | -Os | 588 | 68 |
| -O0 | 756 | 71 | ||||
| 10. | SW_CLOCK_PERIODIC_MONITOR_02 | 2.0.1 | N/A | -Os | 579 | 112 |
| -O0 | 813 | 120 | ||||
| 11. | SW_INTERRUPT_FREQUENCY_TEST_01 | 2.0.1 | N/A | -Os | 564 | 55 |
| -O0 | 771 | 59 |
Note: The values in the above table also include the memory consumption for the dependent peripheral drivers and system modules necessary for the expected functionality of each diagnostic module.
- SW_SRAM_MARCH_TEST_01 requires the compiler optimization level set to 's'.
