[DSP编程] Flash固化的CMD文件

[复制链接]
 楼主| 吃肉的考拉 发表于 2014-5-14 12:13 | 显示全部楼层 |阅读模式
本帖最后由 zhangmangui 于 2014-5-14 14:44 编辑

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

  1. MEMORY
  2. {
  3. PAGE 0 :
  4.    OTP         : origin = 0x3D7800, length = 0x000800
  5.    FLASHJ      : origin = 0x3D8000, length = 0x002000
  6.    FLASHI      : origin = 0x3DA000, length = 0x002000

  7.    FLASHH      : origin = 0x3DC000, length = 0x006000       
  8. /*
  9.    FLASHH      : origin = 0x3DC000, length = 0x004000     
  10.    FLASHG      : origin = 0x3E0000, length = 0x004000
  11.                                                                                                                    */
  12.    FLASHP           : origin = 0x3E4000, length = 0x013FF6               
  13. /*   
  14.    FLASHF      : origin = 0x3E4000, length = 0x004000
  15.    FLASHE      : origin = 0x3E8000, length = 0x004000
  16.    FLASHD      : origin = 0x3EC000, length = 0x004000
  17.    FLASHC      : origin = 0x3F0000, length = 0x004000
  18.    FLASHB      : origin = 0x3F4000, length = 0x002000
  19.    FLASHA      : origin = 0x3F6000, length = 0x001FF6   */  
  20.    
  21.    BEGIN       : origin = 0x3F7FF6, length = 0x000002
  22.    PASSWDS     : origin = 0x3F7FF8, length = 0x000008
  23.    ROM         : origin = 0x3FF000, length = 0x000FC0
  24.    VECTORS     : origin = 0x3FFFC2, length = 0x00003E      

  25.          
  26. PAGE 1 :
  27.    /* SARAM                     */     
  28.    RAMM0    : origin = 0x000000, length = 0x000400
  29.    RAMM1    : origin = 0x000400, length = 0x000400

  30.    /* Peripheral Frame 0:   */
  31.    DEV_EMU    : origin = 0x000880, length = 0x000180
  32.    FLASH_REGS : origin = 0x000A80, length = 0x000060
  33.    CSM        : origin = 0x000AE0, length = 0x000010
  34.    XINTF      : origin = 0x000B20, length = 0x000020
  35.    CPU_TIMER0 : origin = 0x000C00, length = 0x000008
  36.    CPU_TIMER1 : origin = 0x000C08, length = 0x000008                 
  37.    CPU_TIMER2 : origin = 0x000C10, length = 0x000008                 
  38.    PIE_CTRL   : origin = 0x000CE0, length = 0x000020
  39.    PIE_VECT   : origin = 0x000D00, length = 0x000100

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

  43.    /* Peripheral Frame 2:   */
  44.    SYSTEM     : origin = 0x007010, length = 0x000020
  45.    SPI_A      : origin = 0x007040, length = 0x000010
  46.    SCI_A      : origin = 0x007050, length = 0x000010
  47.    XINTRUPT   : origin = 0x007070, length = 0x000010
  48.    GPIOMUX    : origin = 0x0070C0, length = 0x000020
  49.    GPIODAT    : origin = 0x0070E0, length = 0x000020
  50.    ADC        : origin = 0x007100, length = 0x000020
  51.    EV_A       : origin = 0x007400, length = 0x000040
  52.    EV_B       : origin = 0x007500, length = 0x000040
  53.    SPI_B      : origin = 0x007740, length = 0x000010
  54.    SCI_B      : origin = 0x007750, length = 0x000010
  55.    MCBSP_A    : origin = 0x007800, length = 0x000040

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

  58.    /* SARAM                    */     
  59.    DRAMH0     : origin = 0x3f8000, length = 0x002000  
  60.    RAML0L1    : origin = 0x008000, length = 0x002000
  61.    
  62.    ZONE2tf    : origin = 0x084000, length = 0x001FFF   

  63. }


  64. SECTIONS
  65. {
  66.    /* Allocate program areas: */
  67.    .reset              : > BEGIN       PAGE = 0
  68.    vectors             : > VECTORS     PAGE = 0
  69.    .cinit              : > FLASHJ      PAGE = 0  
  70.    .text               : > FLASHP      PAGE = 0

  71.    /* Allocate data areas: */
  72.    
  73.   
  74.       
  75.    

  76.    .stack              : > RAMM1     PAGE = 1
  77.    .bss                : > DRAMH0,      PAGE = 1
  78.    .ebss               : > RAML0L1     PAGE = 1
  79.    .const              : > DRAMH0,      PAGE = 1
  80.    .econst                           : > FLASHH      PAGE = 0       
  81.    .sysmem             : > DRAMH0,      PAGE = 1
  82.    .esysmem            : > RAML0L1      PAGE = 1
  83.    
  84.    /* Allocate IQ math areas: */
  85.    IQmath              : > FLASHI      PAGE = 0   /* Math Code   flashi*/
  86.    IQmathFastTables    : > FLASHI      PAGE = 0   /* Math Tables in fast memory  flashi*/
  87.    IQmathTables        : > OTP         PAGE = 0   /* Math Tables In ROM */
  88.   
  89.    /* Allocate Peripheral Frame 0 Register Structures:   */
  90.    DevEmuRegsFile    : > DEV_EMU,    PAGE = 1
  91.    FlashRegsFile     : > FLASH_REGS, PAGE = 1
  92.    CsmRegsFile       : > CSM,        PAGE = 1
  93.    XintfRegsFile     : > XINTF,      PAGE = 1
  94.    CpuTimer0RegsFile : > CPU_TIMER0, PAGE = 1      
  95.    CpuTimer1RegsFile : > CPU_TIMER1, PAGE = 1      
  96.    CpuTimer2RegsFile : > CPU_TIMER2, PAGE = 1      
  97.    PieCtrlRegsFile   : > PIE_CTRL,   PAGE = 1      
  98.    PieVectTable      : > PIE_VECT,   PAGE = 1

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

  102.    /* Allocate Peripheral Frame 1 Register Structures:   */
  103.    SysCtrlRegsFile   : > SYSTEM,     PAGE = 1
  104.    SpiaRegsFile      : > SPI_A,      PAGE = 1
  105.    SciaRegsFile      : > SCI_A,      PAGE = 1
  106.    XIntruptRegsFile  : > XINTRUPT,   PAGE = 1
  107.    GpioMuxRegsFile   : > GPIOMUX,    PAGE = 1
  108.    GpioDataRegsFile  : > GPIODAT     PAGE = 1
  109.    AdcRegsFile       : > ADC,        PAGE = 1
  110.    EvaRegsFile       : > EV_A,       PAGE = 1
  111.    EvbRegsFile       : > EV_B,       PAGE = 1
  112.    ScibRegsFile      : > SCI_B,      PAGE = 1
  113.    McbspaRegsFile    : > MCBSP_A,    PAGE = 1

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

  116.    FFTipcb3  ALIGN(256)   : {}   >  DRAMH0   PAGE=1
  117.    FFTipcb4  ALIGN(256)   : {}   >  DRAMH0   PAGE=1
  118.    FFTmag                 :  >  DRAMH0    PAGE=1
  119.    FFTtf                  :  >  ZONE2tf     PAGE=1

  120. }
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 不行吗   
 楼主| 吃肉的考拉 发表于 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.
不过重新上电后程序可以正常运行的

coldcoolfish 发表于 2014-5-21 08:49 | 显示全部楼层
#pragma CODE_SECTION(函数名,ram空间名)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

58

帖子

0

粉丝
快速回复 返回顶部 返回列表