Имеется проблема с работой загрузчика U-Boot (проверялась на трех последних финальных релизах). Архитектура - Microblaze, хотя в данном случае это не принципиально.
Все переменные описанные в конфиге загрузчика не хотят добавляться в Hash-таблицу для последующего хранения и работы с ними.
Когда их добавляешь повторно - ошибка все та же.
Для улучшения и удобства отладки отключено все ненужное.
Лог запуска с включенной отладкой:
Код
SDRAM :
Icache:ON
Dcache:ON
U-Boot Start:0x43000000
Using default environment
Destroy Hash Table: 430234e8 table = 00000000
Create Hash Table: N=72
DELETE CANDIDATE: "bootcmd"
hdelete: DELETE key "bootcmd"
DELETE ERROR ##############################
himport_r: can't insert "bootdelay=4" into hash table
INSERT: table 430234e8, filled 0/73 rv 00000000 ==> name="bootdelay" value="4"
himport_r: can't insert "baudrate=115200" into hash table
INSERT: table 430234e8, filled 0/73 rv 00000000 ==> name="baudrate" value="115200"
himport_r: can't insert "hostname=microblaze-generic" into hash table
INSERT: table 430234e8, filled 0/73 rv 00000000 ==> name="hostname" value="microblaze-generic"
INSERT: free(data = 43f10030)
INSERT: done
In: serial
Out: serial
Err: serial
Initial value for argc=3
Final value for argc=3
## Error inserting "stdin" variable, errno=12
Initial value for argc=3
Final value for argc=3
## Error inserting "stdout" variable, errno=12
Initial value for argc=3
Final value for argc=3
## Error inserting "stderr" variable, errno=12
### main_loop entered: bootdelay=4
### main_loop: bootcmd="<UNDEFINED>"
U-Boot>
Icache:ON
Dcache:ON
U-Boot Start:0x43000000
Using default environment
Destroy Hash Table: 430234e8 table = 00000000
Create Hash Table: N=72
DELETE CANDIDATE: "bootcmd"
hdelete: DELETE key "bootcmd"
DELETE ERROR ##############################
himport_r: can't insert "bootdelay=4" into hash table
INSERT: table 430234e8, filled 0/73 rv 00000000 ==> name="bootdelay" value="4"
himport_r: can't insert "baudrate=115200" into hash table
INSERT: table 430234e8, filled 0/73 rv 00000000 ==> name="baudrate" value="115200"
himport_r: can't insert "hostname=microblaze-generic" into hash table
INSERT: table 430234e8, filled 0/73 rv 00000000 ==> name="hostname" value="microblaze-generic"
INSERT: free(data = 43f10030)
INSERT: done
In: serial
Out: serial
Err: serial
Initial value for argc=3
Final value for argc=3
## Error inserting "stdin" variable, errno=12
Initial value for argc=3
Final value for argc=3
## Error inserting "stdout" variable, errno=12
Initial value for argc=3
Final value for argc=3
## Error inserting "stderr" variable, errno=12
### main_loop entered: bootdelay=4
### main_loop: bootcmd="<UNDEFINED>"
U-Boot>
Часть конфига с расположением переменных:
Код
#define RAMENV
#define CONFIG_SYS_NO_FLASH 1
#define CONFIG_ENV_IS_NOWHERE 1
#undef CONFIG_ENV_IS_IN_FLASH
#undef CONFIG_ENV_IS_IN_SPI_FLASH
#define CONFIG_ENV_SIZE 0x1000
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
#define CONFIG_SYS_NO_FLASH 1
#define CONFIG_ENV_IS_NOWHERE 1
#undef CONFIG_ENV_IS_IN_FLASH
#undef CONFIG_ENV_IS_IN_SPI_FLASH
#define CONFIG_ENV_SIZE 0x1000
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
Раньше работал со множеством плат и архитектур с U-Boot - ни разу ничего подобного не возникало.
Сталкивался ли кто нибудь с таким или есть какие либо предположения с чем такое может быть связано ?
Заранее благодарен за любой совет!