13 个解决方案
#1
拿仿真器跟踪一下吧
#2
jtag调试, 搞个仿真器.
#3
没有仿真器啊,还有什么方式能判断uboot是否已经启动了呢?
#4
你尝试把你手工加的printf输出语句去掉试试, 我的经验是, printf必段在串口和consol初始化之后才能用,printf输出长度为256, 否则导到死机的情况.
#5
我在uboot start.s 开始时进行通过gpio进行点灯,发现灯没有亮,现在基本上已经确定uboot是没有起来,cpu一上电没有找到uboot所以才导致的失败,应该是我的开发板的问题,但是rt3052文档说是支持从nand flash启动的,所以我现在应该怎样去做呢?
#6
应该确认一下你的程序已经烧录到nand flash中。
从nor flash还是从nand flash中启动,如果IC支持的话,一般只是内存映射地址不同,按道理是可以起来的。
从nor flash还是从nand flash中启动,如果IC支持的话,一般只是内存映射地址不同,按道理是可以起来的。
#7
我已经确定bootloader烧到nand flash从0地址处了,文档上说是支持从nand 启动的,我更改了开发板的启动方式,可是就是起不来。
从nand启动时cpu boot地址是0xbf000000,文档上说是把nand flash的前4k映射到内部的4k ram上。
下面是文档的一些说明:
MA14 boot_addr 0:cpu boots address at 0xbfc00000(default)
1:cpu boots address at 0xbf000000 我的板子设置为1.
{MA9,MA8} boot_from 2'b00:boot from external 16-bit flash(default)
2'b01:boot from external 8-bit flash
2'b10:boot from external nand flash
2'b11:boot from internal ROM 我的板子设置为10.
下面是我的memory map表
0000.0000 ‐ 03FF.FFFF 64M SDRAM
0400.0000 ‐ 0FFF.FFFF <<Reserved>>
1000.0000 ‐ 1000.00FF 256 SYSCTL
1000.0100 ‐ 1000.01FF 256 TIMER
1000.0200 ‐ 1000.02FF 256 INTCTL
1000.0300 ‐ 1000.03FF 256 MEM_CTRL (SDRAM & Flash/SRAM)
1000.0400 ‐ 1000.04FF 256 PCM
1000.0500 ‐ 1000.05FF 256 UART
1000.0600 ‐ 1000.06FF 256 PIO
1000.0700 ‐ 1000.07FF 256 Generic DMA
1000.0800 ‐ 1000.08FF 256 NAND Flash Controller
1000.0900 ‐ 1000.09FF 256 I2C
1000.0A00 ‐ 1000.0AFF 256 I2S
1000.0B00 ‐ 1000.0BFF 256 SPI
1000.0C00 ‐ 1000.0CFF 256 UARTLITE
1000.0D00 ‐ 100F.FFFF <<Reserved>>
1010.0000 ‐ 1010.FFFF 64K Frame Engine
1011.0000 ‐ 1011.7FFF 32K Ethernet Switch
1011.8000 1011.9FFF 8K ROM
1011_a000 1011_FFFF <<Reserved>>
1012.0000 ‐ 1012.7FFF 32K <<Reserved>>
1012.8000 1012.FFFF 32K <<Reserved>>
1013.0000 ‐ 1013.7FFF 32K <<Reserved>>
1013.8000 ‐ 1013.FFFF 32K <<Reserved>>
1014.0000 ‐ 1017.FFFF 256K <<Reserved>>
1018.0000 ‐ 101B.FFFF 256K 802.11n MAC/BBP
101C.0000 ‐ 101F.FFFF 256K USB OTG
1020.0000 ‐ 1AFF.FFFF <<Reserved>>
1B00.0000 ‐ 1BFF.FFFF 16MB External SRAM/Flash
1C00.0000 ‐ 1EFF.FFFF <<Reserved>>
1F00.0000 ‐ 1FFF.FFFF:16MB(flash)or4KB(ram)or8KB(rom)
When BOOT_FROM = 2’b00,
up‐to 16MB external 16‐bit flash is mapped.
When BOOT_FROM = 2’b01,
up‐to 8MB external 8‐bit flash is mapped.
When BOOT_FROM = 2’b10,
4KB internal boot RAM is mapped for boot from NAND application.
When BOOT_FROM = 2’b11,
8KB internal boot ROM is mapped for iNICapplication.
下面是它的说明:
Note :
When boot from NAND option is enabled (set boot strapping signal: BOOT_FROM = 2’b10), the accessing to theexternal flash will be remapped to the internal 4KB boot SRAM located in USB OTG (0x101E_0000 – 0x101E_3FFF).Accesses to original flash memory region outside of the 4KB boot SRAM are invalid in this boot from NAND mode.The 4KB SRAM is also accessible from 0x101E_0000 – 0x101E_3FFF memory space.
When the boot from ROM option is enabled (set boot strapping signal: BOOT_FROM = 2’b11), the accessing tothe external flash will be remapped to the internal 8KB boot ROM located in(0x1011_8000 – 0x1011_9FFF).Accesses to original flash memory region outside of the 8KB boot ROM is invalid in this boot from ROM mode.The 8KB ROM is also accessible from 0x1011_8000 – 0x1011_9FFF memory space.
从nand启动时cpu boot地址是0xbf000000,文档上说是把nand flash的前4k映射到内部的4k ram上。
下面是文档的一些说明:
MA14 boot_addr 0:cpu boots address at 0xbfc00000(default)
1:cpu boots address at 0xbf000000 我的板子设置为1.
{MA9,MA8} boot_from 2'b00:boot from external 16-bit flash(default)
2'b01:boot from external 8-bit flash
2'b10:boot from external nand flash
2'b11:boot from internal ROM 我的板子设置为10.
下面是我的memory map表
0000.0000 ‐ 03FF.FFFF 64M SDRAM
0400.0000 ‐ 0FFF.FFFF <<Reserved>>
1000.0000 ‐ 1000.00FF 256 SYSCTL
1000.0100 ‐ 1000.01FF 256 TIMER
1000.0200 ‐ 1000.02FF 256 INTCTL
1000.0300 ‐ 1000.03FF 256 MEM_CTRL (SDRAM & Flash/SRAM)
1000.0400 ‐ 1000.04FF 256 PCM
1000.0500 ‐ 1000.05FF 256 UART
1000.0600 ‐ 1000.06FF 256 PIO
1000.0700 ‐ 1000.07FF 256 Generic DMA
1000.0800 ‐ 1000.08FF 256 NAND Flash Controller
1000.0900 ‐ 1000.09FF 256 I2C
1000.0A00 ‐ 1000.0AFF 256 I2S
1000.0B00 ‐ 1000.0BFF 256 SPI
1000.0C00 ‐ 1000.0CFF 256 UARTLITE
1000.0D00 ‐ 100F.FFFF <<Reserved>>
1010.0000 ‐ 1010.FFFF 64K Frame Engine
1011.0000 ‐ 1011.7FFF 32K Ethernet Switch
1011.8000 1011.9FFF 8K ROM
1011_a000 1011_FFFF <<Reserved>>
1012.0000 ‐ 1012.7FFF 32K <<Reserved>>
1012.8000 1012.FFFF 32K <<Reserved>>
1013.0000 ‐ 1013.7FFF 32K <<Reserved>>
1013.8000 ‐ 1013.FFFF 32K <<Reserved>>
1014.0000 ‐ 1017.FFFF 256K <<Reserved>>
1018.0000 ‐ 101B.FFFF 256K 802.11n MAC/BBP
101C.0000 ‐ 101F.FFFF 256K USB OTG
1020.0000 ‐ 1AFF.FFFF <<Reserved>>
1B00.0000 ‐ 1BFF.FFFF 16MB External SRAM/Flash
1C00.0000 ‐ 1EFF.FFFF <<Reserved>>
1F00.0000 ‐ 1FFF.FFFF:16MB(flash)or4KB(ram)or8KB(rom)
When BOOT_FROM = 2’b00,
up‐to 16MB external 16‐bit flash is mapped.
When BOOT_FROM = 2’b01,
up‐to 8MB external 8‐bit flash is mapped.
When BOOT_FROM = 2’b10,
4KB internal boot RAM is mapped for boot from NAND application.
When BOOT_FROM = 2’b11,
8KB internal boot ROM is mapped for iNICapplication.
下面是它的说明:
Note :
When boot from NAND option is enabled (set boot strapping signal: BOOT_FROM = 2’b10), the accessing to theexternal flash will be remapped to the internal 4KB boot SRAM located in USB OTG (0x101E_0000 – 0x101E_3FFF).Accesses to original flash memory region outside of the 4KB boot SRAM are invalid in this boot from NAND mode.The 4KB SRAM is also accessible from 0x101E_0000 – 0x101E_3FFF memory space.
When the boot from ROM option is enabled (set boot strapping signal: BOOT_FROM = 2’b11), the accessing tothe external flash will be remapped to the internal 8KB boot ROM located in(0x1011_8000 – 0x1011_9FFF).Accesses to original flash memory region outside of the 8KB boot ROM is invalid in this boot from ROM mode.The 8KB ROM is also accessible from 0x1011_8000 – 0x1011_9FFF memory space.
#8
楼主首先确认你的nand flash驱动成功了吗?用SD卡启动u-boot试试.
定位问题时,硬件没问题?节nand flash驱动没问题? 其它问题?
定位问题时,硬件没问题?节nand flash驱动没问题? 其它问题?
#9
现在我不能确定硬件是否有问题,从nand flash启动时我怎么能确定nand flash中的前4k数据是否被映射到internal 4k sram 上呢?只有确定了这个问题,才能判断出cpu为什么没有找到bootloader。
#10
文档上说支持从nandflash上驱动,在板子上电之后,从哪里获取uboot的启动代码板子上是否需要硬件上的设置。至少要让CPU知道从哪里获取最开始的4k启动代码啊。
#11
能介绍下怎么从SD卡启动UBOOT吗?
我只搜索到 “发布一个6410下从sd卡启动的uboot ”
#12
最好能用个仿真题,不行最起码能调试好串口,利用printk函数。
#13
楼主,问题解决了吗??我也出现了同样的问题,想请教一下
#1
拿仿真器跟踪一下吧
#2
jtag调试, 搞个仿真器.
#3
没有仿真器啊,还有什么方式能判断uboot是否已经启动了呢?
#4
你尝试把你手工加的printf输出语句去掉试试, 我的经验是, printf必段在串口和consol初始化之后才能用,printf输出长度为256, 否则导到死机的情况.
#5
我在uboot start.s 开始时进行通过gpio进行点灯,发现灯没有亮,现在基本上已经确定uboot是没有起来,cpu一上电没有找到uboot所以才导致的失败,应该是我的开发板的问题,但是rt3052文档说是支持从nand flash启动的,所以我现在应该怎样去做呢?
#6
应该确认一下你的程序已经烧录到nand flash中。
从nor flash还是从nand flash中启动,如果IC支持的话,一般只是内存映射地址不同,按道理是可以起来的。
从nor flash还是从nand flash中启动,如果IC支持的话,一般只是内存映射地址不同,按道理是可以起来的。
#7
我已经确定bootloader烧到nand flash从0地址处了,文档上说是支持从nand 启动的,我更改了开发板的启动方式,可是就是起不来。
从nand启动时cpu boot地址是0xbf000000,文档上说是把nand flash的前4k映射到内部的4k ram上。
下面是文档的一些说明:
MA14 boot_addr 0:cpu boots address at 0xbfc00000(default)
1:cpu boots address at 0xbf000000 我的板子设置为1.
{MA9,MA8} boot_from 2'b00:boot from external 16-bit flash(default)
2'b01:boot from external 8-bit flash
2'b10:boot from external nand flash
2'b11:boot from internal ROM 我的板子设置为10.
下面是我的memory map表
0000.0000 ‐ 03FF.FFFF 64M SDRAM
0400.0000 ‐ 0FFF.FFFF <<Reserved>>
1000.0000 ‐ 1000.00FF 256 SYSCTL
1000.0100 ‐ 1000.01FF 256 TIMER
1000.0200 ‐ 1000.02FF 256 INTCTL
1000.0300 ‐ 1000.03FF 256 MEM_CTRL (SDRAM & Flash/SRAM)
1000.0400 ‐ 1000.04FF 256 PCM
1000.0500 ‐ 1000.05FF 256 UART
1000.0600 ‐ 1000.06FF 256 PIO
1000.0700 ‐ 1000.07FF 256 Generic DMA
1000.0800 ‐ 1000.08FF 256 NAND Flash Controller
1000.0900 ‐ 1000.09FF 256 I2C
1000.0A00 ‐ 1000.0AFF 256 I2S
1000.0B00 ‐ 1000.0BFF 256 SPI
1000.0C00 ‐ 1000.0CFF 256 UARTLITE
1000.0D00 ‐ 100F.FFFF <<Reserved>>
1010.0000 ‐ 1010.FFFF 64K Frame Engine
1011.0000 ‐ 1011.7FFF 32K Ethernet Switch
1011.8000 1011.9FFF 8K ROM
1011_a000 1011_FFFF <<Reserved>>
1012.0000 ‐ 1012.7FFF 32K <<Reserved>>
1012.8000 1012.FFFF 32K <<Reserved>>
1013.0000 ‐ 1013.7FFF 32K <<Reserved>>
1013.8000 ‐ 1013.FFFF 32K <<Reserved>>
1014.0000 ‐ 1017.FFFF 256K <<Reserved>>
1018.0000 ‐ 101B.FFFF 256K 802.11n MAC/BBP
101C.0000 ‐ 101F.FFFF 256K USB OTG
1020.0000 ‐ 1AFF.FFFF <<Reserved>>
1B00.0000 ‐ 1BFF.FFFF 16MB External SRAM/Flash
1C00.0000 ‐ 1EFF.FFFF <<Reserved>>
1F00.0000 ‐ 1FFF.FFFF:16MB(flash)or4KB(ram)or8KB(rom)
When BOOT_FROM = 2’b00,
up‐to 16MB external 16‐bit flash is mapped.
When BOOT_FROM = 2’b01,
up‐to 8MB external 8‐bit flash is mapped.
When BOOT_FROM = 2’b10,
4KB internal boot RAM is mapped for boot from NAND application.
When BOOT_FROM = 2’b11,
8KB internal boot ROM is mapped for iNICapplication.
下面是它的说明:
Note :
When boot from NAND option is enabled (set boot strapping signal: BOOT_FROM = 2’b10), the accessing to theexternal flash will be remapped to the internal 4KB boot SRAM located in USB OTG (0x101E_0000 – 0x101E_3FFF).Accesses to original flash memory region outside of the 4KB boot SRAM are invalid in this boot from NAND mode.The 4KB SRAM is also accessible from 0x101E_0000 – 0x101E_3FFF memory space.
When the boot from ROM option is enabled (set boot strapping signal: BOOT_FROM = 2’b11), the accessing tothe external flash will be remapped to the internal 8KB boot ROM located in(0x1011_8000 – 0x1011_9FFF).Accesses to original flash memory region outside of the 8KB boot ROM is invalid in this boot from ROM mode.The 8KB ROM is also accessible from 0x1011_8000 – 0x1011_9FFF memory space.
从nand启动时cpu boot地址是0xbf000000,文档上说是把nand flash的前4k映射到内部的4k ram上。
下面是文档的一些说明:
MA14 boot_addr 0:cpu boots address at 0xbfc00000(default)
1:cpu boots address at 0xbf000000 我的板子设置为1.
{MA9,MA8} boot_from 2'b00:boot from external 16-bit flash(default)
2'b01:boot from external 8-bit flash
2'b10:boot from external nand flash
2'b11:boot from internal ROM 我的板子设置为10.
下面是我的memory map表
0000.0000 ‐ 03FF.FFFF 64M SDRAM
0400.0000 ‐ 0FFF.FFFF <<Reserved>>
1000.0000 ‐ 1000.00FF 256 SYSCTL
1000.0100 ‐ 1000.01FF 256 TIMER
1000.0200 ‐ 1000.02FF 256 INTCTL
1000.0300 ‐ 1000.03FF 256 MEM_CTRL (SDRAM & Flash/SRAM)
1000.0400 ‐ 1000.04FF 256 PCM
1000.0500 ‐ 1000.05FF 256 UART
1000.0600 ‐ 1000.06FF 256 PIO
1000.0700 ‐ 1000.07FF 256 Generic DMA
1000.0800 ‐ 1000.08FF 256 NAND Flash Controller
1000.0900 ‐ 1000.09FF 256 I2C
1000.0A00 ‐ 1000.0AFF 256 I2S
1000.0B00 ‐ 1000.0BFF 256 SPI
1000.0C00 ‐ 1000.0CFF 256 UARTLITE
1000.0D00 ‐ 100F.FFFF <<Reserved>>
1010.0000 ‐ 1010.FFFF 64K Frame Engine
1011.0000 ‐ 1011.7FFF 32K Ethernet Switch
1011.8000 1011.9FFF 8K ROM
1011_a000 1011_FFFF <<Reserved>>
1012.0000 ‐ 1012.7FFF 32K <<Reserved>>
1012.8000 1012.FFFF 32K <<Reserved>>
1013.0000 ‐ 1013.7FFF 32K <<Reserved>>
1013.8000 ‐ 1013.FFFF 32K <<Reserved>>
1014.0000 ‐ 1017.FFFF 256K <<Reserved>>
1018.0000 ‐ 101B.FFFF 256K 802.11n MAC/BBP
101C.0000 ‐ 101F.FFFF 256K USB OTG
1020.0000 ‐ 1AFF.FFFF <<Reserved>>
1B00.0000 ‐ 1BFF.FFFF 16MB External SRAM/Flash
1C00.0000 ‐ 1EFF.FFFF <<Reserved>>
1F00.0000 ‐ 1FFF.FFFF:16MB(flash)or4KB(ram)or8KB(rom)
When BOOT_FROM = 2’b00,
up‐to 16MB external 16‐bit flash is mapped.
When BOOT_FROM = 2’b01,
up‐to 8MB external 8‐bit flash is mapped.
When BOOT_FROM = 2’b10,
4KB internal boot RAM is mapped for boot from NAND application.
When BOOT_FROM = 2’b11,
8KB internal boot ROM is mapped for iNICapplication.
下面是它的说明:
Note :
When boot from NAND option is enabled (set boot strapping signal: BOOT_FROM = 2’b10), the accessing to theexternal flash will be remapped to the internal 4KB boot SRAM located in USB OTG (0x101E_0000 – 0x101E_3FFF).Accesses to original flash memory region outside of the 4KB boot SRAM are invalid in this boot from NAND mode.The 4KB SRAM is also accessible from 0x101E_0000 – 0x101E_3FFF memory space.
When the boot from ROM option is enabled (set boot strapping signal: BOOT_FROM = 2’b11), the accessing tothe external flash will be remapped to the internal 8KB boot ROM located in(0x1011_8000 – 0x1011_9FFF).Accesses to original flash memory region outside of the 8KB boot ROM is invalid in this boot from ROM mode.The 8KB ROM is also accessible from 0x1011_8000 – 0x1011_9FFF memory space.
#8
楼主首先确认你的nand flash驱动成功了吗?用SD卡启动u-boot试试.
定位问题时,硬件没问题?节nand flash驱动没问题? 其它问题?
定位问题时,硬件没问题?节nand flash驱动没问题? 其它问题?
#9
现在我不能确定硬件是否有问题,从nand flash启动时我怎么能确定nand flash中的前4k数据是否被映射到internal 4k sram 上呢?只有确定了这个问题,才能判断出cpu为什么没有找到bootloader。
#10
文档上说支持从nandflash上驱动,在板子上电之后,从哪里获取uboot的启动代码板子上是否需要硬件上的设置。至少要让CPU知道从哪里获取最开始的4k启动代码啊。
#11
能介绍下怎么从SD卡启动UBOOT吗?
我只搜索到 “发布一个6410下从sd卡启动的uboot ”
#12
最好能用个仿真题,不行最起码能调试好串口,利用printk函数。
#13
楼主,问题解决了吗??我也出现了同样的问题,想请教一下