xinzhui1 发表于 2018-11-6 21:50

周立功的smartARM开发板关于bank0-RAM bank1—FLASh的疑惑,跪求...

D:\picture\1.png先说明一下情况:SmartARM2200开发板,外扩展了一块片外FLASH和一块片外SRAM,由短接块JP10 的CS0和CS1控制片选。bank0-ram即CS0控制片外rambank1-Flash即CS1控制片外flash,即板子上的bank0-RAM   bank1-FLASH。
此开发板跳线连接(JP9)INSIDE即boot0和boot1 均是高电平   运行片内FLASH的程序。(JP9)outside即 boot0=0boot1=1时,运行有CS0控制的片外FLASH里面的程序,此时(JP10)需要短接cs0-flash   cs1-ram即bank0-flash   bank1-ram。    讲道理在 运行片内FLASH的程序 的时候,是不是不用管外部存储器的片选怎么连接呢?就是cs0和cs1连接情况应该不影响程序的运行啊。但是必须要cs0-ramcs1-flash才能运行片内flash的程序。
   请了解情况的大神帮忙解释一下啊

xinzhui1 发表于 2018-11-6 21:53

外部存储器片选连接

xinzhui1 发表于 2018-11-6 22:02

之所以提这样的问题,是因为我公司使用的也是NXP lpc2292 的片子,负责测试的工程师走了,按照留下的测试程序.hex 文件 可以正常运行,但是没有这个测试程序的源文件。烧写了其他程序都不运行(硬件连接和程序设置都没有问题),所以我想搞清楚,LPC2292运行片内flash的程序,到底有满足什么条件。备注:公司的板子LPC2292连接的外部IO器件是FPGA。

xinzhui1 发表于 2018-11-10 14:53

现在搞明白了,是由于分散加载文件设置的问题
ROM_LOAD 0x0
{
    ROM_EXEC 0x00000000
    {
      Startup.o (vectors, +First)
      * (+RO)
    }

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

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

    STACKS 0x40004000 UNINIT
    {
      Startup.o (Stacks)
    }
}
将RW ZI放在片内RAM就不受BANK0BANK1的影响了   如果RW ZI放在片外RAM中ERAM 0x80000000
    {
      * (+RW,+ZI)
    }
就要设置BANK0-rambank1-flash
页: [1]
查看完整版本: 周立功的smartARM开发板关于bank0-RAM bank1—FLASh的疑惑,跪求...