You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何访问SpacemiT K1/X60上的TCM(紧耦合内存)

SpacemiT K1/X60 TCM(紧耦合内存)访问实践与分析

基础参数

  • SpacemiT K1/X60的首个4核集群配备512KiB的TCM(Tightly Coupled Memory,紧耦合内存)
  • TCM在物理地址空间中映射至0xD800000

初始问题

官方文档中未提供该TCM的具体访问方式说明。

对比ARM架构的实现:部分ARM CPU通过内核头文件asm/tcm.h提供tcm_alloc()、tcm_free()等工具接口来管理TCM,其内核层的TCM基础设施(如tcm.c)实现逻辑复杂,并非简单的物理内存平面映射。

内核源码探索

查看SpacemiT的Linux内核源码时,先在设备树中找到TCM的相关定义,但未找到对应ARM tcm.h的等效头文件。后续定位到了TCM对应的驱动代码(位于drivers/misc/tcm.c),但最初未明确其使用方法。

实践验证:通过ioctl操作TCM

已编写C代码实现TCM状态查看功能,代码如下:

#include <stdio.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>

#define IOC_MAGIC       'c'
#define TCM_MEM_SHOW        _IOR(IOC_MAGIC, 2, int)
#define TCM_VA_TO_PA        _IOR(IOC_MAGIC, 4, int)
#define TCM_REQUEST_MEM     _IOR(IOC_MAGIC, 5, int)
#define TCM_RELEASE_MEM     _IOR(IOC_MAGIC, 6, int)

int main()
{
    int fd = open("/dev/tcm", O_RDWR);
    if (-1 == fd)
    {
        printf("Failed to open tcm\n");
        return -1;
    }

    unsigned long arg = 0;
    ioctl(fd, TCM_MEM_SHOW, arg);

    close(fd);
    return 0;
}

运行该代码后,内核日志输出TCM的空闲块信息:

[2543369.524828] mem block id(0):
[2543369.524852] mm_show start
[2543369.524859] mem free node[0]: ffffffd904559240 paddr: d8000000 size:0x20000
[2543369.524867] mm_show end
[2543369.524870] mem block id(1):
[2543369.524874] mm_show start
[2543369.524878] mem free node[0]: ffffffd904559280 paddr: d8020000 size:0x20000
[2543369.524884] mm_show end
[2543369.524889] mem block id(2):
[2543369.524893] mm_show start
[2543369.524897] mem free node[0]: ffffffd9045592c0 paddr: d8040000 size:0x20000
[2543369.524903] mm_show end
[2543369.524907] mem block id(3):
[2543369.524910] mm_show start
[2543369.524914] mem free node[0]: ffffffd904559300 paddr: d8060000 size:0x20000
[2543369.524920] mm_show end

后续推测

  • 定义的其他ioctl指令(地址转换、内存申请/释放)应该也能正常工作
  • 默认情况下,访问/dev/tcm设备文件需要root权限

内容的提问来源于stack exchange,提问作者linedot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:28:10