共2条
1/1 1 跳转至页
F2812,CMD F2812的 CMD 文件问题问问大家

问
CMD文件里 PAGE0 中定义程序 ,PAGE1中定义数据。
那么应该把FLASH A-J定义在PAGE0,把SRAM定义在PAGE1啊。可是我看到一些标准的CMD文件中,把FLASH B定义到PAGE1 ,把RAML0定义到PAGE0?为什么啊?
CMD文件内容见下贴 答 1: 以下为CMD文件以下为CMD文件,/********处为不懂的东西
是否仿真时候程序运行在RAML0。
MEMORY
{
PAGE 0: /* Program Memory */
ZONE0 : origin = 0x002000, length = 0x002000
ZONE1 : origin = 0x004000, length = 0x002000
RAML0 : origin = 0x008000, length = 0x001000 /*************
ZONE2 : origin = 0x080000, length = 0x080000
ZONE6 : origin = 0x100000, length = 0x080000
OTP : origin = 0x3D7800, length = 0x000800
FLASHJ : origin = 0x3D8000, length = 0x002000
FLASHI : origin = 0x3DA000, length = 0x002000
FLASHH : origin = 0x3DC000, length = 0x004000
FLASHG : origin = 0x3E0000, length = 0x004000
FLASHF : origin = 0x3E4000, length = 0x004000
FLASHE : origin = 0x3E8000, length = 0x004000
FLASHD : origin = 0x3EC000, length = 0x004000
FLASHC : origin = 0x3F0000, length = 0x004000
FLASHA : origin = 0x3F6000, length = 0x002000
BEGIN : origin = 0x3F8000, length = 0x000002
PRAMH0 : origin = 0x3F8002, length = 0x001FFE
ROM : origin = 0x3FF000, length = 0x000FC0
RESET : origin = 0x3FFFC0, length = 0x000002
VECTORS : origin = 0x3FFFC2, length = 0x00003E
PAGE 1 : /* Data Memory */
RAMM0 : origin = 0x000000, length = 0x000400
RAMM1 : origin = 0x000400, length = 0x000400
DEV_EMU : origin = 0x000880, length = 0x000180
FLASH_REGS : origin = 0x000A80, length = 0x000060
CSM : origin = 0x000AE0, length = 0x000010
XINTF : origin = 0x000B20, length = 0x000020
CPU_TIMER0 : origin = 0x000C00, length = 0x000008
PIE_CTRL : origin = 0x000CE0, length = 0x000020
PIE_VECT : origin = 0x000D00, length = 0x000100
ECAN_A : origin = 0x006000, length = 0x000100
ECAN_AMBOX : origin = 0x006100, length = 0x000100
SYSTEM : origin = 0x007010, length = 0x000020
SPI_A : origin = 0x007040, length = 0x000010
SCI_A : origin = 0x007050, length = 0x000010
XINTRUPT : origin = 0x007070, length = 0x000010
GPIOMUX : origin = 0x0070C0, length = 0x000020
GPIODAT : origin = 0x0070E0, length = 0x000020
ADC : origin = 0x007100, length = 0x000020
EV_A : origin = 0x007400, length = 0x000040
EV_B : origin = 0x007500, length = 0x000040
SCI_B : origin = 0x007750, length = 0x000010
MCBSP_A : origin = 0x007800, length = 0x000040
RAML1 : origin = 0x009000, length = 0x001000
FLASHB : origin = 0x3F4000, length = 0x002000 /**********
CSM_PWL : origin = 0x3F7FF8, length = 0x000008
DRAMH0 : origin = 0x3f9000, length = 0x001000
}
SECTIONS
{
/*** Compiler Required Sections ***/
.text : > PRAMH0, PAGE = 0
.cinit : > PRAMH0, PAGE = 0
.stack : > RAMM1, PAGE = 1
.bss : > RAMM0, PAGE = 1
.ebss : > RAMM0, PAGE = 1
.const : > RAMM0, PAGE = 1
.econst : > RAMM0, PAGE = 1
.sysmem : > RAMM1, PAGE = 1
.reset : > RESET, PAGE = 0, TYPE = DSECT
/*** User Defined Sections ***/
codestart : > BEGIN, PAGE = 0 /* Used by file DSP28_CodeStartBranch.asm */
/*** Peripheral Frame 0 Register Structures ***/
DevEmuRegsFile : > DEV_EMU, PAGE = 1
FlashRegsFile : > FLASH_REGS, PAGE = 1
CsmRegsFile : > CSM, PAGE = 1
XintfRegsFile : > XINTF, PAGE = 1
CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1
PieCtrlRegsFile : > PIE_CTRL, PAGE = 1
PieVectTable : > PIE_VECT, PAGE = 1
/*** Peripheral Frame 1 Register Structures ***/
SysCtrlRegsFile : > SYSTEM, PAGE = 1
SpiaRegsFile : > SPI_A, PAGE = 1
SciaRegsFile : > SCI_A, PAGE = 1
XIntruptRegsFile : > XINTRUPT, PAGE = 1
GpioMuxRegsFile : > GPIOMUX, PAGE = 1
GpioDataRegsFile : > GPIODAT PAGE = 1
AdcRegsFile : > ADC, PAGE = 1
EvaRegsFile : > EV_A, PAGE = 1
EvbRegsFile : > EV_B, PAGE = 1
ScibRegsFile : > SCI_B, PAGE = 1
McbspaRegsFile : > MCBSP_A, PAGE = 1
/*** Peripheral Frame 2 Register Structures ***/
ECANaRegsFile : > ECAN_A, PAGE = 1
ECANaMboxesFile : > ECAN_AMBOX PAGE = 1
/*** Code Security Password Locations ***/
CsmPwlFile : > CSM_PWL, PAGE = 1
}
那么应该把FLASH A-J定义在PAGE0,把SRAM定义在PAGE1啊。可是我看到一些标准的CMD文件中,把FLASH B定义到PAGE1 ,把RAML0定义到PAGE0?为什么啊?
CMD文件内容见下贴 答 1: 以下为CMD文件以下为CMD文件,/********处为不懂的东西
是否仿真时候程序运行在RAML0。
MEMORY
{
PAGE 0: /* Program Memory */
ZONE0 : origin = 0x002000, length = 0x002000
ZONE1 : origin = 0x004000, length = 0x002000
RAML0 : origin = 0x008000, length = 0x001000 /*************
ZONE2 : origin = 0x080000, length = 0x080000
ZONE6 : origin = 0x100000, length = 0x080000
OTP : origin = 0x3D7800, length = 0x000800
FLASHJ : origin = 0x3D8000, length = 0x002000
FLASHI : origin = 0x3DA000, length = 0x002000
FLASHH : origin = 0x3DC000, length = 0x004000
FLASHG : origin = 0x3E0000, length = 0x004000
FLASHF : origin = 0x3E4000, length = 0x004000
FLASHE : origin = 0x3E8000, length = 0x004000
FLASHD : origin = 0x3EC000, length = 0x004000
FLASHC : origin = 0x3F0000, length = 0x004000
FLASHA : origin = 0x3F6000, length = 0x002000
BEGIN : origin = 0x3F8000, length = 0x000002
PRAMH0 : origin = 0x3F8002, length = 0x001FFE
ROM : origin = 0x3FF000, length = 0x000FC0
RESET : origin = 0x3FFFC0, length = 0x000002
VECTORS : origin = 0x3FFFC2, length = 0x00003E
PAGE 1 : /* Data Memory */
RAMM0 : origin = 0x000000, length = 0x000400
RAMM1 : origin = 0x000400, length = 0x000400
DEV_EMU : origin = 0x000880, length = 0x000180
FLASH_REGS : origin = 0x000A80, length = 0x000060
CSM : origin = 0x000AE0, length = 0x000010
XINTF : origin = 0x000B20, length = 0x000020
CPU_TIMER0 : origin = 0x000C00, length = 0x000008
PIE_CTRL : origin = 0x000CE0, length = 0x000020
PIE_VECT : origin = 0x000D00, length = 0x000100
ECAN_A : origin = 0x006000, length = 0x000100
ECAN_AMBOX : origin = 0x006100, length = 0x000100
SYSTEM : origin = 0x007010, length = 0x000020
SPI_A : origin = 0x007040, length = 0x000010
SCI_A : origin = 0x007050, length = 0x000010
XINTRUPT : origin = 0x007070, length = 0x000010
GPIOMUX : origin = 0x0070C0, length = 0x000020
GPIODAT : origin = 0x0070E0, length = 0x000020
ADC : origin = 0x007100, length = 0x000020
EV_A : origin = 0x007400, length = 0x000040
EV_B : origin = 0x007500, length = 0x000040
SCI_B : origin = 0x007750, length = 0x000010
MCBSP_A : origin = 0x007800, length = 0x000040
RAML1 : origin = 0x009000, length = 0x001000
FLASHB : origin = 0x3F4000, length = 0x002000 /**********
CSM_PWL : origin = 0x3F7FF8, length = 0x000008
DRAMH0 : origin = 0x3f9000, length = 0x001000
}
SECTIONS
{
/*** Compiler Required Sections ***/
.text : > PRAMH0, PAGE = 0
.cinit : > PRAMH0, PAGE = 0
.stack : > RAMM1, PAGE = 1
.bss : > RAMM0, PAGE = 1
.ebss : > RAMM0, PAGE = 1
.const : > RAMM0, PAGE = 1
.econst : > RAMM0, PAGE = 1
.sysmem : > RAMM1, PAGE = 1
.reset : > RESET, PAGE = 0, TYPE = DSECT
/*** User Defined Sections ***/
codestart : > BEGIN, PAGE = 0 /* Used by file DSP28_CodeStartBranch.asm */
/*** Peripheral Frame 0 Register Structures ***/
DevEmuRegsFile : > DEV_EMU, PAGE = 1
FlashRegsFile : > FLASH_REGS, PAGE = 1
CsmRegsFile : > CSM, PAGE = 1
XintfRegsFile : > XINTF, PAGE = 1
CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1
PieCtrlRegsFile : > PIE_CTRL, PAGE = 1
PieVectTable : > PIE_VECT, PAGE = 1
/*** Peripheral Frame 1 Register Structures ***/
SysCtrlRegsFile : > SYSTEM, PAGE = 1
SpiaRegsFile : > SPI_A, PAGE = 1
SciaRegsFile : > SCI_A, PAGE = 1
XIntruptRegsFile : > XINTRUPT, PAGE = 1
GpioMuxRegsFile : > GPIOMUX, PAGE = 1
GpioDataRegsFile : > GPIODAT PAGE = 1
AdcRegsFile : > ADC, PAGE = 1
EvaRegsFile : > EV_A, PAGE = 1
EvbRegsFile : > EV_B, PAGE = 1
ScibRegsFile : > SCI_B, PAGE = 1
McbspaRegsFile : > MCBSP_A, PAGE = 1
/*** Peripheral Frame 2 Register Structures ***/
ECANaRegsFile : > ECAN_A, PAGE = 1
ECANaMboxesFile : > ECAN_AMBOX PAGE = 1
/*** Code Security Password Locations ***/
CsmPwlFile : > CSM_PWL, PAGE = 1
}
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 |