Im Prinzip gibts zwei Möglichkeiten:
1. Webseiten ins interne Flash des PICs laden. Das muss bereits zur
Compilezeit passieren, und die Seiten sind dann nicht mehr änderbar.
Vorteil: kein extra Baustein erforderlich
2. Webseiten in ein externes SPI-Flash laden. Das kann nicht zur
Compilezeit geschehen, sondern ist ein extra Arbeitsschritt.
Vorteil: Webseiten getrennt aktualisierbar, mehr Speicher im internen
Flash frei für Code
Es scheint, als wäre Dein PIC auf 2. konfiguriert. Die Konfiguration
geschieht über #defines in TCPconfig.h:
1 | /* MPFS Storage Location
|
2 | * If html pages are stored in internal program memory,
|
3 | * comment both MPFS_USE_EEPROM and MPFS_USE_SPI_FLASH, then
|
4 | * include an MPFS image (.c or .s file) in the project.
|
5 | * If html pages are stored in external memory, uncomment the
|
6 | * appropriate definition.
|
7 | *
|
8 | * Supported serial flash parts include the SST25VFxxxB series.
|
9 | */
|
10 | #define MPFS_USE_EEPROM
|
11 | //#define MPFS_USE_SPI_FLASH
|
12 |
|
13 | /* EEPROM Addressing Selection
|
14 | * If using the 1Mbit EEPROM, uncomment this line
|
15 | */
|
16 | //#define USE_EEPROM_25LC1024
|
Wo das EEPROM angeschlossen ist, wird in HardwareProfile.h definiert:
1 | // 25LC256 I/O pins
|
2 | #define EEPROM_CS_TRIS (TRISDbits.TRISD7)
|
3 | #define EEPROM_CS_IO (LATDbits.LATD7)
|
4 | #define EEPROM_SCK_TRIS (TRISCbits.TRISC3)
|
5 | #define EEPROM_SDI_TRIS (TRISCbits.TRISC4)
|
6 | #define EEPROM_SDO_TRIS (TRISCbits.TRISC5)
|
7 | #define EEPROM_SPI_IF (PIR1bits.SSP1IF)
|
8 | #define EEPROM_SSPBUF (SSP1BUF)
|
9 | #define EEPROM_SPICON1 (SSP1CON1)
|
10 | #define EEPROM_SPICON1bits (SSP1CON1bits)
|
11 | #define EEPROM_SPICON2 (SSP1CON2)
|
12 | #define EEPROM_SPISTAT (SSP1STAT)
|
13 | #define EEPROM_SPISTATbits (SSP1STATbits)
|
Im Docs-Verzeichnis der Microchip Application Libraries gibts die
Dokumentation zum Stack. Die darfst Du lesen.
fchk