2008-05-07 20:15:31     U-boot Upgrade Testing with go

Document created by Aaronwu Employee on Sep 18, 2013
Version 1Show Document
  • View in full screen mode

2008-05-07 20:15:31     U-boot Upgrade Testing with go

Kris Dickie (CANADA)

Message: 55617   

 

I have a u-boot image loaded onto a custom BF548 board. The image is in SPI flash and gets there via JTAG. The u-boot works fine, but I load everything into L2 memory because I am trying to debug mDDR (which I think should work now), as I got a new rev of the 547 which seems to solve the mDDR anomaly (ie. mtest passes where it would spit out thousands of errors before).

 

Anyhow, I created a u-boot that will relocate into DDR rather than L2, so I kermit the file (u-boot.bin) into address 0x01000000, and running md.b shows everything went well at this address and beyond. When I run go 0x1000000, i would expect my newly uploaded u-boot to run, however, it right away seems to run the one from flash (or L2), as it starts with SBLACKFIN>... etc (and shows timestamp of the older in-flash version), and then continues as normal, kind of like a reset were performed. I would expect the code at start.S to run first, but that doesn't seem to be even close.

 

I double checked the memory map of my new u-boot and it looks good (ie. everything mapped to DDR), and I have put the boot mode to BYPASS, so it doesn't try anything funny (i have also tried boot mode IDLE as well as MEM), and I get the above results, any ideas?

 

Also, I flashed a version of u-boot running with the DDR relocation addresses, and it doesn't make it very far past initcode() right now, in any case I just want to test out with 'go' first.

QuoteReplyEditDelete

 

 

2008-05-08 00:34:25     Re: U-boot Upgrade Testing with go

Mike Frysinger (UNITED STATES)

Message: 55621   

 

if it seems to go right to flash, then it most likely is hitting a double fault and just resetting the cpu ... make sure you have CONFIG_PANIC_HANG defined in your board config

QuoteReplyEditDelete

 

 

2008-05-21 13:41:01     Re: U-boot Upgrade Testing with go

Kris Dickie (CANADA)

Message: 56096   

 

Seems like this is the case, hangup will occur upon executing the address provided to 'go'. Is there a register that needs to be programmed in order to execute an instruction out of external memory? I am stuck here running uboot out of L2, however I can place malloc, data, and stack sections in DDR without a problem.

QuoteReplyEditDelete

 

 

2008-05-21 14:05:50     Re: U-boot Upgrade Testing with go

Mike Frysinger (UNITED STATES)

Message: 56098   

 

not really ... you should be able to jump to any random location in memory without a problem (beyond the obvious memory regions which the Blackfin may not execute)

 

you could test by setting an address in external memory with a "ret" instruction and doing a go on that

Attachments

    Outcomes