Il faut décommenter la macro CFG_NO_FLASH
dans le fichier de configuration pour que U-Boot gère la mémoire Flash. Ensuite, il faut enlever la désactivation des commandes Flash dans la macro CONFIG_COMMANDS
et préciser la configuration de cette dernière :
//#define CFG_NO_FLASH [...] #define CONFIG_COMMANDS (CONFIG_CMD_DFL & CFG_CMD_SETGETDCR) [...] #define CFG_FLASH_BASE 0x21000000 #define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ #define CFG_MAX_FLASH_SECT 256 /* max number of sectors on one chip */ #define CFG_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (ms) */ #define CFG_FLASH_WRITE_TOUT 600 /* Timeout for Flash Write (ms) */
La carte ML300 utilisant une EEPROM comme mémoire persistante, il faut récupérer le pilote Flash d'un autre portage :
bash# cp board/ml2/flash.c board/xilinx/ml300/
On doit ensuite modifier le fichier board/xilinx/ml300/Makefile
pour compiler ce pilote :
OBJS = $(BOARD).o \ + flash.o \ serial.o \
Il ne reste plus qu'à effectuer de menus changements dans le fichier board/xilinx/ml300/flash.c
:
- #include <configs/ML2.h> + #include <configs/ml300.h>
Il ne faut pas oublier de préciser la taille de la mémoire Flash, ainsi que la taille d'un secteur :
#define FLASH_BANK_SIZE (64*1024*1024) [...] #define SECT_SIZE (512*1024)
Précisons toutefois que ce pilote n'a pas été testé de manière soutenue.