This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

A interesting BUG: enable nand will cause printf() crash. (DM355)

yesterday i use uboot 1.3.4, and found printf() crash.

i think it's a reason of GCC, so i port to uboot1.1.6.

when not using nand, it operate everything OK.

but when i add nand driver, it will run to nand_scan()->

 

if (busw != (this->options & NAND_BUSWIDTH_16)) {

printk (KERN_INFO "NAND device: Manufacturer ID:"

" 0x%02x, Chip ID: 0x%02x (%s %s)\n", nand_maf_id, nand_dev_id,

nand_manuf_ids[i].name , mtd->name);

printk (KERN_WARNING

"NAND bus width %d instead %d bit\n",

(this->options & NAND_BUSWIDTH_16) ? 16 : 8,

busw ? 16 : 8);

this->select_chip(mtd, -1);

return 1;

}

and printk crash, the same phenomenon as uboot1.3.4.

I try to disable nand controller,and the result remain the same.

So ,anyone can tell me where is the BUG on DM355? Or I haven't set the right register?