Part Number: SK-TDA4VM
k3-j721e-rtos-memory-map.dtsi,其中为 C71x 保留了:vision_apps_c71_0_dma_memory_region:0xB2000000, 1 MB (shared-dma-pool,no-map)vision_apps_c71_0_memory_region:0xB2100000, 95 MB (shared-dma-pool,no-map)vision_apps_shared_region:0xB8000000, 512 MB (dma-heap-carveout)
DDR_C7x_1_IPC=0xB2000000(1 MB) → 对应c71_0_dma_memory_regionDDR_C7x_1_RESOURCE_TABLE=0xB2100000→ 在c71_0_memory_region起始处DDR_C7x_1(代码/BSS) =0xB2604000~0xB8000000→ 在c71_0_memory_region范围内SHARED_DDR_PCIE=0xB8000000(1 MB,.ddrData段,type=NOLOAD) → 在vision_apps_shared_region范围内
ti_ipc_remoteproc_ResourceTable) 使用 __attribute__((section(".resource_table"), aligned(4096))) 放置在 .resource_table 段,链接到 0xB2100000。编译后的 .map 文件确认 .resource_table 在 0xB2100000,大小 0x98 字节。remoteproc 启动日志也显示正常加载:/dev/mem + mmap() 写入 0xB8000000 时报错 Operation not permitted。/proc/iomem 显示该区域为 reserved:dma-heap-carveout(没有 no-map),所以 Linux 内核可能不允许通过 /dev/mem 直接映射。请问:dma-heap-carveout 类型的保留区域,用户态程序通过什么方式访问是正确的?是否需要通过 /dev/dma_heap/ 接口?或者我是否应该为这 1 MB 的 PCIe 共享区域单独添加一个 no-map 的 reserved-memory 节点,使其可以通过 /dev/mem 访问?/usr/lib/firmware/j7-c71_0-fw,但是现在又无法启动了# This uEnv.txt file can contain additional environment settings that you
# want to set in U-Boot at boot time. This can be simple variables such
# as the serverip or custom variables. The format of this file is:
# variable=value
# NOTE: This file will be evaluated after the bootcmd is run and the
# bootcmd must be set to load this file if it exists (this is the
# default on all newer U-Boot images. This also means that some
# variables such as bootdelay cannot be changed by this file since
# it is not evaluated until the bootcmd is run.
# Also update the Linux hostname based on board_name
uenvcmd=if test "$board_name" = "j721e-sk"; then ; setenv args_all $args_all systemd.hostname=tda4vm-sk ; fi;
# Setting the right U-Boot environment variables
dorprocboot=1
name_overlays=ti/k3-j721e-edgeai-apps.dtbo这是sd卡的boot区里uenv文件内容,是不是有问题