硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2629|回复: 15
收起左侧

[有问必答] IAP跳转APP失败

[复制链接]

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
发表于 2021-8-5 21:40:54 | 显示全部楼层 |阅读模式
本帖最后由 dasd 于 2021-8-5 21:58 编辑

请教我的ERIC大神,执行跳转APP这条语句就近HARDFAULT,请问是哪里错了?(貌似关了中断了呀)


跳转代码

跳转代码
微信截图_20210805214357.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
发表于 2021-8-6 07:59:21 | 显示全部楼层
那款芯片,RAM多大,你程序的跳转地址是多少,APP的程序的中断向量表是否正常设置了等相关问题都没有描述
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2021-8-6 09:46:15 | 显示全部楼层
F407 4K的ram,跳转地址是0X8010000 ,APP中断向量表设置了10000的偏移,移植stm的iap以太网例程
回复

使用道具 举报

3

主题

66

回帖

75

积分

初级会员

积分
75
发表于 2021-8-6 10:23:13 | 显示全部楼层
在跳转之前, 开了什么外设, 什么中断,统统关掉, 这样就没问题了
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2021-8-6 15:07:07 | 显示全部楼层
westzg 发表于 2021-8-6 10:23
在跳转之前, 开了什么外设, 什么中断,统统关掉, 这样就没问题了

好像不是这个问题,应该是文件没下载对,我用jlink直接把APP下载到08010000就能跳转
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
发表于 2021-8-7 09:50:15 | 显示全部楼层
dasd 发表于 2021-8-6 15:07
好像不是这个问题,应该是文件没下载对,我用jlink直接把APP下载到08010000就能跳转

那应该是了,APP程序没有正常下载。
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2021-8-7 17:36:29 | 显示全部楼层
eric2013 发表于 2021-8-7 09:50
那应该是了,APP程序没有正常下载。

现在读出写的FLASh好多0和原数据不一样请问可能是什么原因呢
QQ截图20210807173352.png
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2021-8-7 18:00:49 | 显示全部楼层
http.c服务器.C文件

httpserver.c

18.1 KB, 下载次数: 0

回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2021-8-7 20:53:09 | 显示全部楼层
跳转地址+1,别问我为什么哦!
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2021-8-8 21:45:01 | 显示全部楼层
wurst 发表于 2021-8-7 20:53
跳转地址+1,别问我为什么哦!

不是这个问题,好像
回复

使用道具 举报

2

主题

13

回帖

19

积分

新手上路

积分
19
发表于 2021-8-9 13:44:02 | 显示全部楼层
在做2812的Boot loader时出此现类似的现象,解决办法是进入Boot loader之前关全局中断,通讯用查询方式接收
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2021-8-9 16:57:46 | 显示全部楼层
bailao99 发表于 2021-8-9 13:44
在做2812的Boot loader时出此现类似的现象,解决办法是进入Boot loader之前关全局中断,通讯用查询方式接收

不是这个问题,是现在收数据有问题
回复

使用道具 举报

2

主题

49

回帖

55

积分

初级会员

积分
55
发表于 2021-8-21 08:58:24 | 显示全部楼层
没设置SCB->VTOR中断向量表偏移 肯定跑不起来的
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2021-8-22 21:33:53 | 显示全部楼层
jiaoxiake 发表于 2021-8-21 08:58
没设置SCB->VTOR中断向量表偏移 肯定跑不起来的

设置了的,在启动文件里设置了中断向量表的偏移,不是这个问题
回复

使用道具 举报

0

主题

159

回帖

159

积分

初级会员

积分
159
发表于 2021-8-22 23:48:20 | 显示全部楼层
dasd 发表于 2021-8-22 21:33
设置了的,在启动文件里设置了中断向量表的偏移,不是这个问题

试一下再APP程序的 int main 里设置一下偏移。。
我以前也再启动文件设置过,不行,后来这样就可以了·

/**
* @brief  主函数入口
* @return int
*/
int main(void)
{
  SCB->VTOR=FLASH_BASE|0X6000;
  __set_PRIMASK(1);
  //GD32 BSP 初始化
  GD32_BSPInit();
....
}
回复

使用道具 举报

12

主题

66

回帖

102

积分

初级会员

程序员小小弟

积分
102
 楼主| 发表于 2021-8-23 15:10:01 | 显示全部楼层
laxsystem01 发表于 2021-8-22 23:48
试一下再APP程序的 int main 里设置一下偏移。。
我以前也再启动文件设置过,不行,后来这样就可以了·
...

试过了,不可以,我用ST-LINK读了flash,发现flash的数据不对,所以现在的问题是写flash没写对。放弃一段时间了
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-18 17:36 , Processed in 0.208689 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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