OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10501|回复: 22

IAP+UCOSIII出现的问题求教

[复制链接]

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
金钱
1171
注册时间
2015-11-9
在线时间
248 小时
发表于 2017-6-20 14:30:47 | 显示全部楼层 |阅读模式
1金钱
说明:IAP没跑UCOS,是裸机。现象:如果用一个没跑UCOS的APP,那么IAP跳转APP,和APP跳转到IAP,一切正常。问题就出在,同一个IAP,APP换成跑UCOSIII的程序后,能跳转到APP,但是在执行第一个任务的时候就死了。(PS:其实APP我就是用的原子的例程:9-1UCOSIII软件定时器例程),注意:我在main函数开头加了SCB->VTOR = FLASH_BASE | 0x4000,而且IROM1里面也设置了其实地址0x8004000。main函数里创建了StartTask,一执行到StartTask就死了。原子,各位大神求教???什么原因??

最佳答案

查看完整内容[请看2#楼]

调好了,再此回复一下,我的IAP和APP都带ucosiii,之前的现象是IAP升级不带系统的APP无任何问题,升级带ucosiii的APP会死在OSStart之后。方法是1:写flash和跳转时请关闭中断;2在APP中的OSStart之后重新设置中断向量偏移,这样应该从IAP跳到APP不会有问题了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

150

帖子

0

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2014-1-24
在线时间
102 小时
发表于 2017-6-20 14:30:48 | 显示全部楼层
调好了,再此回复一下,我的IAP和APP都带ucosiii,之前的现象是IAP升级不带系统的APP无任何问题,升级带ucosiii的APP会死在OSStart之后。方法是1:写flash和跳转时请关闭中断;2在APP中的OSStart之后重新设置中断向量偏移,这样应该从IAP跳到APP不会有问题了。
回复

使用道具 举报

6

主题

115

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1027
金钱
1027
注册时间
2015-6-1
在线时间
126 小时
发表于 2017-6-20 15:05:20 | 显示全部楼层
IAP程序有多大?和APP之间最好再留一点空间。
IAP通常都是裸机的,跳到一个带操作系统的程序也是可以的。
回复

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
金钱
1171
注册时间
2015-11-9
在线时间
248 小时
 楼主| 发表于 2017-6-20 15:08:11 | 显示全部楼层
Watmin 发表于 2017-6-20 15:05
IAP程序有多大?和APP之间最好再留一点空间。
IAP通常都是裸机的,跳到一个带操作系统的程序也是可以的。

IAP小于16K。。用这个IAP跳转到不带系统的APP是可以的
回复

使用道具 举报

6

主题

115

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1027
金钱
1027
注册时间
2015-6-1
在线时间
126 小时
发表于 2017-6-20 15:13:19 | 显示全部楼层
SCB->VTOR = FLASH_BASE | 0x4000这句可以在system文件里修改吧,然后IROM1里面设置后全部重新编译。
回复

使用道具 举报

6

主题

115

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1027
金钱
1027
注册时间
2015-6-1
在线时间
126 小时
发表于 2017-6-20 15:14:47 | 显示全部楼层
首先检查APP的地址有没有设置成功吧。先清除原来的IAP程序段。然后直接下载你的APP。这时候下载完应该是没有动作的。
回复

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
金钱
1171
注册时间
2015-11-9
在线时间
248 小时
 楼主| 发表于 2017-6-20 15:26:37 | 显示全部楼层
Watmin 发表于 2017-6-20 15:14
首先检查APP的地址有没有设置成功吧。先清除原来的IAP程序段。然后直接下载你的APP。这时候下载完应该是没 ...

APP已经跳转成功了,好像执行了OSStart(&err)之后就死了。APP程序中OSStart(&err)前面的语句都能执行
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2017-5-19
在线时间
9 小时
发表于 2017-6-21 09:35:19 | 显示全部楼层
你如果带操作系统的话,在跳转的时候加句__set_CONTROL(0);转到特权模式。同时把所有的外设中断屏蔽掉,在应用程序中再打开中断。
回复

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
金钱
1171
注册时间
2015-11-9
在线时间
248 小时
 楼主| 发表于 2017-6-21 10:05:50 | 显示全部楼层
冥羿 发表于 2017-6-21 09:35
你如果带操作系统的话,在跳转的时候加句__set_CONTROL(0);转到特权模式。同时把所有的外设中断屏蔽掉,在 ...

你好。__set_CONTROL(0);转到特权模式,能说说原理吗?转到特权模式和不转到特权模式有什么区别。因为都会跳到APP中的Rest_Handle进行复位的啊。
回复

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
金钱
1171
注册时间
2015-11-9
在线时间
248 小时
 楼主| 发表于 2017-6-21 10:50:50 | 显示全部楼层
shibinjie 发表于 2017-6-21 10:05
你好。__set_CONTROL(0);转到特权模式,能说说原理吗?转到特权模式和不转到特权模式有什么区别。因为都 ...

刚开了下,__set_CONTROL(0);好像是进入用户级线程模式吧,不是进入特权模式
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2017-5-19
在线时间
9 小时
发表于 2017-6-21 10:53:42 | 显示全部楼层
shibinjie 发表于 2017-6-21 10:05
你好。__set_CONTROL(0);转到特权模式,能说说原理吗?转到特权模式和不转到特权模式有什么区别。因为都 ...

我也不是很懂,当时我做IAP时遇到的问题。APP无系统一切正常,带UCOS系统就不行。网上各种搜资料,搞了几天才弄好。就是转特权模式+关中断好的。
回复

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
金钱
1171
注册时间
2015-11-9
在线时间
248 小时
 楼主| 发表于 2017-6-21 12:32:01 | 显示全部楼层
冥羿 发表于 2017-6-21 10:53
我也不是很懂,当时我做IAP时遇到的问题。APP无系统一切正常,带UCOS系统就不行。网上各种搜资料,搞了几 ...

好的,我再研究下模式
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-7-24
在线时间
7 小时
发表于 2017-7-24 15:49:33 | 显示全部楼层
请教下可以了么,我也遇到这个问题,中断跑飞,
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2015-12-29
在线时间
7 小时
发表于 2017-9-12 11:02:10 | 显示全部楼层
我也出现过相同的问题。注意偏移和中断开和关,还有可能是特权模式。
回复

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
金钱
1171
注册时间
2015-11-9
在线时间
248 小时
 楼主| 发表于 2017-9-13 15:36:17 | 显示全部楼层
zhouzhou110 发表于 2017-9-12 11:02
我也出现过相同的问题。注意偏移和中断开和关,还有可能是特权模式。

特权模式具体怎么解释?
回复

使用道具 举报

12

主题

241

帖子

0

精华

高级会员

Rank: 4

积分
806
金钱
806
注册时间
2017-8-17
在线时间
159 小时
发表于 2017-9-21 08:56:14 | 显示全部楼层
持续关注中,我现在也是遇到这个问题,头疼到不行
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2017-10-31
在线时间
2 小时
发表于 2017-10-31 18:00:35 | 显示全部楼层
我也出现过相同的问题
回复

使用道具 举报

2

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2016-10-5
在线时间
49 小时
发表于 2017-11-6 15:01:51 | 显示全部楼层
能上传个工程看看嘛   我也卡在这拉
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2017-11-7 01:07:57 | 显示全部楼层
感觉像是中断向量没配置好。你的裸机app用带中断的例程来做,试试看。
回复

使用道具 举报

33

主题

150

帖子

0

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2014-1-24
在线时间
102 小时
发表于 2018-1-25 17:30:07 | 显示全部楼层
正点原子 发表于 2017-11-7 01:07
感觉像是中断向量没配置好。你的裸机app用带中断的例程来做,试试看。

老大现在有解嘛?我的App跑系统IAP后一OSStart之后就死机,我也感觉是中断向量的问题,但是中断向量不是一开始在main函数中就设置了嘛(SCB->VTOR =),App不跑系统就没问题,好头疼。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2018-1-26 01:20:58 | 显示全部楼层
北方的马克思 发表于 2018-1-25 17:30
老大现在有解嘛?我的App跑系统IAP后一OSStart之后就死机,我也感觉是中断向量的问题,但是中断向量不是 ...

没搞过UCOSIII的iap,但是我们开发板例程,综合实验,都是可以做APP用的!用的ucosii
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-3-29
在线时间
17 小时
发表于 2022-6-1 16:12:22 | 显示全部楼层
你好,有没有具体代码
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-3-29
在线时间
17 小时
发表于 2022-6-1 16:16:36 | 显示全部楼层
冥羿 发表于 2017-6-21 10:53
我也不是很懂,当时我做IAP时遇到的问题。APP无系统一切正常,带UCOS系统就不行。网上各种搜资料,搞了几 ...

你好,怎么转特权模式和关中断
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 01:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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