Getting "Synchronous Abort" handler error when reflashing the boot partition on a FRDM-LS1012A board

cancel
Showing results for 
Search instead for 
Did you mean: 

Getting "Synchronous Abort" handler error when reflashing the boot partition on a FRDM-LS1012A board

Jump to solution
5,030 Views
kuta42
Contributor III

I'm using the Layerscape SDK 17.12 to build for the FRDM-LS1012A board. I built the default image and used flex-installer to create a USB drive. I flashed the boot partition on the board by doing:
=> usb start
=> ext2load usb 0:2 0xa0000000 firmware_ls1012afrdm_uboot_qspiboot.img
36744476 bytes read in 65905 ms (543.9 KiB/s)
=> sf probe 0:0
SF: Detected S25FS512S_256K with page size 512 Bytes, erase size 128 KiB, total 64 MiB
=> setenv filesize 0x230AD1C # = 36744476 decimal
=> sf erase 0 +$filesize && sf write 0xa0000000 0 $filesize
SF: 36831232 bytes @ 0x0 Erased: OK
device 0 offset 0x0, size 0x230ad1c
SF: 36744476 bytes @ 0x0 Written: OK
=>

I then reset the board and it booted Linux OK (but note that the first 2 warnings from U-Boot are suspicious):

U-Boot 2017.07-g9f7df1b (Dec 23 2017 - 00:29:58 +0800)

SoC: LS1012AE Rev1.0 (0x87040010)
Clock Configuration:
CPU0(A53):800 MHz
Bus: 250 MHz DDR: 1000 MT/s
Reset Configuration Word (RCW):
00000000: 08000008 00000000 00000000 00000000
00000010: 33050000 c000000c 40000000 00001800
00000020: 00000000 00000000 00000000 000c4571
00000030: 00000000 00c28120 00000096 00000000
I2C: ready
DRAM: 446 MiB
PPA Firmware: Version LSDK-17.12
WARNING: Calling __hwconfig without a buffer and before environment is ready
Using SERDES1 Protocol: 13061 (0x3305)
SF: Detected s25fs512s with page size 512 Bytes, erase size 256 KiB, total 64 MiB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Model: LS1012A FREEDOM Board
Board: LS1012AFRDM Net: PFE class pe firmware
PFE tmu pe firmware
ls1012a_configure_serdes 0
ls1012a_configure_serdes 1
pfe_eth0
Warning: pfe_eth0 (eth0) using random MAC address - c6:ec:8b:19:51:6d
, pfe_eth1
Warning: pfe_eth1 (eth1) using random MAC address - ce:e4:a2:63:dd:61

Hit any key to stop autoboot: 0
starting USB...
USB0: Register 200017f NbrPorts 2
Starting the controller
USB XHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found

USB device 0:
Device 0: Vendor: Sony Rev: 0100 Prod: Storage Media
Type: Removable Hard Disk
Capacity: 7728.0 MB = 7.5 GB (15826944 x 512)
... is now current device
Scanning usb 0:1...
Scanning usb 0:2...
Found U-Boot script /ls1012afrdm_boot.scr
714 bytes read in 454 ms (1000 Bytes/s)
## Executing script at 80000000
20019712 bytes read in 10710 ms (1.8 MiB/s)
12768 bytes read in 212 ms (58.6 KiB/s)
## Flattened Device Tree blob at 90000000
Booting using the fdt blob at 0x90000000
Using Device Tree in place at 0000000090000000, end 00000000900061df
WARNING: fdt_fixup_stdout: could not read serial0 alias: FDT_ERR_NOTFOUND
PCIe0: pcie@3400000 Root Complex: no link

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
...
[ OK ] Started LXC Container Initialization and Autoboot Code.

Ubuntu 16.04.4 LTS localhost ttyS0

localhost login: root
Password:
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.9.62 aarch64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

root@localhost:~#

I then added a few kernel config fragments (to enable IPv6 netfiltering) and made various changes to the distrorfs (eg, I set additional_packages_list to install nmap, snmp, wget, etc). After rebuilding and creating a different USB drive with flex-installer, I attempted to follow the same steps to flash the boot partition. But now I get a "Synchronous Abort" handler error:

=> usb start
=> ext2load usb 0:2 0xa0000000 firmware_ls1012afrdm_uboot_qspiboot.img
"Synchronous Abort" handler, esr 0x96000146
ELR: 9bd4a128
LR: 9bd7c074
x0 : 00000000a0000000 x1 : 00000000a0002800
x2 : 0000000000000040 x3 : 000000000000003f
x4 : 0000000000010000 x5 : 0000000000000000
x6 : 000000009bcb1d80 x7 : 000000009bca689f
x8 : 000000009bdaa5c8 x9 : 5a5a5a5a5a5a5a5a
x10: 00000000003e0000 x11: 0000000000010000
x12: 0000000000000000 x13: 00000000ffffffff
x14: 0000000000000017 x15: 0000000000000002
x16: 0000000000000000 x17: ad5b1efbdff05f8a
x18: 000000009bca8da0 x19: 0000000000002800
x20: 0000000000000002 x21: 000000009bcb1d80
x22: 000000009bca9bc0 x23: 00000000c0008283
x24: 00000000a0000000 x25: 0000000000002800
x26: 000000009bcb12d0 x27: 0000000000000200
x28: 0000000000000001 x29: 000000009bca66d0

Resetting CPU ...

### ERROR ### Please RESET the board ###


What's strange is that if it attempt to flash the boot partition from the original USB drive, I get the same error. HELP!!!

Labels (1)
0 Kudos
1 Solution
2,498 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Herb Kuta,

The address 0xa0000000 is not correct.

According to LS1012 system memory map, DRAM1 start address is 0x8000_0000.

According to your u-boot information, FRDM-LS1012A DRAM size is 446M.

So you should use the address range less than 0x9BE0_0000.

You could try to use the address 0x9600_0000 on FRDM-LS1012A board.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

2 Replies
2,499 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Herb Kuta,

The address 0xa0000000 is not correct.

According to LS1012 system memory map, DRAM1 start address is 0x8000_0000.

According to your u-boot information, FRDM-LS1012A DRAM size is 446M.

So you should use the address range less than 0x9BE0_0000.

You could try to use the address 0x9600_0000 on FRDM-LS1012A board.


Have a great day,
TIC

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

2,498 Views
kuta42
Contributor III

Using 0x96000000 instead of 0xa0000000 fixes the problem. I will file a bug against the LSDK documentation that it doesn't mention that this address is board-specific.