打印

stm32 一块板子 运行不同的程序 问题

[复制链接]
2842|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
seuge|  楼主 | 2012-9-20 09:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
分布式系统有5个相同的板子 但是运行着不同的程序,现在想把这些程序整合到一起,通过板上的拨码开关选择板子要运行什么程序,请教各位高手有什么好的解决方案。
沙发
IJK| | 2012-9-20 10:15 | 只看该作者
按理应该不难。
如果拨码开关在程序运行期间保持不变,就很容易:
if(拨码开关位置=1)
  code1();
if(拨码开关位置=2)
  code2();
...

使用特权

评论回复
板凳
seuge|  楼主 | 2012-9-20 10:21 | 只看该作者
2# IJK 但是我每个工程都很大,寄存器配置,变量,初始化,中断函数都有差异,你是说每个地方都加上 if判断? 没有那种能够根据拨码来加载不同程序的方法吗? 刚接触嵌入式,这方面不太懂

使用特权

评论回复
地板
香水城| | 2012-9-20 11:42 | 只看该作者
可以参考IAP例程

五个程序使用独立的LINK文件编译,链接到五个不同地址,上电的时候根据开关位置,配置中断向量表,跳入相应程序。

拨码开关连接到外部中断,发生事件时,重新配置中断向量表,重新跳转程序。

使用特权

评论回复
5
seuge|  楼主 | 2012-9-20 11:45 | 只看该作者
4# 香水城 好的 我去研究研究 有问题再来请教 3q

使用特权

评论回复
6
seuge|  楼主 | 2012-9-20 16:25 | 只看该作者
4# 香水城 用iap的方法搞定了,不过现在板子的flash容量还不够,下一版换大容量的:handshake

使用特权

评论回复
7
sinadz| | 2012-9-20 18:20 | 只看该作者
LZ这解决问题的速度够快的

使用特权

评论回复
8
火箭球迷| | 2012-9-20 18:26 | 只看该作者
LZ这解决问题的速度够快的
sinadz 发表于 2012-9-20 18:20

应该是香主的功劳

使用特权

评论回复
9
txcy| | 2012-9-20 18:34 | 只看该作者
4# 香水城 用iap的方法搞定了,不过现在板子的flash容量还不够,下一版换大容量的:handshake
seuge 发表于 2012-9-20 16:25

具体是如何解决的,分享一下

使用特权

评论回复
10
快乐小小鱼| | 2012-9-20 21:29 | 只看该作者
能说说怎么解决的吗?

使用特权

评论回复
11
快乐小小鱼| | 2012-9-20 21:29 | 只看该作者
都不分享下呀,真小气!

使用特权

评论回复
12
kseeker| | 2012-9-20 23:24 | 只看该作者
11# 快乐小小鱼
4L都说的那么清楚了,还要怎么分享?

使用特权

评论回复
13
airwill| | 2012-9-21 08:36 | 只看该作者
嗯, 二楼的办法最容易实现, 但是多一些软件开销, 如果涉及相同中断号有不同的中断处理已经其他资源共享问题, 那就推荐 4 楼的方案, 这是彻底的相互独立. 但是状态转换显得麻烦一些

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

0

粉丝