打印
[DSP编程]

Flash固化的CMD文件

[复制链接]
1040|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 zhangmangui 于 2014-5-14 14:44 编辑

麻烦大家看看我这段忘Flash里固化的CMD文件有没有什么问题,编译通过了的,还有往Flash里烧的时候要注意什么,我看论坛上经常有人不知道怎么就把Flash锁住了,我自己都不敢烧了

MEMORY
{
PAGE 0 :
   OTP         : origin = 0x3D7800, length = 0x000800
   FLASHJ      : origin = 0x3D8000, length = 0x002000
   FLASHI      : origin = 0x3DA000, length = 0x002000

   FLASHH      : origin = 0x3DC000, length = 0x006000       
/*
   FLASHH      : origin = 0x3DC000, length = 0x004000     
   FLASHG      : origin = 0x3E0000, length = 0x004000
                                                                                                                   */
   FLASHP           : origin = 0x3E4000, length = 0x013FF6               
/*   
   FLASHF      : origin = 0x3E4000, length = 0x004000
   FLASHE      : origin = 0x3E8000, length = 0x004000
   FLASHD      : origin = 0x3EC000, length = 0x004000
   FLASHC      : origin = 0x3F0000, length = 0x004000
   FLASHB      : origin = 0x3F4000, length = 0x002000
   FLASHA      : origin = 0x3F6000, length = 0x001FF6   */  
   
   BEGIN       : origin = 0x3F7FF6, length = 0x000002
   PASSWDS     : origin = 0x3F7FF8, length = 0x000008
   ROM         : origin = 0x3FF000, length = 0x000FC0
   VECTORS     : origin = 0x3FFFC2, length = 0x00003E      

         
PAGE 1 :
   /* SARAM                     */     
   RAMM0    : origin = 0x000000, length = 0x000400
   RAMM1    : origin = 0x000400, length = 0x000400

   /* Peripheral Frame 0:   */
   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
   CPU_TIMER1 : origin = 0x000C08, length = 0x000008                 
   CPU_TIMER2 : origin = 0x000C10, length = 0x000008                 
   PIE_CTRL   : origin = 0x000CE0, length = 0x000020
   PIE_VECT   : origin = 0x000D00, length = 0x000100

   /* Peripheral Frame 1:   */
   ECAN_A     : origin = 0x006000, length = 0x000100
   ECAN_AMBOX : origin = 0x006100, length = 0x000100

   /* Peripheral Frame 2:   */
   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
   SPI_B      : origin = 0x007740, length = 0x000010
   SCI_B      : origin = 0x007750, length = 0x000010
   MCBSP_A    : origin = 0x007800, length = 0x000040

   /* CSM Password Locations */
   CSM_PWL    : origin = 0x3F7FF8, length = 0x000008

   /* SARAM                    */     
   DRAMH0     : origin = 0x3f8000, length = 0x002000  
   RAML0L1    : origin = 0x008000, length = 0x002000
   
   ZONE2tf    : origin = 0x084000, length = 0x001FFF   

}


SECTIONS
{
   /* Allocate program areas: */
   .reset              : > BEGIN       PAGE = 0
   vectors             : > VECTORS     PAGE = 0
   .cinit              : > FLASHJ      PAGE = 0  
   .text               : > FLASHP      PAGE = 0

   /* Allocate data areas: */
   
  
      
   

   .stack              : > RAMM1     PAGE = 1
   .bss                : > DRAMH0,      PAGE = 1
   .ebss               : > RAML0L1     PAGE = 1
   .const              : > DRAMH0,      PAGE = 1
   .econst                           : > FLASHH      PAGE = 0       
   .sysmem             : > DRAMH0,      PAGE = 1
   .esysmem            : > RAML0L1      PAGE = 1
   
   /* Allocate IQ math areas: */
   IQmath              : > FLASHI      PAGE = 0   /* Math Code   flashi*/
   IQmathFastTables    : > FLASHI      PAGE = 0   /* Math Tables in fast memory  flashi*/
   IQmathTables        : > OTP         PAGE = 0   /* Math Tables In ROM */
  
   /* Allocate 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      
   CpuTimer1RegsFile : > CPU_TIMER1, PAGE = 1      
   CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1      
   PieCtrlRegsFile   : > PIE_CTRL,   PAGE = 1      
   PieVectTable      : > PIE_VECT,   PAGE = 1

   /* Allocate Peripheral Frame 2 Register Structures:   */
   ECanaRegsFile     : > ECAN_A,      PAGE = 1   
   ECanaMboxesFile   : > ECAN_AMBOX   PAGE = 1

   /* Allocate 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

   /* CSM Password Locations */
   CsmPwlFile      : > CSM_PWL,     PAGE = 1

   FFTipcb3  ALIGN(256)   : {}   >  DRAMH0   PAGE=1
   FFTipcb4  ALIGN(256)   : {}   >  DRAMH0   PAGE=1
   FFTmag                 :  >  DRAMH0    PAGE=1
   FFTtf                  :  >  ZONE2tf     PAGE=1

}

相关帖子

沙发
zhangmangui| | 2014-5-14 14:48 | 只看该作者
手机版 怎么看不到代码啊。这个只要你在硬件仿真下编译没问题 就可以烧写啦 烧写不要轻易设置密码并lock  烧写过程中别断电 jtag别热插拔就没问题啦

使用特权

评论回复
板凳
吃肉的考拉|  楼主 | 2014-5-14 16:17 | 只看该作者
本帖最后由 吃肉的考拉 于 2014-5-14 17:44 编辑
zhangmangui 发表于 2014-5-14 14:48
手机版 怎么看不到代码啊。这个只要你在硬件仿真下编译没问题 就可以烧写啦 烧写不要轻易设置密码并lock   ...


网上查了好像这个问题出现的还是挺频繁的 但是没有个具体解决方法呢

使用特权

评论回复
地板
zhangmangui| | 2014-5-14 21:47 | 只看该作者
OK 不行吗   

使用特权

评论回复
5
吃肉的考拉|  楼主 | 2014-5-14 22:10 | 只看该作者
本帖最后由 吃肉的考拉 于 2014-5-14 22:33 编辑
zhangmangui 发表于 2014-5-14 21:47
OK 不行吗


不行,貌似出现这个警告的原因是程序中用到了需要在RAM里面运行的函数,而你没把它加载到RAM里面。 我现在满世界找怎么从Flash里搬移到RAM里的方法,都是文字资料。。。
我把这个CMD文件放到别的简单工程里是可以烧进Flash里去的,但是烧完退出后会出现
Error connecting to the target: Error 0x80000240/-121 Fatal Error during: Initialization, OCS,  This error was generated by TI's USCIF driver.  SC_ERR_CMD_HANDLE <-121> A bad controller handle has been given to a function, either before attempting to open the controller, or after having opened the controller and ignored its error status. Valid controller handles are generated when attempts to open the controller return a clean error status.
不过重新上电后程序可以正常运行的

使用特权

评论回复
6
coldcoolfish| | 2014-5-21 08:49 | 只看该作者
#pragma CODE_SECTION(函数名,ram空间名)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

58

帖子

0

粉丝