Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How run sel4 test on TX2 board? #17

Open
wjhtinger opened this issue Nov 9, 2021 · 2 comments
Open

How run sel4 test on TX2 board? #17

wjhtinger opened this issue Nov 9, 2021 · 2 comments

Comments

@wjhtinger
Copy link

I have build the sel4test by following this guide: https://docs.sel4.systems/Hardware/JetsonTX2.html#building-sel4test, and get the sel4test-driver-image-arm-tx2 file successfully.
But how to run the image on TX2 board? I have tested to use uboot cmdline by tftp to load the image, but cant run.
Anyone can give some guide how run on TX2 board?
Thanks.

Below is the uboot log FYR:
Tegra186 (P2771-0000-500) # tftp 0x80a88000 sel4test-driver-image-arm-tx2;go 0x80a88000
ethernet@2490000 Waiting for PHY auto negotiation to complete...... done
Using ethernet@2490000 device
TFTP from server 192.168.42.16; our IP address is 192.168.42.17
Filename 'sel4test-driver-image-arm-tx2'.
Load address: 0x80a88000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###########
993.2 KiB/s
done
Bytes transferred = 5874752 (59a440 hex)

Starting application at 0x80A88000 ...

"Synchronous Abort" handler, esr 0x02000000
ELR: 80a88000
LR: fff3d3d4
x0 : 0000000000000001 x1 : 00000000ffb3a5a8
x2 : 00000000ffb3a5a8 x3 : 0000000080a88000
x4 : 0000000000000000 x5 : 0000000000000030
x6 : 00000000fff87775 x7 : 000000000000000f
x8 : 00000000ffb2fe70 x9 : 0000000000000008
x10: 00000000ffb2f6fa x11: 0000000000000008
x12: 00000000ffffffff x13: 0000000000000200
x14: 0000000000000004 x15: 0000000000000000
x16: 0000000000002090 x17: 0000000000000001
x18: 00000000ffb32de0 x19: 00000000ffb3a5a8
x20: 0000000000000002 x21: 0000000080a88000
x22: 00000000ffb3a5a0 x23: 00000000fffaa7f4
x24: 0000000000000002 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 00000000ffb3a600 x29: 00000000ffb2ffc0

Resetting CPU ...

resetting ...

@kent-mcleod
Copy link
Member

I think the default image generated in your case would be a uboot uImage. This can be booted via uboot by replacing go with bootm.

When I build an seL4test image using the instructions, my image is a uImage type:

kentm@up:/tmp/tmp.Wb7CILCK0C/cbuild$ file images/sel4test-driver-image-arm-tx2 
images/sel4test-driver-image-arm-tx2: u-boot legacy uImage, , Linux/ARM 64-bit, OS Kernel Image (Not compressed), 5624152 bytes, Wed Nov 10 23:22:19 2021, Load Address: 0x80A7A000, Entry Point: 0x80A7A000, Header CRC: 0x5CBF77E2, Data CRC: 0xB58297A5

@wjhtinger
Copy link
Author

I think the default image generated in your case would be a uboot uImage. This can be booted via uboot by replacing go with bootm.

When I build an seL4test image using the instructions, my image is a uImage type:

kentm@up:/tmp/tmp.Wb7CILCK0C/cbuild$ file images/sel4test-driver-image-arm-tx2 
images/sel4test-driver-image-arm-tx2: u-boot legacy uImage, , Linux/ARM 64-bit, OS Kernel Image (Not compressed), 5624152 bytes, Wed Nov 10 23:22:19 2021, Load Address: 0x80A7A000, Entry Point: 0x80A7A000, Header CRC: 0x5CBF77E2, Data CRC: 0xB58297A5

Yes,bootm is OK. Now the sel4test boot rightly, but go something wrong, what's the problem, can you give some ideas?
Below is the log:

Booting kernel from Legacy Image at 80a88000 ...

Image Name:
Image Type: AArch64 Linux Kernel Image (uncompressed)
Data Size: 5874688 Bytes = 5.6 MiB
Load Address: 80a88000
Entry Point: 80a88000
Verifying Checksum ... OK
Loading Kernel Image ... OK

Starting kernel ...

Enabling TX2 SError result 0

ELF-loader started on CPU: ARM Ltd. Cortex-A57 r1p3
paddr=[80a88000..810223ff]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at 80bf07a0.
Loaded DTB from 80bf07a0.
paddr=[80244000..80277fff]
ELF-loading image 'kernel' to 80000000
paddr=[80000000..80243fff]
vaddr=[ffffff8080000000..ffffff8080243fff]
virt_entry=ffffff8080000000
ELF-loading image 'sel4test-driver' to 80278000
paddr=[80278000..8068dfff]
vaddr=[400000..815fff]
virt_entry=412da8
Enabling MMU and paging
Jumping to kernel-image entry point...

Bootstrapping kernel
available phys memory regions: 5
[80000000..d8300000]
[d9300000..f0000000]
[f0200000..f1000000]
[f9000000..276000000]
[276600000..276800000]
reserved virt address space regions: 3
[ffffff8080000000..ffffff8080244000]
[ffffff8080244000..ffffff8080278000]
[ffffff8080278000..ffffff808068e000]
Booting all finished, dropped to user space
Caught cap fault in send phase at address 0
while trying to handle:
vm fault on code at address 0 with status 0x82000006
in thread 0xffffff82767c9400 "rootserver" at address 0
With stack:
0x703d80: 0x485208
0x703d88: 0x0
0x703d90: 0x8150c8
0x703d98: 0x462410
0x703da0: 0x8150c8
0x703da8: 0x462408
0x703db0: 0x485208
0x703db8: 0x8
0x703dc0: 0x8
0x703dc8: 0x0
0x703dd0: 0x0
0x703dd8: 0x0
0x703de0: 0x0
0x703de8: 0x412cac
0x703df0: 0x0
0x703df8: 0x20

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants