hi community
in my custom board i have spansion flash (29gl064h).
my idea is load u-boot.imx in flash and boot from flash, for this i am doing following steps
1. from u-boot i erased flash
2.u-boot.imx is loaded in to 0x12000000 address in ddr
3.cp.w 0x12000000 0x08001000 0x30600 (my u-boot.imx size is 0x60c00 bytes and i converted to words which is 0x60c00/2=0x30600)
than i am booting from standalone after resetting the processor
but it's not booting i mean prompt is not coming on hyper terminal
the same u-boot code is running from ARM-DS5 debugger (where i downloaded u-boot code into flash)
from reference manual i found that IVT offset is 0x1000 and my nor flash is on CS0 at 0x08000000 address.
after loading u-boot.imx into flash my Debugger JTAG is Not connecting (it is giving unable to stop running target error)
what could be the problem ?
plz give yous suggestions in this regard
thanks in advance
Saida
Solved! Go to Solution.
Hi saida
only boot options is 16 bits as describes 8.5.1.
One can also try with sdk script, I would highly recommend to check
with oscilloscope data on nor flash pins. At least you should see and check
ivt header data. ivt header should be placed on 0x08001000.
Btw had you implemented "Bus isolation circuit" as described in
sect2.3 Bus isolation circuit i.MX6 System Development User’s Guide (rev.1, 6/2013) ?
http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf
After nor boot fails, processor should go to Serial Downloader, one can detect
it connecting usb cable and running mfg tools.
For connection with jtag one can set BOOT_CFG4[7]=1 (enter infinite loop) then try to
connect with jtag. Then check registers SRC_SBMR1,2 they should have
correct boot settings for parallel nor. One can debug it further using post
below (Tim Harvey 30.05.2013 18:26)
https://community.freescale.com/message/332928#332928
Best regards
igor
HI saida
one can check pinmux boot settings, please refer to
Table 8-10. EIM IOMUX Pin Configuration i.MX6SDL Reference Manual (rev.2 5/2015),
check nor lines with oscilloscope.
Also, had you tried u-boot.imx to boot from other device, for example SD ?
Reason is that for custom board u-boot.imx should be rebuilt, changes should be
done in mx6dl_4x_mt41j128.cfg (ddr settings found from ddr test) and
uboot../configs/mx6qsabreauto.h - tweak ddr size, also pay attention to:
/*Since the pin conflicts on EIM D18, disable the USB host if the NOR flash is enabled */
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
HI igorpadykov
i can assume from your reply that the procedure what i am doing is correct to load into norflash.
1. From Table 8-9 (8.5.1) page no 398, i configured internal boot mode, nor flash on EIM bus and norflash is notmuxed on lower half data bus.
2. i have Sabresd Dual Lite development board and u-boot is rebuild (u-boot-2015-01) and using dd command i loaded into SD card from that u-boot is running on Sabresd board but my custom board don't have sdcard.
3. From ARM-DS5 also i loaded u-boot(used for to load symbols) and u-boot.bin files into DDR and u-boot is working. here i used DDR Script file through debugger which is from SDK source code tools directory.
4.EIM pads for lower half i checked in debugger memory view from IOMUX registers 0x020e0054 to 8c and 0x020e0098.
5.i am building u-boot for mx6sabresd.h board only because the DDR which i have is same with Sabresd board.
6. i am expecting that whether DDR is initialized or not ?
7. where this DCD script is in u-boot.
8. why my debugger is not connecting to target after nor flash written and trying to boot from it ?
Regrds
Saida
Hi saida
though, as you said "board only because the DDR which i have is same with Sabresd board",
it does not guarantee that ddr settings for Sabresd board will work good on your board.
Please run DDR test:
https://community.freescale.com/docs/DOC-96412
new ddr settings found from ddr test should be entered to mx6dl_4x_mt41j128.cfg
and uboot should be rebuilt.
>why my debugger is not connecting to target after nor flash written and trying to boot from it
because processor entered unrecoverable state after executing wrong command.
Best regards
igor
Hi igorpadykov
thanks for your quick reply
1. from your last post i will try to modify mx6q_4x_mf41j128.cfg and mxdlsabresd.cfg file with "nor" instead of "sd" than i will come to back.
2. can i do like this, taking copy of data from this script "MX6DL_SabreSD_DDR3_v1.6" from SDK/tools directory which is working with my custom board with ARM-DS5 debugger and modify mx6q_4x_mf41j128.cfg and mx6dlsabresd.cfg files with above data than build u-boot and flash it.?
3. after doing this where should i write data into flash whether it is at location 0x08000000 or 0x08001000 which is IVT offset.?
4. from reference manual i found that flash can be boot at 32bit bus but from 8.5.1 it is not there, how can i boot from 32 bit bus ?
this is my last step to up my board if it boots from flash my custom board is up (hopefully) and i really thanks to i.mx6 community people for their help and specifically you (igorpadykov) for consistent and quick response.
Regards
Saida
Hi saida
only boot options is 16 bits as describes 8.5.1.
One can also try with sdk script, I would highly recommend to check
with oscilloscope data on nor flash pins. At least you should see and check
ivt header data. ivt header should be placed on 0x08001000.
Btw had you implemented "Bus isolation circuit" as described in
sect2.3 Bus isolation circuit i.MX6 System Development User’s Guide (rev.1, 6/2013) ?
http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf
After nor boot fails, processor should go to Serial Downloader, one can detect
it connecting usb cable and running mfg tools.
For connection with jtag one can set BOOT_CFG4[7]=1 (enter infinite loop) then try to
connect with jtag. Then check registers SRC_SBMR1,2 they should have
correct boot settings for parallel nor. One can debug it further using post
below (Tim Harvey 30.05.2013 18:26)
https://community.freescale.com/message/332928#332928
Best regards
igor
hi igorpadykov
Finally it's booting from NOR Flash thank you for your support.
1. i made changes to ddr and mx6sabresd configuration files with respect to my ddr script file than it is working.
2. i changed sd to nor in cfg files.
thanks and regards
saida