After building i.mx8mp as Yocto core-image-base, downloading it to the target board and opening it to use uart3, the following error occurred.
how can i solve it?
I already tried to use sdma as a module, but it didn't work.
imx-uart 30880000.serial: We cannot prepare for the RX slave dma!
WOBD communication....open_port: [ 39.025350] Unable to handle kernel NULL poi
nter dereference at virtual address 0000000000000000
/dev/ttymxc2 [4099] =>[ O K 3
.036511] Mem abort info:
[ 39.041556] ESR = 0x96000044
[ 39.044610] EC = 0x25: DABT (current EL), IL = 32 bits
[ 39.049919] SET = 0, FnV = 0
[ 39.052972] EA = 0, S1PTW = 0
[ 39.056110] Data abort info:
[ 39.058988] ISV = 0, ISS = 0x00000044
[ 39.062823] CM = 0, WnR = 1
[ 39.065790] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000107947000
[ 39.072228] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000
[ 39.079019] Internal error: Oops: 96000044 [#1] PREEMPT SMP
[ 39.084590] Modules linked in: rpcsec_gss_krb5 fsl_jr_uio caam_jr caamkeyblob
_desc caamhash_desc caamalg_desc crypto_engine rng_core authenc libdes crct10dif
_ce imx8_media_dev(C) caam flexcan can_dev secvio error fuse
[ 39.103913] CPU: 1 PID: 481 Comm: serial_test Tainted: G C 5.1
0.72-lts-5.10.y+ga68e31b63f86 #1
[ 39.113825] Hardware name: NXP i.MX8MPlus MicroVision EVK board (DT)
[ 39.120178] pstate: 80000085 (Nzcv daIf -PAN -UAO -TCO BTYPE=--)
[ 39.126188] pc : sdma_transfer_init+0x130/0x260
[ 39.130717] lr : sdma_transfer_init+0xc0/0x260
[ 39.135158] sp : ffff80001245ba50
[ 39.138471] x29: ffff80001245ba50 x28: ffff0000c0c588c8
[ 39.143784] x27: ffff0000c6607807 x26: ffff0000c0c5c6a8
[ 39.149097] x25: 0000000000000080 x24: 0000000000000000
[ 39.154409] x23: 0000000000000080 x22: ffff0000c0c58080
[ 39.159722] x21: ffff800011d6d200 x20: ffff0000c643eb00
[ 39.165034] x19: ffff0000c0c588c8 x18: 0000000000000000
[ 39.170347] x17: 0000000000000000 x16: 0000000000000000
[ 39.175660] x15: 001fffffffffffff x14: 0000000000180000
[ 39.180972] x13: 0000000000008000 x12: 0000000000001000
[ 39.186285] x11: 00000000ffffffff x10: ffff80001245ba70
[ 39.191597] x9 : 0000000000000000 x8 : ffff800012088000
[ 39.196910] x7 : 0000000000000000 x6 : 000000000000003f
[ 39.202222] x5 : 0000000000000040 x4 : 0000000000000000
[ 39.207534] x3 : ffff0000c0c5c6a8 x2 : 0000000000000001
[ 39.212847] x1 : 00000000000002ed x0 : 0000000001830020
[ 39.218159] Call trace:
[ 39.220606] sdma_transfer_init+0x130/0x260
[ 39.224789] sdma_prep_slave_sg+0x6c/0x280
[ 39.228886] imx_uart_dma_tx+0xdc/0x230
[ 39.232721] imx_uart_start_tx+0x10c/0x230
[ 39.236818] __uart_start.isra.0+0x3c/0x50
[ 39.240914] uart_write+0x100/0x890
[ 39.244403] n_tty_write+0x2bc/0x46c
[ 39.247979] file_tty_write.constprop.0+0x138/0x290
[ 39.252855] tty_write+0x14/0x20
[ 39.256084] new_sync_write+0xe8/0x180
[ 39.259832] vfs_write+0x244/0x2a4
[ 39.263233] ksys_write+0x6c/0x100
[ 39.266633] __arm64_sys_write+0x20/0x30
[ 39.270557] el0_svc_common.constprop.0+0x78/0x1c4
[ 39.275344] do_el0_svc+0x24/0x8c
[ 39.278660] el0_svc+0x14/0x20
[ 39.281713] el0_sync_handler+0x1a4/0x1b0
[ 39.285722] el0_sync+0x180/0x1c0
[ 39.289039] Code: b90026a0 52800400 531b6af7 72a03060 (b9000300)
[ 39.295131] ---[ end trace 6eb135a2e9b977ca ]---
[ 39.299749] note: serial_test[481] exited with preempt_count 2
Broadcast message from systemd-journald@imx8mp-lpddr4-evk (Wed 2021-03-24 10:25:
54 UTC):
kernel[432]: [ 39.079019] Internal error: Oops: 96000044 [#1] PREEMPT SMP
Broadcast message from systemd-journald@imx8mp-lpddr4-evk (Wed 2021-03-24 10:25:
54 UTC):
kernel[432]: [ 39.289039] Code: b90026a0 52800400 531b6af7 72a03060 (b9000300)
解決済! 解決策の投稿を見る。
I solved the problem in the following way.
Add the below to the conf/local.conf file
CORE_IMAGE_EXTRA_INSTALL += " firmwared"
I applied this too, but there is still an error.
CORE_IMAGE_EXTRA_INSTALL += " firmwared"
The following is my detailed progress list.
1. [ imx8mp evk board ]
2. [ yocto imx-linux-hardknott branch ]
4. DISTRO=fsl-imx-wayland MACHINE=imx8mpevk source imx-setup-release.sh -b build
5. bitbake core-image-minimal
6. CORE_IMAGE_EXTRA_INSTALL += " firmwared"
7. disable kernel sdma config #CONFIG_IMX_SDMA=y
but, UART3 can't working....
Try enable SDMA
I have already tred it... ;;;
I solved the problem in the following way.
Add the below to the conf/local.conf file
CORE_IMAGE_EXTRA_INSTALL += " firmwared"
I use [ imx8mp evk board ] , [ yocto imx-linux-hardknott branch ] [ imx-5.10.72-2.2.2.xml ]
The same problem arises for me, too. So I can't proceed with the work at all.