关于KEIL开发mini2440的链接文件

        假设例子:mini2440测试nand使用用例  (可以参考韦东山《嵌入式linux应用开发完全手册》

        进入main函数之前,将存放在nand中的4K以后的内容拷贝到SDRAM->0x30000000中运行。从需求上看需要将执行段分为两段。

在linux下的LDS文件很容易编写:如下所示

SECTIONS { 
  firtst  	0x00000000 : { head.o init.o nand.o}
  second 	0x30000000 : AT(4096) { main.o }
} 
       但是对于不熟悉linux开发环境的同志们,如果想去软件仿真,特别对于GDB调试有点感冒的来说,还是想在XP下进行调试。

为此在Keil中进行链接脚本的编写如下

LR_ROM1 0x00000000 0x10000000  {    ; load region size_region
  ER_ROM1 0x00000000 0x10000000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_RAM1 0x30001000 UNINIT 0x04000000  {  ; RW data
   .ANY (+RW +ZI)
  }
  RW_IRAM1 0x40000000 UNINIT 0x00001000  {
   .ANY (+RW +ZI)
  }
}

LR_ROM2 4096 4096{
   SDRAM 0x30000000 {
    main.o (*)
   }
}
在user选项里面填入

fromelf --bin --output outfile.bin infile.axf

通过Keil编译之后发现生成了两个文件,这样的话,在烧写的时候需要操作两次,

殊不知Keil可以将这两个文件合并为一个文件

将user选项里面的更改为

fromelf --bin --output outfile.bin infile.axf

fromelf --bin --bincombined --bincombined_padding=1,0xff --output outfile.bin infile.axf

这样即可链接成一个文件。其中的padding代表的是填充格式,用什么字节填充未使用的区域。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值