zoukankan      html  css  js  c++  java
  • ADS中 RO base 的设置

    纠结了很久的一个问题,对于有些程序RO base设置成0x33f80000编译后下载到板上可以运行;但是如果RO base设置成0x30000000编译照样成功,但是下载到板上就不能运行。。。很纠结!由于是初学,不知道这里的问题到底出在哪里?

      后来找到了一个解决此问题的方法:出现上述问题之前利用三星提供的现有文件是从\嵌入式视频\第03阶段 ARM体系结构和ARM编程阶段\代码工具和资料\02 ARM硬件基础与接口技术\代码\armexample\例程中拷贝过来的(包括inc和src文件夹),现在利用的现有文件是从TQ2440_Test_20120110文件夹中拷贝过来的。但是这仅仅是从表面上解决了问题,但不知深层的原因之所在,仍然有待研究。

      笔者又根据两个来源文件的差别,前者文件中有个名为nand_read.c,而后者文件中有个名为nand.c,于是猜想可能是这个文件导致的问题,故而进行了试验。把以前出问题的工程中的nand_read.c替换为nand.c,重新编译后下载到板上,发现可以正常运行了。

      深层原因,有待进一步研究。。。。。

      既然已经确定了是上述两个文件导致的问题,故而笔者对两个文件进行了比较,这才发现了根本性的原因:RdNF2SDRAM( )在两个文件中定义不同

    在nand_read.c中

    void RdNF2SDRAM( )
    {
     U32 i;
     U32 start_addr = 0x0;
     unsigned char * to = (unsigned char *)0x33F80000;

      ……

    }

    而在nand.c中

     void RdNF2SDRAM( )
    {
     U32 i;
     U32 start_addr = 0x0;
     unsigned char * to = (unsigned char *)0x30000000;

      …… 

    } 

     这样的话,之前的问题也就都找到了答案,一切疑惑全部烟消云散了。。。纠结了好多天,终于不再纠结了。。。。。。。。。。。。。。。。。。。。

  • 相关阅读:
    采购标准流程及底层分析
    ORACLE FORM ZA 常用子程序
    在R12中实现多OU编程
    FORM未找到数据的原因
    在Oracle的FORM中高亮显示鼠标点击或光标所在的行
    MPICH运行程序时出错之解决方法
    两个基于C++的MPI编辑例子
    面向对象PHP面向对象的特性
    PHP 数组遍历 foreach 语法结构
    php BC高精确度函数库
  • 原文地址:https://www.cnblogs.com/nufangrensheng/p/3031944.html
Copyright © 2011-2022 走看看