MAP文件是CCS软件编译后产生的有关DSP用到所有程序、数据及IO空间的一种映射文件。
一、生成方法
MAP文件主要有两种生成方法,一种是由系统自动生成,默认文件名为所建立的项目名(如XXX为项目名)加上.map后缀xxx.map,另一种在CMD文件中指定生成MAP文件,操作方法为在MEMORY指令前面加上“-m abc.map”,文件名可以任意。
二、文件格式
MAP文件大概分为文件头、内存配置、段映射、全局符号四部分。内存配置与CMD文件中的MEMORY指令关联,在CMD文件中定义的程序与数据区间定义,在该部分均可以找到对应,与CMD文件不同的时,在MAP文件中加入了一个实际使用的区间,即在程序中实际用到的空间长度。段映射部分与CMD文件中的SECTION指令关联,在该部分程序中所有的段实际映射的起始地址与实际长度均有详细说明。可以具体到程序中#pragma指定的段和各个单独文件产生的OBJ文件。全局符号可以是程序使用的每一个函数、程序中定义的全局变量均可以在此找到对应的起始地址。MAP文件中采用两种方式列举,一种为按相应地址排列,另一种按全局符号字母排列。
三、存储地址
MAP文件默认保存在所在项目下面,由CMD文件产生的MAP文件保存在该项目的DEBUG目录下面。
样例如下(详细见附件):
******************************************************************************
TMS320C2000 COFF Linker PC v4.1.0 
******************************************************************************
>> Linked Tue Apr 08 17:52:23 2008
OUTPUT FILE NAME: <./Debug/F2812.out>
ENTRY POINT SYMBOL: "_c_int00" address: 003f8362

MEMORY CONFIGURATION
name origin length used attr fill
---------------------- -------- --------- -------- ---- --------
PAGE 0: RAMM0 00000000 00000400 00000000 RWIX
BEGIN 003f8000 00000002 00000000 RWIX
PRAMH0 003f8002 00000ffe 000004a1 RWIX
RESET 003fffc0 00000002 00000000 RWIX
PAGE 1: RAMM1 00000400 00000400 00000400 RWIX
DEV_EMU 00000880 00000180 000000d2 RWIX
FLASH_REGS 00000a80 00000060 00000008 RWIX
CSM 00000ae0 00000010 00000010 RWIX
XINTF 00000b20 00000020 00000020 RWIX
CPU_TIMER0 00000c00 00000008 00000008 RWIX
PIE_CTRL 00000ce0 00000020 0000001a RWIX
PIE_VECT 00000d00 00000100 00000100 RWIX
ECANA 00006000 00000040 00000034 RWIX
ECANA_LAM 00006040 00000040 00000040 RWIX
ECANA_MOTS 00006080 00000040 00000040 RWIX
ECANA_MOTO 000060c0 00000040 00000040 RWIX
ECANA_MBOX 00006100 00000100 00000100 RWIX
SYSTEM 00007010 00000020 00000020 RWIX
SPIA 00007040 00000010 00000010 RWIX
SCIA 00007050 00000010 00000010 RWIX
XINTRUPT 00007070 00000010 00000010 RWIX
GPIOMUX 000070c0 00000020 00000020 RWIX
GPIODAT 000070e0 00000020 00000020 RWIX
ADC 00007100 00000020 0000001a RWIX
EVA 00007400 00000040 00000032 RWIX
EVB 00007500 00000040 00000032 RWIX
SCIB 00007750 00000010 00000010 RWIX
MCBSPA 00007800 00000040 00000025 RWIX
RAML0L 00008000 00000800 00000084 RWIX
RAML0H 00008800 00000800 00000000 RWIX
CSM_PWL 003f7ff8 00000008 00000008 RWIX
DRAMH0 003f9000 00001000 00000112 RWIX

SECTION ALLOCATION MAP
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
.switch 0 00000000 00000000 UNINITIALIZED
codestart 
* 0 003f8000 00000000 UNINITIALIZED
.pinit 0 003f8002 00000000 UNINITIALIZED
.text 0 003f8002 00000472 
003f8002 00000012 DSP281x_Adc.obj (.text)
003f8014 0000004b DSP281x_CpuTimers.obj (.text)
003f805f 0000014f DSP281x_DefaultIsr.obj (.text)
003f81ae 000000b4 DSP281x_Ev.obj (.text)
003f8262 00000014 DSP281x_Gpio.obj (.text)
003f8276 00000015 DSP281x_MemCopy.obj (.text)
003f828b 00000028 DSP281x_PieCtrl.obj (.text)
003f82b3 00000020 DSP281x_PieVect.obj (.text)
003f82d3 00000051 DSP281x_SysCtrl.obj (.text)
003f8324 0000003e Example_281xCpuTimer.obj (.text)
003f8362 00000044 rts2800.lib : boot.obj (.text)
003f83a6 0000003d : exit.obj (.text)
003f83e3 0000005a : fs_mpy.obj (.text)
003f843d 00000021 : fs_toul.obj (.text)
003f845e 00000007 : _lock.obj (.text)
003f8465 0000000f : args_main.obj (.text)
。。。
GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
address name
-------- ----
00008000 .bss
00000000 .data
003f8002 .text
003f83c5 C

EXIT003f83e3FS

MPY
003f843d FS$$TOUL
003f80d2 _ADCINT_ISR
00007100 _AdcRegs
003f8118 _CAPINT1_ISR
。。。
GLOBAL SYMBOLS: SORTED BY Symbol Address 
address name
-------- ----
00000000 ___edata__
00000000 edata
00000000 ___data__
00000000 .data
00000400 __STACK_SIZE
00000880 _DevEmuRegs
00000a80 _FlashRegs
00000ae0 _CsmRegs

CCS MAP文件说明相关推荐

  1. hex文件、out文件、bin文件、map文件解析

    [1]"hex文件"内容解析 hex文件是Intel公司提出的按地址排列的数据信息格式,数据宽度为字节,所有数据使用十六进制数字表示,并且以ASCII码的形式,按行记录数据.(即h ...

  2. STM8S103 解决Rom空间不足 Map文件分析

    STM8S103只有8KRom,很容易造成空间不足.对于空间不足,我们就要从map文件着手分析,究竟哪些函数占了多少空间,map文件分为几部分:Segments(总括了各个段所占的空间), Modul ...

  3. vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除...

    一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...

  4. Vue打包之后会出现.map文件用处

    build命令后占体积最大的竟然是.map文件,webpack如何设置不让编译出.map文件呢? 解决办法:去config/index.js中改一个参数: productionSourceMap:fa ...

  5. STM32 KEIL里的MAP文件分析

    一.要让Keil生成map文件,要设置: 再重新编译,没有错误后,就会生成map文件了. 二.map文件中相关概念: 段(section) :描述映像文件的代码和数据块. RO:Read-Only的缩 ...

  6. 问题-[Delphi]通过Map文件查找内存地址出错代码所在行

     一 什么是MAP文件       什么是 MAP 文件?简单地讲, MAP 文件是程序的全局符号.源文件和代码行号信息的唯一的文本表示方法,它可以在任何地方.任何时候使用,不需要有额外的程序进行支持 ...

  7. webpack打包生成的map文件_从这十几个方面优化你的 Webpack 配置

    目录 开发环境性能优化 生产环境性能优化 开发环境性能优化 优化打包构建速度 HMR 优化代码调试 source-map HMR ❝ 概念:「HMR:」 hot module replacement ...

  8. ARM 之十 ARMCC(Keil) map 文件(映射文件)详解

    在看这篇文章之前 需要对 ARM ELF 文件有一定的了解.了解什么是域(Region).节(Section,也称为节区).段(Segment).镜像(Image).镜像文件(Image File)等 ...

  9. 使用MAP文件快速定位程序崩溃代码行

    作为程序员,平时最担心见到的事情就是程序发生了崩溃,无论是指针越界还是非法操作,都将给我们的应用系统 造成巨大的损失.但在一个大型系统的测试过程中,初期出现程序崩溃似乎成了不可避免的事.其实测试中出现 ...

最新文章

  1. java中的session对象,Java对象中Response与session对象的方法是什么?
  2. 9月全球浏览器份额之争:IE领先Chrome21.73%
  3. WebSocket和Socket
  4. LeetCode之Count and Say
  5. 滚动条造成页面抖动问题
  6. mysql update nowait_mysql innodb之select for update nowait
  7. PinPhoto On OS X
  8. 决策树CART 代价复杂度剪枝
  9. html中的特殊符号表示法
  10. Python临时文件创建:tempfile模块简介
  11. Nanopore 纳米孔 测序数据处理 微生物 16S全长 Centrifuge的安装和使用
  12. C/C++游戏项目完整教程:《坦克大战》
  13. Jenkins从入门到精通
  14. 电脑重装系统之后风扇一直很响如何优化
  15. mysql preparing状态_【Docker】在集群中部署应用为什么始终是Preparing状态
  16. 产品经理知识框架+求职面经——快手,字节跳动,
  17. QT: 基于QT和嵌入式的视频监控系统
  18. 我们学校有计算机房用英语怎么说,根据中英提示,完成下列各句1、他们学校有3个计算机房??......
  19. 收集的一些名人经典语录
  20. 【算法设计与分析】8枚硬币及n枚硬币问题

热门文章

  1. 第十六届全国大学智能汽车竞赛全向组沁恒芯片申请统计情况
  2. 角度编码器 ST-3806-15-RS
  3. Infineon第九届汽车电子开发者大会宣传视频
  4. 部队文职计算机试题,2020军队文职人员考试:计算机基础模拟试题(1)
  5. 华硕k555l拆光驱_2L大小的迷你电脑用起来有什么区别?华硕VC66
  6. http php mysql_apache+php+mysql
  7. php某列为键数组为值,PHP 将二维数组中某列值作为数组的键名 -- 超实用
  8. python输入两个数用逗号隔开如不是两个数报错_Python数据类型
  9. python简述题_python的一些基本概念知识和面试题
  10. 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(一)