Other Parts Discussed in Thread: DA8XX, PCF8575
Hi ti team
使用官方SDK am335x-evm-08.02.00.24, U-BOOT上读取kernel速度非常慢,信息如下:
CCC
U-Boot SPL 2021.01-00001-gc59bf25a38-dirty (Nov 29 2023 - 13:54:05 +0800)
Trying to boot from NAND
nand: using OMAP_ECC_BCH16_CODE_HW
use GPMC prefetch read.
Loading element from 0x00080000 (size 0x00000040) to 0x80800000
U-Boot 2021.01-00001-gc59bf25a38-dirty (Nov 29 2023 - 13:54:05 +0800)
CPU : AM335X-GP rev 2.1
Model: TI AM335x EVM
DRAM: 512 MiB
Setting QCA7000 and wifi&ble power
WDT: Started with servicing (60s timeout)
NAND: nand: using OMAP_ECC_BCH16_CODE_HW
use GPMC prefetch read.
nand_base: device found, Manufacturer ID: 0x2c, Chip ID: 0x48
nand_base: Micron MT29F16G08ABACAWP
nand_base: 2048 MiB, SLC, erase size: 512 KiB, page size: 4096, OOB size: 224
2048 MiB
MMC:
Loading Environment from NAND... Scanning device for bad blocks
Bad eraseblock 90 at 0x000002d00000
Bad eraseblock 91 at 0x000002d80000
从SPL跳转到U-BOOT加载也需要大概10s左右,才能打印U-Boot 2021.01-00001-gc59bf25a38-dirty (Nov 29 2023 - 13:54:05 +0800);
同时在nand读写函数上增加时间统计,发现写入kernel速度非常慢:
=> run upkernel
link up on port 0, speed 100, full duplex
Using ethernet@4a100000 device
TFTP from server 192.168.0.8; our IP address is 192.168.0.10
Filename 'am335x-evm.dtb'.
Load address: 0x82000000
Loading: #####
184.6 KiB/s
done
Bytes transferred = 65098 (fe4a hex)
NAND erase.part: device 0 offset 0x300000, size 0x80000
Erasing at 0x300000 -- 100% complete.
OK
NAND write: device 0 offset 0x300000, size 0x80000
[49558]NAND write process: offset: 0x00300000, size: 0x00080000
[50993]NAND write to offset 0x00300000 finish, no bad block
[51008]Nand write size: 524288, use time:1449ms, write speed: 353kB/s
524288 bytes written: OK
link up on port 0, speed 100, full duplex
Using ethernet@4a100000 device
TFTP from server 192.168.0.8; our IP address is 192.168.0.10
Filename 'zImage.bin'.
Load address: 0x82000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
################################
1 MiB/s
done
Bytes transferred = 5239296 (4ff200 hex)
NAND erase.part: device 0 offset 0x380000, size 0xa00000
Erasing at 0xd00000 -- 100% complete.
OK
NAND write: device 0 offset 0x380000, size 0x4ff200
[66026]NAND write process: offset: 0x00380000, size: 0x004ff200
[80244]NAND write to offset 0x00380000 finish, no bad block
[80260]Nand write size: 5239296, use time:14233ms, write speed: 57kB/s
5239296 bytes written: OK
从nand启动内核:
=> boot
Booting from nand ...
NAND read: device 0 offset 0x300000, size 0x80000
[88061]NAND read process: offset: 0x00300000, size: 0x00080000
[88598]Nand read size: 524288, use time:537ms, read speed: 952kB/s
524288 bytes read: OK
NAND read: device 0 offset 0x380000, size 0xa00000
[88636]NAND read process: offset: 0x00380000, size: 0x00a00000
[99070]Nand read size: 10485760, use time:10434ms, read speed: 158kB/s
10485760 bytes read: OK
## Flattened Device Tree blob at 80f80000
Booting using the fdt blob at 0x80f80000
Loading Device Tree to 8ffed000, end 8ffffe49 ... OK
## Transferring control to Linux (at address 80200000)...
Starting kernel ...
Switching to zImage entry = 0x80200000
nand info:
=> nand info
Device 0: nand0, sector size 512 KiB
Page size 4096 b
OOB size 224 b
Erase size 524288 b
subpagesize 1024 b
options 0x4000400c
bbt options 0x00000000
nand配置: