DSP报错#10099-D</a> program will not fit into available memory

DSP报错#10099-D程序将无法放入可用内存

  • 问题
  • 解决方法
  • 后续

问题

开发TMS320Fxxxxx出现以下问题:

<a href="file:/D:/TI/ti/ccs/tools/compiler/dmed/HTML/10099.html">#10099-D</a>  program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment/blocking fails for section ".cinit" size 0x1d page 0.  Available memory ranges:	2837xD_FLASH_lnk_cpu1.cmd

  • 网络上的解释

这个错误消息表明程序在可用内存中无法适应或者包含了一个需要生成跳板但无法为该部分生成跳板的调用点。主要问题似乎是与.cinit节的大小和放置相关。通常,这种问题可能是由于以下原因之一引起的:

内存不足:程序的大小超出了可用的内存范围。这可能是由于代码或数据量增加导致的。你可以尝试优化代码以减小程序的大小,或者寻找更大的内存容量。

节的排列和对齐:.cinit节可能要求的对齐或者分配方式与可用内存不匹配。你可以尝试调整.cinit节的放置或对齐方式,以使其符合可用内存的要求。

跳板生成问题:错误消息中提到的"trampoline"指的是一个跳板,用于在代码段中调用另一个代码段。可能是无法为某些调用生成这种跳板,这可能需要对代码或链接器设置进行调整。

针对这些问题,你可以采取以下步骤来解决:

检查代码大小:确认程序是否超出了可用内存范围。你可以使用代码大小分析工具来查看各个部分的大小,以确定哪些部分导致了内存溢出。

调整节的排列和对齐方式:尝试调整.cinit节的放置和对齐方式,使其符合可用内存的要求。这可以通过调整链接器脚本或者编译器选项来实现。

优化代码:检查代码是否存在冗余或者可以优化的部分。使用优化编译器选项可以帮助减小程序的大小。

查看链接器输出:查看链接器的输出信息,了解哪些部分导致了内存溢出或者跳板生成问题。链接器可能会提供更详细的错误信息,帮助你定位和解决问题。

增加内存容量:如果可能的话,考虑增加目标设备的内存容量,以容纳程序的大小。

  • 自己的总结和分析:
    点击错误,跳转到xxxx_FLASH_lnk_cpu1.cmd

    我们打开Memory Allocation窗口,看到.cinit 已经满了
    在这里插入图片描述
    出现这种问题的主要原因是.cinit所在的内存块占用满了,也就是FLASHB 满了,我们可以进行修改。

解决方法

我们首先打开xxxx_FLASH_lnk_cpu1.cmd文件,找到下列代码的位置。

   /* Allocate program areas: */
   .cinit              : > FLASHB        PAGE = 0, ALIGN(8)//增加FLASHG,因为内存溢出
   .text               : >>  FLASHB|FLASHC | FLASHD | FLASHE      PAGE = 0, ALIGN(8)
   codestart           : > BEGIN       PAGE = 0, ALIGN(8)
   /* Allocate uninitalized data sections: */
   .stack              : > RAMM1       PAGE = 1
   .switch             : > FLASHB      PAGE = 0, ALIGN(8)
   .reset              : > RESET,      PAGE = 0, TYPE = DSECT /* not used, */

然后把和.cinit同在 FLASHB的.text去掉 FLASHB。更改完后如下:

   /* Allocate program areas: */
   .cinit              : > FLASHB        PAGE = 0, ALIGN(8)//增加FLASHG,因为内存溢出
   .text               : >> FLASHC | FLASHD | FLASHE      PAGE = 0, ALIGN(8)
   codestart           : > BEGIN       PAGE = 0, ALIGN(8)
   /* Allocate uninitalized data sections: */
   .stack              : > RAMM1       PAGE = 1
   .switch             : > FLASHB      PAGE = 0, ALIGN(8)
   .reset              : > RESET,      PAGE = 0, TYPE = DSECT /* not used, */

此时再编译,发现不报错了。

后续

更多内容欢迎关注公众号:物联网知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/528487.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

P5200A泰克P5200A高压差分探头

181/2461/8938产品概述&#xff1a; 特点: 1.3 kV差分1 kV至地&#xff08;每个通道&#xff09;50 MHz带宽50倍/500倍衰减UL认证3111-1IEC 1010认证不再不安全地浮动您的范围出色的信号保真度轻松连接IC和汇流条对用户和DUT安全由9 VDC墙壁适配器供电超量程指示器安全认证可…

rhce复习3

DNS DNS&#xff08;Domain Name System&#xff09;是互联网上的一项服务&#xff0c;它作为将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网。 DNS系统使用的是网络的查询&#xff0c;那么自然需要有监听的port。DNS使用的是53端口&#x…

SRIO学习(1)SRIO介绍以及IP核详解

文章目录 一、SRIO介绍1.1、概要1.2、RapidIO与传统嵌入互连方式的比较1.3、串行RapidIO协议&#xff08;SRIO&#xff09; 二、RapidIO协议结构及包格式2.1、逻辑层2.2 传输层2.3 物理层 三、IP核详解3.1、逻辑层3.1.1 I/O端口3.1.2 消息&#xff08;Message&#xff09;端口3…

【云呐】工单管理流程,工单管理怎么处理

工单创建  客户或内部员工在系统中创建工单。工单应包括以下信息&#xff1a;  问题的描述  工单的优先级和紧急程度  相关的客户或内部员工信息  工单的类型或类别  相关的附件或文件 工单分配  工单需要分配给适当的人员或团队来解决。分配过程可能涉及到以下步…

龙蜥社区「人人都可以参与开源」—— 走进“龙蜥社区”感受开源魅力

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 开源这个关键字我相信各位开发者们或多或少都听说过&#xff0c;简单来讲开源就是源码开放&#xff0c;但是不意味着使…

【DM8】间隔分区

是范围分区的一个扩展 如果使用了间隔函数做分区&#xff0c;在数据插入的时候&#xff0c;如果没有合适的分区&#xff0c;数据库会自动创建一个新的分区。 –year往后推两年 SELECT SYSDATE numtoyminterval(2,‘YEAR’); –month往后推两年 SELECT SYSDATE numtoyminterv…

交换机与队列的介绍

1.流程 首先先介绍一个简单的一个消息推送到接收的流程&#xff0c;提供一个简单的图 黄色的圈圈就是我们的消息推送服务&#xff0c;将消息推送到 中间方框里面也就是 rabbitMq的服务器&#xff0c;然后经过服务器里面的交换机、队列等各种关系&#xff08;后面会详细讲&…

智慧园区预付费4G水电表管理系统

智慧园区预付费4G水电表管理系统&#xff0c;作为智慧城市建设的重点之一&#xff0c;利用4G通信技术对园区内的水电使用进行实时监控和管理。这种系统借助现代通信技术和物联网的发展&#xff0c;为园区水电能源的预付费、计量、监控和管理提供了新的解决方案。本文将从该系统…

750万人受影响,印度电子巨头boAt重大数据泄露事件

近日&#xff0c;印度消费电子巨头boAt遭遇重大数据泄露事件&#xff0c;超过750万客户的个人数据遭到泄露&#xff0c;泄露的个人数据包括姓名、地址、联系电话、电子邮件 ID 和客户 ID 以及其他敏感信息&#xff0c;目前这些泄露数据正在暗网上流传。 boAt Lifestyle数据库被…

vue项目初始化和部署

目录 1. 技术简介... 2 2. 安装Node.js. 3 3. 全局安装Vue CLI (脚手架工具) 5 4. 创建一个新的Vue项目... 6 5. 在阿里云虚拟机安装和配置Nginx. 9 6. 将Vue项目打包部署到Nginx下... 14 7. 访问部署的项目... 14 1. 技术简介 Vue.js&#xff08;通常简称为Vue&#x…

