Hi, everyone I have a AMCC PowerPC 405EX based board. The u-boot version is U-Boot 1.3.2-RELEASE_11. It works fine until we have to change the NOR-Flash chip from JS28F128P33B85 to JS28F128P33BF70 since the JS28F128P33B85 is obsolete. I checked the datasheet of these two flash chips, they all support CFI and we enabled CFI in u-boot. The different is the write buffer size: the old one has 32 bytes and the new one has 256 bytes. I tracked into the u-boot with BDI3000. The code fly away in the function i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE), which is called in init_func_i2c:
static int init_func_i2c (void) { puts ("I2C: "); i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE); puts ("ready\n"); return (0); } In debug console: I actually see the out put I2C: . The codes fly away inside i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE); and never come back to put("ready\n"); Another interesting thing is when I am in function init_func_i2c, I used bt full in GDB to check the stack. I get the following: (gdb) bt full #0 <signal handler called> No locals. #1 0x00000000 in ?? () No symbol table info available. #2 0x00000000 in ?? () No symbol table info available. Previous frame inner to this frame (corrupt stack?) Does this mean the stack is corrupted? There should have a stack already in this moment, right? Does anyone has any idea which direction I should go? Thanks a lot, Raymond
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot