[讨论] 想你想的好辛苦---关于LPC2400模板的KEIL环境设置

sdjntl   2010-6-12 17:53 楼主

 想你想的好辛苦---关于LPC2400模板的KEIL环境设置

一、 问题起源

 

         最近正在使用LPC2478,由于工程的时间紧,任务重,基本上在套用模板。还好模板都是用C语言写的,较容易移植。

        由于工程中要存储一部份数据,想使用片内FLASH。可是操作起来没那么容易了,由于接触LPC2478的时间不长,请大家帮忙分析一下,谢谢。

二、 分析问题

 

      虽然这个问题,想的很辛苦,总有点收获。据我目前所了解,估计我的程序有可能是在开发环境上出错了。我用的例程是从ADS上移植的。而我用的是KEIL FOR ARM 。这样就会有些设置不一样,还望网友指导。

    

请教关于下面的设置

 

1.bmp

 

问题1:IROM1,与IROM2的设置的什么不同,前面default项打勾,与后面STartup项选择,又有什么不同。

问题2:关于IRAM1,IRAM2的设置。

 

 

引用一点有关描述:

Target (Real  View ARM)
Read/Only Memory Areas
Specify the RO areas (typically located in ROM space). The default check box before each entry enables the area globally for the application. Individual modules may be assigned in the Properties dialog to specific areas. Startup selects the area used for the Startup code.
Read/Write Memory Areas
Specify the ZI and RW areas (typically located in RAM space). The default check box before each entry enables the area globally for the application. Individual modules may be assigned in the Properties dialog to specific areas. Noinit selects areas that should be excluded from zero initialization.
 Note

The settings for Read/Only Memory Areas and Read/Write Memory Areas are used to create a linker scatter file. This requires that the setting Use Memory Layout from Target Dialog is enabled in the Linker dialog.
the Evaluation version of the RealView ARM tools do not support linker scatter file. As a result, the settings for Read/Only Memory Areas andRead/Write Memory Areas cannot be used.
Copyright ? Keil, An ARM Company. All rights reserved.

据我了解以上介面是关于单片机的RAM,ROM的设置。在ARM核的单片机上可能要复杂一些。这又要关系到以下介面:

        2.bmp

 

问题3:如果在些加载了分散文件,是不是就不用再设置上一个介面了。

 

 

 

 

感谢每一位关注的朋友!

还盼早点解迷!

        

[ 本帖最后由 sdjntl 于 2010-6-12 17:58 编辑 ]
动手创造个性自我 https://home.eeworld.com.cn/?95709

回复评论 (5)

好久没来这里,有点遗憾

看到上上个月,有关于LPC的的板子试用,可惜我只顾埋头苦干,早点来贵论坛就好了,最起码跟LPC的片子混的熟些。:(
我现在就期待前辈的指导了。谢谢了!:L
动手创造个性自我 https://home.eeworld.com.cn/?95709
点赞  2010-6-12 18:05
上面说的应该没问题,我从来不适用ADS,所以不知道在这个转换的过程中会注意到些什么,这个网络上有教程可以找,在ADS中是需要加载分散文件,在MDK中只要设置上面你抓的图就可以了。别的地方不需要特别设置,只是调试时,调试工具需要根据应用设置吧了。
点赞  2010-6-13 09:27
在ARM里,有很多BANK,不只一个ROM和RAM地址空间,所以有多个,有片内和片外之分。

打沟的表示设置有效。

分散加载是自动生成的。
如果你把USE MEMORY LAYOUT的沟去掉,
则可以在R/O,R/W填写地址空间,这个和前面的ROM1和RAM设置效果是一样的。
你就可以打开分散加载和流浪他的内容。(不能修改)
点赞  2010-6-13 15:47
原例:
分散加载文件是。SCF文件。
ROM_LOAD 0x00000000
{
    ROM_EXEC 0x00000000
    {
        Startup.o (vectors, +First)
        * (+RO)
    }

    IRAM 0x40000000
    {
        Startup.o (MyStacks)
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        Startup.o (Heap)
    }

    STACKS 0x40002000 UNINIT
    {
        Startup.o (Stacks)
    }
}


KEIL中自动产生: SCT文件。
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x00000000 0x00040000  {    ; load region size_region
  ER_IROM1 0x00000000 0x00040000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x40000000 0x00010000  {  ; RW data
   .ANY (+RW +ZI)
  }
}

LR_IROM2 0x00040000 0x0007B000  {
  ER_IROM2 0x00040000 0x0007B000  {  ; load address = execution address
   .ANY (+RO)
  }
}
问题:为什么类型不一样,两文件有什么不同?
动手创造个性自我 https://home.eeworld.com.cn/?95709
点赞  2010-6-14 08:28
:(
看来用LPC的并不多啊。
谁能解迷。
动手创造个性自我 https://home.eeworld.com.cn/?95709
点赞  2010-6-18 13:52
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复