如何把c程序段放入FLASH固定地址处??大侠们帮忙!

[复制链接]
2751|5
 楼主| 火箭球迷 发表于 2010-1-20 22:14 | 显示全部楼层 |阅读模式
是怎样做的?最好给个例子。
jerkoh 发表于 2010-1-20 22:16 | 显示全部楼层
2,建立AP.C 用户代码
  加入startup.a51  (可以不加)
  在keil->options->c51->interrupt vectors at address: 输入中断映射地址
  如下:
       interrupt vectors at address: 0x1000
  0x1000即AP的code区起始地址 也是中断矢量地址的映射基地址开始。
  在keil->options->BL51 Locate 设置如下
  定义 code Rang 0x1000-0x3dff
  CODE: 输入 ?C_C51STARTUP(1100H)        /*需要和bootloader中的跳转地址一致*/
                                         /*只需要定位好这个地址*/
                                         /*这样所有的中断函数都不需要再次定位*/
  编译:烧录的时候 从0x1000 开始烧 即第7块开始
  两个代码烧录完,复位就可以运行
  
3,bootloader区串口等下载 不能出现中断函数
jerkoh 发表于 2010-1-20 22:16 | 显示全部楼层
CODE: 输入 ?C_C51STARTUP(1100H)        /*需要和bootloader中的跳转地址一致*/

这样 函数的地址就在0x1100了 如此方法就可以
sinadz 发表于 2010-1-21 19:19 | 显示全部楼层
楼上说的很仔细,学习了
司徒老鹰 发表于 2010-1-21 22:52 | 显示全部楼层
嗯,够详细了
无冕之王 发表于 2010-1-22 11:06 | 显示全部楼层
scatter文件查看一下关于scatter文件的描述吧!在编译选项中,我们通常选择其实段为Vectors.o(startup),但是还可以选择利用scatter文件的方式定义相关的文件到flash的固定地址。以前做过,记不大清楚了。找一本编译器的书看看就可以了,可以实现的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:姚明的铁杆球迷

150

主题

3470

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部