Dear Expert
The am3358 system we use now has a question for you
Question 1: start the options, boot9. early we are high level, and later modify to low level
In the document, the table 26-7. sysboot configuration pins is described in the document
Boot9= 0 ecc done by ROM
1 ecc handly by nand
We have a board card that can't start the system, and the boot9 is changed from the original 1 to 0. the printing information is as follows:
For example: "you can't do it."
Texas Instruments Revision detection unimplemented
Booting from nand...
Ecc pos 195 mask 3
This information is ecc pos 195 mask 34, which is not available in uboot, is it a CPU that has a program to handle?
Question 2: change the boot9 to 0, and you can start the system, but you can change the boot9 back to 1and still can't start the system
This shows that ecc is just checking for data, but it does not modify the error data in nand
Is that so?
Question 3: in the boot area, there is information on ecc pos 195 mask 3ps, which shows that nandflash has a data error
The uboot area is simply read-only, how can you make a data error, which is impossible to understand
I don't know if there was any such problem
Question 4: because ecc does not correct data in nandflash
So over time, nandflash has more data errors
So the ecc can't be corrected, and it will not be able to start the system
Do you know what to do to avoid the uboot area data error in nandflash, or to fix data errors in nandflash
The attachment is to change the boot9 from the original 1 to 0, and the startup process is printed with information
The model nandflash USES is the mt29f4g08abadawp of micron
U-Boot SPL 2011.09 (Sep 02 2020 - 11:09:35)
Texas Instruments Revision detection unimplemented
Booting from NAND...
ecc pos 195 mask 3
U-Boot 2011.09 (Sep 02 2020 - 11:09:35)
I2C: ready
DRAM: 512 MiB
WARNING: Caches not enabled
Did not find a recognized configuration, assuming General purpose EVM in Profile 0 with Daughter board
NAND: HW ECC BCH8 Selected
ONFI flash detected
ONFI param page 0 valid
HW ECC BCH8 Selected
512 MiB
MMC: OMAP SD/MMC: 0
*** Warning - bad CRC, using default environment
Video : Drawing the logo from nand.
NAND read: device 0 offset 0x600000, size 0x36
54 bytes read: OK
NAND read: Size exceeds partition or device limit
Error: no valid bmp image at 84000000
Net: miiphy_register: added 'cpsw', read=0x9ff977e8, write=0x9ff97858
cpsw
Hit any key to stop autoboot: 0
Booting from nand ...
NAND read: device 0 offset 0x580000, size 0x500000
ecc pos 401 mask 3
ecc pos 277 mask 1
ecc pos 295 mask 6
ecc pos 341 mask 0
ecc pos 129 mask 5
ecc pos 481 mask 2
ecc pos 39 mask 3
ecc pos 427 mask 3
5242880 bytes read: OK
## Booting kernel from Legacy Image at 80200000 ...
Image Name: Linux-3.2.01.1-gc171649-dirty
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2557776 Bytes = 2.4 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Linux version 3.2.01.1-gc171649-dirty (root@forlinx) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #1 Fri Aug 21 09:56:03 CST 2020
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: sbc8600
Memory policy: ECC disabled, Data cache writeback
AM335X ES1.0 (sgx neon )
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttyO0,115200n8 root=ubi0:rootfs rw ubi.mtd=9,2048 rootfstype=ubifs rootwait=1 screentype=R screensize=800x480-7 calibrate=Y laohua=N
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 514512k/514512k available, 9776k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.text : 0xc0008000 - 0xc0478000 (4544 kB)
.init : 0xc0478000 - 0xc04aa000 ( 200 kB)
.data : 0xc04aa000 - 0xc04f46e0 ( 298 kB)
.bss : 0xc04f4704 - 0xc051d3ec ( 164 kB)
NR_IRQS:396
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
Total of 128 interrupts on 1 active controller
OMAP clockevent source: GPTIMER2 at 24000000 Hz
omap_dm_timer_switch_src: Switching to HW default clocksource(sys_clkin_ck) for timer1, this may impact timekeeping in low power state
OMAP clocksource: GPTIMER1 at 24000000 Hz
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
Console: colour dummy device 80x30
Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
omap_hwmod: pruss: failed to hardreset
print_constraints: dummy:
NET: Registered protocol family 16
OMAP GPIO hardware version 0.1
omap_mux_init: Add partition: #1: core, flags: 0
omap_i2c.1: alias fck already exists
omap_hsmmc.0: alias fck already exists
d_can.0: alias fck already exists
omap2_mcspi.1: alias fck already exists
omap2_mcspi.2: alias fck already exists
edma.0: alias fck already exists
edma.0: alias fck already exists
edma.0: alias fck already exists
bio: create slab <bio-0> at 0
SCSI subsystem initialized
omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 300 kHz
Switching to clocksource gp timer
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
omap-gpmc omap-gpmc.0: GPMC revision 6.0
Registering NAND on CS0
cpuidle-am33xx cpuidle-am33xx.0: failed to register driver
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
msgmni has been set to 1004
alg: No test for stdrng (krng)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
console [ttyO0] enabled
omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
brd: module loaded
loop: module loaded
mtdoops: mtd device (mtddev=name/number) must be supplied
nand res start 0x48080000 size 8192
omap2-nand driver initializing
ONFI flash detected
ONFI param page 0 valid
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xdc (Micron MT29F4G08ABADAWP)
Creating 10 MTD partitions on "omap2-nand.0":
0x000000000000-0x000000020000 : "SPL"
0x000000020000-0x000000040000 : "SPL.backup1"
0x000000040000-0x000000060000 : "SPL.backup2"
0x000000060000-0x000000080000 : "SPL.backup3"
0x000000080000-0x000000280000 : "U-Boot"
0x000000280000-0x000000480000 : "U-Boot1"
0x000000480000-0x000000580000 : "U-Boot Env"
0x000000580000-0x000000a80000 : "Kernel"
0x000000a80000-0x000000f80000 : "Kernel1"
0x000000f80000-0x000020000000 : "File System"
UBI: attaching mtd9 to ubi0
UBI: physical eraseblock size: 131072 bytes (128 KiB)
UBI: logical eraseblock size: 126976 bytes
UBI: smallest flash I/O unit: 2048
UBI: sub-page size: 512
UBI: VID header offset: 2048 (aligned 2048)
UBI: data offset: 4096
UBI: max. sequence number: 485
UBI: attached mtd9 to ubi0
UBI: MTD device name: "File System"
UBI: MTD device size: 496 MiB
UBI: number of good PEBs: 3972
UBI: number of bad PEBs: 0
UBI: number of corrupted PEBs: 0
UBI: max. allowed volumes: 128
UBI: wear-leveling threshold: 4096
UBI: number of internal volumes: 1
UBI: number of user volumes: 1
UBI: available PEBs: 0
UBI: total number of reserved PEBs: 3972
UBI: number of PEBs reserved for bad PEB handling: 39
UBI: max/mean erase counter: 4/0
UBI: image sequence number: 585216608
UBI: background thread "ubi_bgt0d" started, PID 383
CAN device driver interface
CAN bus driver for Bosch D_CAN controller 1.0
d_can d_can.0: device registered (irq=52, irq_obj=53)
davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
davinci_mdio davinci_mdio.0: detected phy mask ffffffef
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[4]: device 0:04, driver unknown
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
i2c-core: driver [ch7033] using legacy suspend method
i2c-core: driver [ch7033] using legacy resume method
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
tiadc tiadc: attached adc driver
gpmc fpga init
Gpmc Fpga Getting Chip Select
GPMC FPGA revision 6.0
FPGA GPMC_CS_CONFIG7 org value 0xf00
Got CS3 For Fpga , address = 1000000
Got CS3 For Fpga , fpga_base address = 0xe084c000
gpio_boardinfo_dev_init: registered boardinfo device: gpio_boardinfo 200 0xc04eb8f4
gpio_get_boardinfo: BOARD_ID_1 is 1
gpio_get_boardinfo: BOARD_ID_2 is 0
gpio_get_boardinfo: BOARD_ID_3 is 1
gpio_get_boardinfo: BOARD_ID_4 is 1
gpio_get_boardinfo: BOARD_ID is 13
gpio_boardinfo_dev_init: gpio boardinfo module loaded, info:0xd
gpio_ctrl_dev_init: registered gpio ctrl device: gpio_ctrl 210 0xc04eb98c
oprofile: hardware counters not available
oprofile: using timer interrupt.
TCP cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
Registering the dns_resolver key type
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
ThumbEE CPU extension supported.
mux: Failed to setup hwmod io irq -22
Power Management for AM33XX family
Trying to load am335x-pm-firmware.bin (60 secs timeout)
Copied the M3 firmware to UMEM
clock: disabling unused clocks to save power
Detected MACID=fc:69:47:9c:55:5c
cpsw: Detected MACID = fc:69:47:9c:55:5e
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 0, volume 0, name "rootfs"
UBIFS: file system size: 497491968 bytes (485832 KiB, 474 MiB, 3918 LEBs)
UBIFS: journal size: 9023488 bytes (8812 KiB, 8 MiB, 72 LEBs)
UBIFS: media format: w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root: 0 bytes (0 KiB)
VFS: Mounted root (ubifs filesystem) on device 0:13.
devtmpfs: mounted
Freeing init memory: 200K
init started: BusyBox v1.25.0 (2016-08-03 20:01:23 CST)
/dev/console exist!
/dev/null exist!
set ip address according to board info dial switch!
ip address is
192.168.3.12
net eth0: CPSW phy found : id is : 0x4dd072
rm: can't remove 'QT.tar': No such file or directory
Board ID is M2!
sys led on!
sys led off!
sys led on!
/mnt/sd exist!
/dev/mmcblk0p1 not exist, check sd card!
can0 bitrate: 1000000, sample-point: 0.750
d_can d_can.0: can0: setting CAN BT = 0x2701
can0 state: ERROR-ACTIVE
Processing /etc/profile...
Done
/etc/init.d/rcS: line 401: [d: not found
/etc/init.d/rcS: line 401: [d: not found
BusyBox v1.25.0 (2016-08-03 20:01:23 CST) built-in shell (ash)
Processing /etc/profile...
Done
[root@YHLO]# SWITCHIO Functiogpio_dev_boardinfo_open: open gpio boardinfo dev !
n ready
gpio_dev_boardinfo_read: read gpio buf len 4, rd data lth 13
Board ID -> M2gpio_dev_boardinfo_release: release gpio boardinfo dev
Log Ver. 1.0.0.4
Net_Ver.1.0.0.25
Network:eDataTransferType:1
Log:ip:192.168.3.31,port:60012
Network:ip:192.168.3.30,port:60010
ConnectHost, ip=192.168.3.30, port=60010
Object::connect: No such signal CNetworkAdapterMgr::signalCmdSetSoftType(QString, QString, int, QString, QString)
Object::connect: No such signal CNetworkAdapterMgr::signalCmdQuerySoftType(QString, QString, int, QString, QString)
Object::connect: No such signal CNetworkAdapterMgr::signalCmdExeIMBR(QString,QString,int,QString,QString)
MX Ver : 1.00.28.00.07.Sep 21 2018 15:40:13
/dev/fpga open success
nMotor_LOG:"MD1 FPGA Version 6.1.7"
---UART FUNC---
/dev/ttyO4 open success
Updata start
/dev/ttyO4 Send Data:fa fa fa fa b 0 2
./FkTemp.bin_123 doesn't exist, no upgrade
Send Uart Data:0 0 f3 f3
Updata end
Upgrade ip:192.168.3.31
ADJ_Parameter[0]=490
ADJ_Parameter[1]=690
ADJ_Parameter[2]=890
ADJ_Parameter[3]=1090
ADJ_Parameter[4]=1300
ADJ_Parameter[5]=0
ADJ_Parameter[6]=-490
ADJ_Parameter[7]=-1360
ADJ_Parameter[8]=2000
ADJ_Parameter[9]=-2400
ADJ_Parameter[10]=30
ADJ_Parameter[11]=200
ADJ_Parameter[12]=-50
ADJ_Parameter[13]=40
ADJ_Parameter[14]=180
ADJ_Parameter[15]=-2500
ADJ_Parameter[16]=100
ADJ_Parameter[17]=1640
ADJ_Parameter[18]=1640
ADJ_Parameter[19]=1640
ADJ_Parameter[20]=178
ADJ_Parameter[21]=-22
ADJ_Parameter[22]=88
ADJ_Parameter[23]=8
ADJ_Parameter[24]=100
ADJ_Parameter[25]=-800
ADJ_Parameter[26]=20
ADJ_Parameter[27]=2500
ADJ_Parameter[28]=0
ADJ_Parameter[29]=4795
ADJ_Parameter[30]=4780
ADJ_Parameter[31]=4750
ADJ_Parameter[32]=4695
ADJ_Parameter[33]=0
ADJ_Parameter[34]=3840
ADJ_Parameter[35]=3835
ADJ_Parameter[36]=3820
ADJ_Parameter[37]=3790
ADJ_Parameter[38]=3730
ADJ_Parameter[39]=0
ADJ_Parameter[40]=2880
ADJ_Parameter[41]=1920
ADJ_Parameter[42]=1490
ADJ_Parameter[43]=1488
ADJ_Parameter[44]=1478
ADJ_Parameter[45]=1455
ADJ_Parameter[46]=1408
ADJ_Parameter[47]=0
ADJ_Parameter[48]=370
ADJ_Parameter[49]=2000
ADJ_Parameter[50]=50
ADJ_Parameter[51]=30
ADJ_Parameter[52]=115
ADJ_Parameter[53]=320
ADJ_Parameter[54]=170
ADJ_Parameter[55]=190
ADJ_Parameter[56]=3000
ADJ_Parameter[57]=3
ADJ_Parameter[58]=40
ADJ_Parameter[59]=200
ADJ_Parameter[60]=5
ADJ_Parameter[61]=1
ADJ_Parameter[62]=0
ADJ_Parameter[63]=370
ADJ_Parameter[64]=200
ADJ_Parameter[65]=5
ADJ_Parameter[66]=1
ADJ_Parameter[67]=4
ADJ_Parameter[68]=360
ADJ_Parameter[69]=200
ADJ_Parameter[70]=5
ADJ_Parameter[71]=1
ADJ_Parameter[72]=0
Motor1 Current=3601 MicroStep=509
nMotor_LOG:"Motor1 Set_Mode1_Zero_Limit(100)"
nMotor_LOG:"MRset(m1 @ S0 @ 180 @ -2500 @ 40 @ -50)"
Motor2 Current=3617 MicroStep=407
nMotor_LOG:"Motor2 Set_Mode1_Zero_Limit(30)"
nMotor_LOG:"MRset(m2 @ S19 @ 2000 @ -2400 @ 490 @ -490)"
Motor3 Current=3857 MicroStep=509
nMotor_LOG:"Motor3 Set_Mode1_Zero_Limit(8)"
nMotor_LOG:"MRset(m3 @ S6 @ 100 @ -800 @ 20 @ -22)"
Motor4 Current=3601 MicroStep=509
nMotor_LOG:"M4 S+-(0 @ 0 @ 0 @ 0 @ 0 @ 0)"
nMotor_LOG:"M4 S_CLIP_P(416 @ 10)"
Motor5 Current=3841 MicroStep=458
nMotor_LOG:"CMove_HDiskMotion::Init_Hdiskdata()"
Motor6 Current=3873 MicroStep=498
nMotor_LOG:"M6 S_CLIP_P(3000 @ 10)"
nMotor_LOG:"Motor1 Set_Mode1_Zero_Limit(100)"
nMotor_LOG:"M1-MRset-SRP(180 @ -2500 @ 40 @ -50)"
nMotor_LOG:"Motor2 Set_Mode1_Zero_Limit(30)"
nMotor_LOG:"M2-MRset-SRP(2000 @ -2400 @ 490 @ -490)"
nMotor_LOG:"Motor3 Set_Mode1_Zero_Limit(8)"
nMotor_LOG:"M3-MRset-SRP(100 @ -800 @ 20 @ -22)"
nMotor_LOG:"M4 S_CLIP_P(416 @ 10)"
nMotor_LOG:"M6 S_CLIP_P(3900 @ 10)"
nMotor_LOG:"CMove_HDiskMotion::Init_Hdiskdata()"
nMotor_LOG:"MD1 FPGA Version 6.1.7"
Elum_MD2 V3.1.41
Uncompatible FPGA MD version - 1829
FPGA version uncompatible with software
CMotionMgr::run() Started
SYS_Sensor_Monitor::run()
/dev/ttyO4 Send Data:fa 0 16 0 0 21 1 d0 7 0 0 32 0 0 0 1e 0 0 0 cd ff ff
/dev/ttyO4 Send Data:fa 0 16 0 1 21 2 c8 0 0 0 5 0 0 0 1 0 0 0 f8 ff ff
/dev/ttyO4 Send Data:fa 0 16 0 2 21 3 c8 0 0 0 5 0 0 0 1 0 0 0 fa ff ff
/dev/ttyO4 Send Data:fa 0 e 0 3 33 1 72 1 0 0 4c ff ff
/dev/ttyO4 Send Data:fa 0 e 0 4 33 2 72 1 0 0 48 ff ff
/dev/ttyO4 Send Data:fa 0 e 0 5 33 3 68 1 0 0 52 ff ff
/dev/ttyO4 Send Data:fa 0 e 0 6 51 1 3 0 0 0 5b ff ff
UnRecvHeartCount:0,Socketstatus:0,LastBeatOK = 0
Reconnect
/dev/ttyO4 Send Data:fa 0 e 0 7 51 2 4 0 0 0 5e ff ff
/dev/ttyO4 Send Data:fa 0 e 0 8 51 3 0 0 0 0 54 ff ff
/dev/ttyO4 Send Data:fa 0 a 0 9 32 1 30 ff ff
Tempindex=9::
UnRecvHeartCount:1,Socketstatus:0,LastBeatOK = 0
Reconnect