vue3 +Taro 页面实现scroll-view 分页功能

需求 现在分页列表 后端只给你一个分页的数据列表 没有总页数 没有当前的分页 页数 只有这么一个list 、、、 如何去分页 我这使用的是scroll-view 组件 滑动到底部的事件 根据你当前设定的每页的数据数量和后端返回给你的数据列表数量 当某一次分页 两个数量不相等了以后 就…

群晖NAS使用Docker部署Potopea在线图片编辑工具并实现公网访问

文章目录 1. 部署Photopea2. 运行Photopea3. 群晖安装Cpolar4. 配置公网地址5. 公网访问测试6. 固定公网地址 本文主要介绍如何在群晖NAS使用Docker部署Potopea在线图片编辑工具&#xff0c;并结合cpolar内网穿透实现公网环境可以远程访问本地部署的Potopea. Photopea是一款强大…

【word技巧】Word文档打开密码,两种方法

想要保护Word文档不被任何人打开&#xff0c;保护文件内容&#xff0c;我们可以给word文档设置一个打开密码&#xff0c;今天分享word文档打开密码的两种设置方法。 给word文档设置打开密码有两种方法&#xff0c;方法如下&#xff1a; 方法一&#xff1a; 打开word文档之后…

HarmonyOS 开发-搜索页一镜到底案例

介绍 本示例介绍使用bindContentCover、transition、animateTo实现一镜到底转场动画&#xff0c;常用于首页搜索框点击进入搜索页场景。 效果图预览 使用说明 点击首页搜索框跳转到搜索页面显式一镜到底转场动画 实现思路 通过点击首页搜索框改变bindContentCover全屏模态…

Java绘图坐标体系

一、介绍 下图说明了Java坐标系。坐标原点位于左上角&#xff0c;以像素为单位。在Java坐标系中&#xff0c;第一个是x坐标&#xff0c;表示当前位置为水平方向&#xff0c;距离坐标原点x个像素&#xff1b;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐…

【机器学习】深入解析机器学习基础

在本篇深入探讨中&#xff0c;我们将揭开机器学习背后的基础原理&#xff0c;这不仅包括其数学框架&#xff0c;更涵盖了从实际应用到理论探索的全方位视角。机器学习作为数据科学的重要分支&#xff0c;其力量来源于算法的能力&#xff0c;这些算法能够从数据中学习并做出预测…

甲方安全建设之研发安全-SCA

前言 大多数企业或多或少的会去采购第三方软件&#xff0c;或者研发同学在开发代码时&#xff0c;可能会去使用一些好用的软件包或者依赖包&#xff0c;但是如果这些包中存在恶意代码&#xff0c;又或者在安装包时不小心打错了字母安装了错误的软件包&#xff0c;则可能出现供…

移动端app如何设计测试用例?

1. 用户界面测试 布局和元素 验证所 有UI元素&#xff08;如按钮、文本框、图像等&#xff09;的位置和尺寸是否与设计图一致。 验证文本颜色、字体和大小是否易于阅读。 验证交互元素&#xff08;如按钮&#xff09;的点击区域是否足够大&#xff0c;易于触摸。 导航和流…

javaWeb车辆管理系统设计与实现

摘 要 随着经济的日益增长,车辆作为最重要的交通工具,在企事业单位中得以普及,单位的车辆数目已经远远不止简单的几辆,与此同时就产生了车辆资源的合理分配使用问题。 企业车辆管理系统运用现代化的计算机管理手段&#xff0c;不但可以对车辆的使用进行合理的管理&#xff0c;…

【算法】贪心算法练习一

个人主页 &#xff1a; zxctscl 如有转载请先通知 题目 1. 贪心算法的介绍2. 860. 柠檬水找零2.1 分析2.2 代码3. 2208. 将数组和减半的最少操作次数3.1 分析3.2 代码4. 179. 最大数4.1 分析4.2 代码 1. 贪心算法的介绍 一、贪心策略&#xff1a;解决问题的策略&#xff0c;局…