社区导航

 

搜索
查看: 1849|回复: 5

ARM7(单片机)LPC2XXX一个芯片同时烧录两段独立的工程主函数代码

[复制链接]

96

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-8-13 09:34 | 显示全部楼层 |阅读模式
在用LPC2378(LPC2XXX系列相同)做实验,想用KEIL FOR ARM做两个工程,也就是说有两个启动代码,有两个C语言main主函数,想在编译后分别烧录到同一芯片的不同地址处。
启动时先启动第一段代码,从第一段代码再跳到另一段代码处。

请高手们指点一下,这种方法是否可行?

我在KEIL的LINKER中指定了第二个工程的RO的地址为0x00020000(第一段代码的RO地址为0x00000000),
但在烧录时说校验FLASH和文件数据不匹配。

不知道说清楚没有,欢迎大家跟贴啊。
此帖出自ARM技术论坛

84

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-8-13 09:49 | 显示全部楼层
顶起来

回复

使用道具 举报

112

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-8-13 09:52 | 显示全部楼层
一个启动代码应该就可以了,方案是可行的,看看烧录有什么问题吧

回复

使用道具 举报

101

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-8-13 09:55 | 显示全部楼层
我一个工程是做一个裸机的TCPIP的工作,另一个工程是在UCOS系统下跑的UCTCP/IP,启动代码在两个工程中是不一样的,所以就只能分开两个工程做。

大家有没有人做过类似的?

回复

使用道具 举报

93

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-8-13 20:21 | 显示全部楼层
楼主的思路没有问题。可能烧录的方式有些问题?

但是有个问题,ARM7情况下,你需要共用一个异常向量表吧?或者你第二段启动代码往0x00000000处重写了下?

回复

使用道具 举报

107

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-8-14 11:22 | 显示全部楼层
lz的思路貌似有问题

既然是启动后先执行裸机tcpip,然后再跳转到ucos tcpip,那就是一个工程,而不是两个工程,只能说是两个功能模块;

将两个功能模块定位到不同的地址上,似乎是可以通过分散加载实现的

至于中断向量表,据说可以动态配置,没具体研究过

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-4-3 06:26 , Processed in 0.205597 second(s), 18 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表