Salut à tous
Petite question concernant le fichier HardwareProfile.h qui permet de configurer la stack pour s'accorder au matériel utilisé. Je n'ai pu trouvé l'info nul part, ni dans le fichier d'aide *.chm, ni dans le forum de crochip.
A quoi correspondent ces définitions, comment savoir quelle valeur leur associer
Pour la première (GFX_GCLK_DIVIDER), pas de problème je trouve ça dans la datasheet du LCD ainsi que dans celle du MCU/*
* Set the Graphics Clock Divider that generates the Pixel clock. Refer to
* display data sheet for pixel clock frequency requirement and Family
* Reference Manual - Oscillator for details on GCLK divider (GCLKDIV).
*/
#define GFX_GCLK_DIVIDER 61
/*
* Set the display buffer start address
*/
#define GFX_DISPLAY_BUFFER_START_ADDRE SS 0x00020000ul
#define GFX_DISPLAY_BUFFER_LENGTH 0x00025800ul
#define GFX_WORK_AREA1_START_ADDRESS 0x00020000ul
#define GFX_WORK_AREA2_START_ADDRESS 0x00020000ul
/*
* Set the EPMP CS1 base address if using external memory on EPMP CS 1 space
*/
#define GFX_EPMP_CS1_BASE_ADDRESS 0x00020000ul
#define GFX_EPMP_CS1_MEMORY_SIZE 0x00040000ul
Par contre pour les autres je n'ai aucune idée de à quoi elles correspondent.
Lorsque je regarde le schéma de la devboard on trouve:
- une mémoire flash série de 2Mo, sélectionnée par CS2
- une mémoire RAM parallèle de 512Ko, sélectionnée par CS1.
Ces définitions semblent servir pour la description de la RAM, hors lorsqu'on regarde de plus près le schéma, seuls les 128 premier ko (adresses 0x00000 à 0x1FFFF, pour une taille de 0x20000 octets) de la RAM sont utilisés (bits d'adresse A0 à A16, A17 et A18 étant reliés à 0 par une pull down)
Du coup je ne comprends pas pourquoi l'adresse de base est fixée à 0x20000 (GFX_DISPLAY_BUFFER_START_ADDR ESS / GFX_WORK_AREA1_START_ADDRESS / GFX_WORK_AREA2_START_ADDRESS) ce qui semble être mappé hors de la RAM puisque son adresse s'arrete à 0x1FFFF ???
Idem pour la taille, fixée à 0x40000 (soit 256ko => GFX_EPMP_CS1_MEMORY_SIZE) alors que seuls les 128ko sont adressables...
Et concernant la taille du buffer d'affichage (GFX_DISPLAY_BUFFER_LENGTH) 0x25800 (soit 150ko), la valeur est sortie du chapeau?
Soit j'ai vraiment pas saisi la logique du truc, ce qui est fort possible, soit il manque quelques explications, si certains les ont?
Merci d'avance
Datasheet de la devboard (le schéma est à la fin): http://ww1.microchip.com/downloads/e...Doc/51911A.pdf (le fichier est trop gros pour être mis en pièce jointe)
-----