cmem模块,cmemk

《CMEM与DSPLINK详解(一)》:CMEM与DSPLINK简介 在双核(ARM+DSP)系统中 阅读详情

以DM355为例:
模块cmemk.ko为ARM和DSP通信提供连续的内存,装载的格式为:
insmod cmemk.ko pools=4x30000,2x500000 phys_start=0x0 phys_end=0x3000000 pools_1=4x65536 phys_start_1=0x80000000 phys_end_1=0x80010000
表明在内存0x0~0x2ffffff上开辟了两个内存池,第一个由4个30000字节得缓存组成,第二个由2个500000字节的缓存组成。在内存 0x80000000~0x8000ffff上开辟了一个由4个65536字节缓存组成的内存池。(注:低版本的cmem只支持一块内存)
按照Davinci内存的划分,cmem的内存空间位于linux内存和DSP算法使用的内存之间,在dvsdk2.0中cmem内存空间为118~128M(低版本的dvsdk为120~128M,不过低版本的dvsdk的DSP server程序128M之后的很大一块也没有使用,cmem大一点也没事,不过2.0中DSP server程序内存使用从128M开始)
dvsdk2.0中,cmem模块目录为:
[root@localhost cmem]# pwd
/opt/dvsdk_2_00_00_22/linuxutils_2_23_01/packages/ti/sdo/linuxutils/cmem
[root@localhost cmem]# tree
.
|-- CMEM.xdc
|-- Makefile
|-- Rules.make
|-- apps
| |-- Makefile
| |-- apitest
| | |-- Makefile
| | `-- apitest.c
| |-- insmod_rmmod
| | |-- Makefile
| | |-- insmod_rmmod.sh
| | `-- insmod_rmmod_omapL137.sh
| |-- multi_process
| | |-- Makefile
| | `-- multi_process.c
| `-- translate
| |-- Makefile
| `-- translate.c
|-- include
| `-- cmem.h
|-- lib
| `-- cmem.a470MV
|-- package
| |-- build.cfg
| |-- package.bld.xml
| |-- package.defs.h
| |-- package.doc.xml
| |-- package.ext.xml
| |-- package.rel.dot
| |-- package.rel.xml
| |-- package_ti.sdo.linuxutils.cmem.c
| |-- ti.sdo.linuxutils.cmem.ccs
| `-- ti.sdo.linuxutils.cmem.sch
|-- package.xdc
|-- package.xs
|-- readme.txt
`-- src
|-- Makefile
|-- interface
| |-- Makefile
| |-- cmem.c
| |-- cmem.h
| `-- release
| `-- cmem.o470MV
`-- module
|-- Makefile
|-- Module.symvers
|-- cmemk.c
|-- cmemk.ko
|-- cmemk.mod.c
|-- cmemk.mod.o
`-- cmemk.o
12 directories, 40 files
[root@localhost cmem]#
cmem提供的接口在demo中没有出现,而是被中间件进行了封装。dvsdk1.3中内存的分配使用了CE中OSAL包中Memory模块的 Memory_contigAlloc()函数,dvsdk2.0的demo使用了DMAI模块(在CE基础上进一步进行了封装)。

Jmeter压测报告 账户分析压测报告 一、测试内容 本次测试是针对账户分析进行的压力测试,在账户分析查询接口中,只对用户资产查询接口进行压力测试,其中不包含用户签名校验功能。 二、测试方法 本次采用apache的开源测试工具jmeter,采用本地动态拼装请求数据并通过http协议GET方式发送每日盈亏查询请求。并采用1000个用户账号测试访问情况。... 阅读详情

相关推荐

为什么PCB设计中的50Ω阻抗如此重要?从USB到以太网的实战解析

本文深入解析了PCB设计中50Ω特征阻抗的核心重要性及其工程权衡起源。文章从传输线理论出发,阐释了阻抗匹配对防止信号反射、确保信号完整性的关键作用,并对比了USB、以太网等不同应用场景的阻抗标准。同时,文章结合实际案例,剖析了在两层板等简单设计中实现精准阻抗控制的难点与实战解决方案。

weixin_29268385的博客 297

OMAPL138学习---CMEM

设计 Memory Map 增加Linux的内存量以提高系统的整体性能 total memory= DSP server memory + CMEM memory + Linux Memory 所以我们要做的就是尽量减少 DSP server 和 CMEM的内存量,只分配必需的量,以增加linux的内存。 DSP server 有四部分 1、两个小的系统段,DSPLINKMEM 和 RE

zxycele的专栏 1042

Geant4学习一:写一个简单程序

1、 基本介绍

ccwwNUAA的博客 7697

DM3730 调试心得4之cmemk

最近被一个问题困扰了很久,就是TI的dvsdk 编译出来的可加载模块cmemk.ko,这个模块是TI 专门针对DSP和ARM 之间共享内存,数据交互而设计的,在dvsdk编译完成哦会被放在,system/ti-dsp/下面。 那我遇到什么问题了 呢,原来是整个android系统可以在SD卡中启动并正确的完成cmemk.ko模块的加载,加载主要是通过文件系统中内核运行的第一个脚本init.rc文件

天才之嵌入式 6942

放弃FFT全频计算!在STM32F407上用DFT单点计算提速50%的优化技巧

本文详细介绍了在STM32F407上通过DFT单点计算实现比FFT快50%的优化技巧,特别适用于生物阻抗分析、振动监测等只需关注单一频点的嵌入式场景。通过预计算相位角、查表法和混合精度计算等策略,显著提升计算效率和内存利用率,同时保持高精度。

weixin_28738397的博客 192

LiblibAI新手教程:从零开始训练你的第一个LoRA模型(保姆级指南)

本文提供LiblibAI平台上从零开始训练LoRA模型的保姆级教程,涵盖数据准备、参数优化到效果调优全流程。详细解析LoRA技术优势,包括云端计算资源、自动化预处理工具等,帮助新手快速掌握自定义模型训练技巧,实现高效AI绘画创作。

dell8的博客 620

cmem 模块【转】

模块cmemk.ko为ARM和DSP通信提供连续的内存,装载的格式为:insmod cmemk.ko pools=4x30000,2x500000 phys_start=0x0 phys_end=0x3000000 pools_1=4x65536 phys_start_1=0x80000000 phys_end_1=0x80010000表明在内存0x0~0x2ffffff上开辟了两个内存池,第

chenaini119的专栏 1156

IFIX往Mysql数据库同步数据方法

通过IFix数据库向Mysql数据库同步数据

仙人掌 1595

错误解决方案:FATAL: Error inserting cmemk (/lib/modules/2.6.37/kernel/drivers/dsp/cmemk.ko): Bad address

参考了文章:https://e2e.ti.com/support/embedded/linux/f/354/t/196258 ------------------------------------------------------------------------ 加载cmemk.ko dsplinkk.ko sdmak.ko 驱动打印 以下错误 [  263.640869

young honker 4313

STM32驱动WS2812B实现音乐频谱可视化系统

本文详细介绍了基于STM32驱动WS2812B灯带实现音乐频谱可视化系统的设计与实现。通过FFT算法实时分析音频信号,将频谱映射到炫彩灯光控制系统,结合PWM和DMA技术实现低延迟响应。系统支持多模式切换和动态亮度调节,适用于创意灯光秀和智能家居场景。

weixin_29171129的博客 302

RK3568/RK3588之修改8250驱动实现RS485收发的自动切换

在串口发送前,若为485,则将控制引脚拉为发送状态,在发送后,循环查看是否发送完成,若发送完成则将引脚置回读状态,如此一来,就能实现在内核测控制方向切换,而不会因为延时造成数据丢失,经过测试此办法可行。全部修改完成后,重新编译生成内核文件和设备树文件,烧写到板子上即可。

哒宰的博客 3114

编译cmem,build cmem module,cmemk,davinci

<br />一个老外写的,后面我补充下:<br />Compiling CMEM for the Beagleboard…Filed under: Beagleboard, DSP, Linux, OMAP3530 — Tags: Beagleboard — Nils @ 10:51 am<br />Since I tend to forget these things, here’s a little tutorial how to compile the Texas Instruments CMEM a

LYJ个人博客,记录技术、八卦、生活,分享各种心得,期待与朋友们一同进步 3567

Dvsdk 下的CMEM学习

最近在学习TI的dvsdk_2_10_01_18。因为移植IPNC2.6的时候出现了个问题, CMEMK Error: get_phys: Unable to find phys addr for 0x00000000 CMEMK Error: get_phys: get_user_pages() failed: -14 CMEMK Error: GETPHYS...

weixin_34117211的博客 168

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

dm355压缩1027x768的视频

 压缩的时候一开始会报错@0x000a3d45:[T:0x40018CMEMK Error: Failed to find a pool which fits 2740224 070] venc - App-> Application started.CMEM Error: getPool: Failed to get a pool fitting a size 2740224

WishMaster 1922

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

CMEMK Error: Failed to find a pool which fits 622080

终端错误; CMEMK Error: Failed to find a pool which fits 622080 CMEM Error: getPool: Failed to get a pool fitting a size 622080 Failed to allocate memory. Error: Failed to allocate contiguous buffers

zhangjikuan的专栏 1820

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

DM365 IPNC软件架构具体解释

于2013在上半场 - 年DM365、DM368的IPNC(网络摄像机)与稳定性测试工作产品结束。 1.简单介绍: TI针对TMS320DM365、DM368进行了DVR和IPNC的应用方案參考。DVR方案一般基于DM368 DVRRD SDK (includes TI DVSDK, TI LSP, DVR applications, DVRfilesystem, boot an...

weixin_30887919的博客 130

Loading and starting DSP server c6accel_omap3530.x64P FAILED

Loading and starting DSP server 'c6accel_omap3530.x64P' FAILED This question is answered Posted by Myosotis on Jun 25 2012 07:50 AM Intelle

linuxarmsummary的专栏 1571

ti6446 codec engine内存分配的一个重要实例

A Real World Example This section describes an actual case in which a particular customer tried to resize their memory map. The application is a four-channel CIF MPEG4 Simple Profile (or H.264 Basel

yangzhifu的专栏 1444

DM365编解码器移植:从DSP到ARM Linux的内存管理与调试实战

在嵌入式多媒体开发中,编解码器是实现视频监控、视频会议等实时应用的核心组件,其性能直接影响系统效率。编解码器的工作原理涉及算法压缩与解压缩,通过专用硬件(如协处理器)卸载计算密集型任务,以提升处理速度并降低主CPU负载。其技术价值在于实现高效的数据压缩与实时处理,广泛应用于安防、通信、消费电子等领域。在异构多核SoC(如TI DM365)上,将编解码器从DSP环境移植到ARM Linux系统时,核心挑战在于协调虚拟内存与物理地址访问,并确保硬件加速资源(如VICP协处理器)的正确调用。本文聚焦于解决内存地址

weixin_33991418的博客 372

DM6467 memory map HOW-TO

1.       First, you should calculate your memory map of your board. For example, we use 128M DDR2 memory, and our Address Range is as below(this step is very important): Address Range

maopig的专栏 2109

OMAP353x EVM 调试video_copy

http://zhuairlunjj.blog.163.com/blog/static/80050945201153112020382/ 最后一步出错: root@omap3evm:/opt/video_copy# ./app_remote.xv5T @0x000a660f:[T:0x4001d210] ti.sdo.ce.examples.apps.video_copy.siStart

zm_nong的专栏 2571

OMAP3530 DSP Howto ( Really works by DSPLINK)

搞了一段很長的時間終於把DSP功能弄起來了,該是回頭紀錄一下"眉角"了. 1.Before touch anything 目前有兩種方式可以控制DSP,一個是TI DVSDK提供的DSPLINK,另一個則是DSPBRIDGE. 以我從google搜尋之後的了解DSPBR

yuyin86的专栏 2705

dm6446 loadmodules.sh

一、应用        loadmodules.sh作用:加载cmemk.ko和dsplink.ko脚本文件。应用过程中需要的如下:        1、phys_start和phys_end地址         phys_start的地址是继Linux内存划分之后,该地址要看环境配置确定。如下         # Start Addr    Size    Description

614

DAVINCI DM3730开发攻略——应用程序例程分析

过完2015年春节回来了,利用上班前的几天时间,先把这篇文章写完,本来是先写《DAVINCI DM3730开发攻略——linux-2.6.32移植》,但是那篇文章涉及内核的东西太多,不太好写,而本人已经很长时间没写新文章了,先发布这篇文章。后来想了想,从应用程序使用的角度分析,再一步一步深入内核里边去,也许更好。前面几篇DM3730开发攻略讲到:一个DAVINCI  DM3730板子程序...

kunkliu的博客 435
上一篇: kbhit()在linux下的模拟,getch,getchar,不等待的键盘检测函数
下一篇: alsa 音频库的移植
#Page#
博客等级 码龄23年 1691粉丝 360原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值