这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » RAM 如何在复位后是RAM中的数据不清0啊?

共2条 1/1 1 跳转至

RAM 如何在复位后是RAM中的数据不清0啊?

院士
2006-09-17 18:14:16     打赏
RAM 如何在复位后是RAM中的数据不清0啊?



关键词: 何在     复位     中的     数据     不清    

院士
2006-12-22 22:43:00     打赏
2楼
1: 修改分散加载文件,给ram区加上UNINIT 2: 谢谢,能否再说的详细点呢? 3: 我的做法:1、在分散加载文件中增加
DATA 0x800F0000 UNINIT
    {
      data.o(+RW,+ZI)
    }
2、新建一个data.c的文件
3、在data.c中定义复位后RAM中不清0的变量
说明:1,我用的lpc2214,有外扩ram,没有外扩flash
    2,0x800F0000为不清0的变量的起始地址,可根据你的实际情况改变
      3,如果你的所有外部RAM均不需清0,则
  ERAM 0x80000000 UNINIT  ;    {
        * (+RW,+ZI)
        
    }
4: 谢谢hhyhc,我现在很清楚了!谢谢你的耐心! 5: 请你帮我看看,我的这个加载文件什么地方有问题呢?  ROM_LOAD 0x80000000
{
    ROM_EXEC 0x80000000
    {
        Startup.o (vectors, +First)
        * (+RO)
    }
    
    
    RAM_EXE 0x40000000
    {
        flash.o (+RO)                                 
    }
    
    
    STACKS 0x40004000 UNINIT
    {
        stack.o (+ZI)
    }
    
     ERAM 0x81000000
     {
          Startup.o (+RW,+ZI)    
         * (+RW,+ZI)
     }
    
  ;  HEAP +0 UNINIT
  ;  {
  ;    heap.o (+ZI)
  ; }
    
    ERAM 0x80000000 UNINIT  
       {
        * (+RW,+ZI)
       }
}
我想将RAM区全部不清0 6: 谢谢你了,我的2119里有这么一段分散加载NOTE 0x00004000  UNINIT
    {
     note.o(+RW,+ZI)
     }
根据你上面的意思: 我在我的2119的内部FLASH中从0x00004000开始定义我的变量--即NOTE.C中定义的所有变量、数组等。程序一开始就不会清零我的所有变量了。这样我数组里的数据就可以一直不变,直到我程序给他清零。 7: 改后一运行就到去数据终止里了 8: 只要一用到我在note.c中定义的就取数据终止了 9: 楼主用的怎么样呀?我这样加载不行,急的很啊!

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]