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'.