boot flash problem,
Hello, Jean-Denis Boyer, Thank u for ur advice, but i am afraid it is not of flash base address. Formerly i used a 16Mb flash of intel te28f160c3ba90, which works without any problem. Then i changed the flash to a bigger one, intel te28f320b3ba110. Both time, i set the base address 0xffe0, which means i can use a flash of 2M words here.As i use a 16-bit flash, it's okay for 28f320. Further more, i can erase, prog and verify the flash. So i think there is no problem with the setting of flash base address. As i had said, my board works okay with the flash of te28f160c3ba90. However, when i changed it to te28f320b3ba110,the ppc860t can not boot up. I checked the clock and found it's 25MHz (I used a 5MH clock in here and set the mf=5). I doubted that the boot program in flash didn't work at all. I traced the ppcboot with my bdi2000. It worked well with the bdi.I traced with single step and went with the break point. It's okay. I used the instruction "go" and there cames the familiar infomation of ppcboot in minicom. Then i checked the cs0 and bs0. I found bs0 kept low and there cames a periodic pulse ( a pure periodic signal) output on cs0. The frequency of the cs0 is about 670KHz,which kept high about 300ns and low about 1200ns.According to the user menu of mpc860: when booting us, the gpcm asserts cs0# for every address except internal register, and the 860 sets scy[0:3] and trlx 1, which means that ppc reads the memory within 32 clock cycles (32 *40ns =1200 ns).I suppose that after reset, ppc860 reads the flash but it can not get the entry of start.s. So it kept reading the flash. But how can this come? Since the program works okay when it in a 16MB flash and even in a 32MB flash (with the control of bdi). How can this happen? Is there something special need t! o attention at? I am now fully confused and hope u can give me any suggestion. Thanks in advance. = = = = = = = = = = = = = = = = = = = = Best regards. Li Xiangrong lixiangrong at china.com 2002-12-09 ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
boot flash problem,
> Both time, i set the base address 0xffe0, which > means i can use a flash of 2M words here. I don't think so. The 32-bits address bus of the PPC is still on a byte boundary, not on a word of 16 bits. A 16-bits flash means the GPCM reads 16 bits at a time from the data bus, and outputs addresses aligned on 16 bits. Then you wire PPC:A30 to Flash:A0, PPC:A29 to Flash:A1, and so on, leaving PPC:A31 unconnected. Here, both flashes you specified are 16-bits wide, so I understand the connections were compatible between the 16MBits and the 32MBits, with one more address line PPC:A10 wired to Flash:A20. If you have a flash of 32Mbits (4MBytes), even if it has a port size of 8, 16 or 32 bits wide, you will address it from your code (running on the PPC) using an address range of 4MBytes also. Thus, its base address should be at 0xFFC0, both in BDI and (very important) in the boot loader also. Good luck, Jean-Denis Boyer, B.Eng., Technical Leader Mediatrix Telecom Inc. 4229 Garlock Street Sherbrooke (Qu?bec) J1L 2C8 CANADA (819)829-8749 x241 ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
boot flash problem,
Hello, all, I meet a strange problem of boot flash and want some advice here. I have searched the archives but with no result. So bear with me if this is too silly question. I designed a mpc860T(D4, 50Mhz)board. I used the ppcboot 0.9.2 as bootloader and the hardhat linux pe 2.1(with the kernel of 2.4.17). My board has a 2MB flash(intel te28f160c3-90) as bootrom,and everything works okay. Now i want to use a larger flash(intel te28f320c3-110, which is pin-to-pin compatible to te28f160 ).I mounted the flash on the board, and prog the ppcboot (in elf format) with my bdi2000.The erasing and programming operation works with no error found.Then i restart the board without bdi', i find minicom has no response. I check the board and find that the cpu's clockout is 25Mhz(i use a 5M clock in, and mf=5). It seems that the ppcboot in flash has not work at all. I then check the board with my bdi2000. Everything works okay. I read the datasheet of intel 28f160/320 c3 carefully, and do not find anything special to be treated. Here is my seting of bdi and in ppcboot,any suggestion is appreciated. bdi configuration file: .. WM320xFF000100 0xFFE00801 ;BR0 WM320xFF000104 0xFFC00160 ;OR0 : 2MB, all accesses, CS early negate, 6ws, time relax .. ;unlock intel flash here WM16 0xFFe0 0x0060 ;unlock block 0 WM16 0xFFe0 0x00D0 WM16 0XFFE02000 0x0060 ;unlock block 0 WM16 0XFFE02000 0x00D0 WM16 0XFFE04000 0x0060 ;unlock block 0 WM16 0XFFE04000 0x00D0 WM16 0XFFE06000 0x0060 ;unlock block 0 WM16 0XFFE06000 0x00D0 WM16 0XFFE08000 0x0060 ;unlock block 0 WM16 0XFFE08000 0x00D0 WM16 0XFFE0a000 0x0060 ;unlock block 0 WM16 0XFFE0a000 0x00D0 WM16 0XFFE0c000 0x0060 ;unlock block 0 WM16 0XFFE0c000 0x00D0 WM16 0XFFE0e000 0x0060 ;unlock block 0 WM16 0XFFE0e000 0x00D0 WM16 0XFFE1 0x0060 ;unlock block 0 WM16 0XFFE1 0x00D0 WM16 0xFFe0 0x0060 ;unlock block 0 WM16 0xFFe0 0x00D0 WM16 0xFFe1 0x0060 ;unlock block 1 WM16 0xFFe1 0x00D0 WM16 0xFFe2 0x0060 ;unlock block 0 WM16 0xFFe2 0x00D0 WM16 0xFFe3 0x0060 ;unlock block 1 WM16 0xFFe3 0x00D0 .. [FLASH] CHIPTYPEI28BX16 ;Flash type (AM29F | AM29BX8 | AM29BX16 | I28BX8 | I28BX16|I28BX32) CHIPSIZE0x40 ;The size of one flash chip in bytes (e.g. AM29F010 = 0x2) BUSWIDTH16 ;The width of the flash memory bus in bits (8 | 16 | 32) configuration of ppcboot: #define CFG_REMAP_OR_AM 0xFFE0 /* OR addr mask */ #define CFG_PRELIM_OR_AM0xFFC0 /* OR addr mask */ #define CFG_OR_TIMING_FLASH (OR_BI | OR_SCY_6_CLK) #define CFG_OR0_REMAP (CFG_REMAP_OR_AM | CFG_OR_TIMING_FLASH) #define CFG_OR0_PRELIM (CFG_PRELIM_OR_AM | CFG_OR_TIMING_FLASH) /* 16 bit, bank valid */ #define CFG_BR0_PRELIM ((FLASH_BASE & BR_BA_MSK) | BR_PS_16 | BR_V ) i make modification only in my configuration file, shall i change settings in other files? Best regards. Li Xiangrong lixiangrong at china.com 2002-12-06 ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
boot flash problem,
> bdi configuration file: > .. > WM320xFF000100 0xFFE00801 ;BR0 > WM320xFF000104 0xFFC00160 ;OR0 : 2MB, all If you use a flash of 4MB, then move the base address from 0xFFE0 to 0xFFC0. Set the base address in BR0 to 0xFFC0, not 0xFFE0. Your BDI probably programmed the boot loader at the wrong place. Regards, Jean-Denis Boyer, B.Eng., Technical Leader Mediatrix Telecom Inc. 4229 Garlock Street Sherbrooke (Qu?bec) J1L 2C8 CANADA (819)829-8749 x241 ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/