请选择 进入手机版 | 继续访问电脑版

安富莱电子论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 9280|回复: 36
收起左侧

[例程下载] STM32-V5开发板串口IAP操作说明(例子:V5_136_串口IAP)

  [复制链接]

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
发表于 2015-3-6 09:07:03 | 显示全部楼层 |阅读模式
例子下载: V5_136_串口IAP.rar (4.4 MB, 下载次数: 923)
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

107

主题

787

帖子

1001

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1001
发表于 2015-3-6 10:23:49 | 显示全部楼层
IAP自身的程序在哪里? 怎么下载到板子上的?[s:120]
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2015-3-6 10:25:28 | 显示全部楼层

回 caicaptain2 的帖子

caicaptain2:IAP自身的程序在哪里? 怎么下载到板子上的?[s:120]  (2015-03-06 10:23) 
还没有整理完,我发的有些早
http://forum.armfly.com/forum.php?mod=viewthread&tid=7044
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

7

主题

52

帖子

66

积分

初级会员

积分
66
发表于 2015-3-25 12:07:38 | 显示全部楼层
以上例子已经应用到工程项目中,感谢硬汉同学[s:142] [s:142] [s:142]
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2015-3-25 12:23:01 | 显示全部楼层

回 ajaxchan 的帖子

ajaxchan:以上例子已经应用到工程项目中,感谢硬汉同学[s:142] [s:142] [s:142]  (2015-03-25 12:07) 
[s:142][s:142]
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

11

主题

114

帖子

31

积分

初级会员

积分
31
发表于 2015-12-31 09:29:34 | 显示全部楼层
与此类似,如果放到SD卡升级呢?  andriod机都是这样升级多~
回复

使用道具 举报

11

主题

114

帖子

31

积分

初级会员

积分
31
发表于 2016-1-4 09:41:08 | 显示全部楼层
http://forum.armfly.com/forum.php?mod=viewthread&tid=16906&ds=1&page=1&toread=1#tpc  我后面在v5开发板实现了 sdio+iap
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2016-1-5 10:56:03 | 显示全部楼层

回 qq27488 的帖子

qq27488:我下载一个自己的.bin文件(里面配置都修改好了),有390K大小。下载完成后,无论是电脑键盘按1/2都没反应,复位就串口会出现提示你按1/2等信息~  是什么情况? (2016-01-04 09:41) 
回头我测试下看看。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

积分
4
发表于 2017-8-24 09:28:07 | 显示全部楼层
#define APPLICATION_ADDRESS   (uint32_t)0x08010000
可执行程序bin文件的首地址为什么是0x08010000 ?
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2017-8-24 09:33:24 | 显示全部楼层

回 gld的账号 的帖子

gld的账号:
#define APPLICATION_ADDRESS   (uint32_t)0x08010000
可执行程序bin文件的首地址为什么是0x08010000 ?
不限制。

QQ截图20170824092950.png
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

12

帖子

12

积分

新手上路

积分
12
发表于 2017-11-6 16:01:31 | 显示全部楼层
您好,我把U盘FatFS的例程加到这个工程里面,想做成从U盘读取升级文件的,不知为什么检测不到U盘插入,执行到读取文件就卡住了,拔掉U盘才检测到.。往别的工程里面加U盘的功能不这样啊
回复

使用道具 举报

0

主题

12

帖子

12

积分

新手上路

积分
12
发表于 2017-11-6 16:02:27 | 显示全部楼层
您好,我把U盘FatFS的例程加到这个工程里面,想做成从U盘读取升级文件的,不知为什么检测不到U盘插入,执行到读取文件就卡住了,拔掉U盘才检测到.。往别的工程里面加U盘的功能不这样啊
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2017-11-7 01:45:52 | 显示全部楼层

回 _uuuu 的帖子

_uuuu:您好,我把U盘FatFS的例程加到这个工程里面,想做成从U盘读取升级文件的,不知为什么检测不到U盘插入,执行到读取文件就卡住了,拔掉U盘才检测到.。往别的工程里面加U盘的功能不这样啊 (2017-11-06 16:02) 
那就反着来,将这个工程网U盘里面加试试看。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

12

帖子

12

积分

新手上路

积分
12
发表于 2017-11-9 15:12:16 | 显示全部楼层

回 eric2013 的帖子

eric2013:那就反着来,将这个工程网U盘里面加试试看。 (2017-11-07 01:45) 
嗯,现在可以跳到简单的APP了[s:142]
回复

使用道具 举报

0

主题

12

帖子

12

积分

新手上路

积分
12
发表于 2017-11-9 17:27:37 | 显示全部楼层
求助,用V5开发板的U盘FatFS例程做的bin文件,用这个串口IAP例程更新,结果跳过去打印几个字符后程序就卡死了
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2017-11-10 01:20:18 | 显示全部楼层

回 _uuuu 的帖子

_uuuu:求助,用V5开发板的U盘FatFS例程做的bin文件,用这个串口IAP例程更新,结果跳过去打印几个字符后程序就卡死了 (2017-11-09 17:27) 
你的boot程序是不是裸机的,跳转前关闭全局中断。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

12

帖子

12

积分

新手上路

积分
12
发表于 2017-11-13 14:19:46 | 显示全部楼层

回 eric2013 的帖子

eric2013:你的boot程序是不是裸机的,跳转前关闭全局中断。 (2017-11-10 01:20) 
static void USB_OTG_BSP_TimeInit ( void )
{
#ifdef USE_ACCURATE_TIME   
  NVIC_InitTypeDef NVIC_InitStructure;
  
  /* Set the Vector Table base address at 0x08000000 */
   
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00);
  
  找到原因了,usb_bsp.c的这一句,
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2017-11-14 10:18:30 | 显示全部楼层

回 _uuuu 的帖子

_uuuu:static void USB_OTG_BSP_TimeInit ( void )
{
#ifdef USE_ACCURATE_TIME  
  NVIC_InitTypeDef NVIC_InitStructure;
....... (2017-11-13 14:19) 
谢谢告知问题的原因[s:142]
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

12

帖子

12

积分

新手上路

积分
12
发表于 2017-11-14 19:26:47 | 显示全部楼层
求助求助。还是IAP的事,我在应用程序里面加了RL-FlashFS的部分,是从《基于RL-FlashFS的F429驱动NAND Flash》这个里面剥出来的,单独运行没问题,但是把这段程序烧到0x8010000,再从IAP往这跳转就死掉了。拿其他程序试了也是这样,只要加上RL-FlashFS的部分,就会出现跳转不了。没找到原因到底出在哪儿。。。。。。。。。。
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2017-11-15 10:22:57 | 显示全部楼层

回 _uuuu 的帖子

_uuuu: 求助求助。还是IAP的事,我在应用程序里面加了RL-FlashFS的部分,是从《基于RL-FlashFS的F429驱动NAND Flash》这个里面剥出来的,单独运行没问题,但是把这段程序烧到0x8010000,再从IAP往这跳转就死掉了。拿其他程序试了也是这样,只要加上RL-FlashFS的部分,就会出现跳转 .. (2017-11-14 19:26) 
必要的设置都做了吧,中断向量表位置和Flash位置修改。另外调整前关闭全局中断。在你的APP函数开头先弄个串口打印,看看在哪里死机了。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

12

帖子

12

积分

新手上路

积分
12
发表于 2017-11-15 18:09:49 | 显示全部楼层
捕获.PNG
重定向输出的函数
回复

使用道具 举报

0

主题

12

帖子

12

积分

新手上路

积分
12
发表于 2017-11-15 18:13:24 | 显示全部楼层
上面图中划线的两句前后顺序换一下,就可以正常跳转了。
好奇怪,这样写的时候竟然也能正常执行串口打印打印数据。不应该卡到while循环那儿吗
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2017-11-16 00:42:40 | 显示全部楼层

回 _uuuu 的帖子

_uuuu:上面图中划线的两句前后顺序换一下,就可以正常跳转了。
好奇怪,这样写的时候竟然也能正常执行串口打印打印数据。不应该卡到while循环那儿吗 (2017-11-15 18:13) 
的确有个这个问题,后面了深入查下。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

2

帖子

26

积分

新手上路

积分
26
发表于 2018-1-11 11:54:12 | 显示全部楼层
本帖最后由 李光 于 2018-1-11 11:56 编辑

您好,我把IAP放到了APP区域的后方,到发送文件时候就会收不到远程主机的响应,进度条也不走;这个我该怎么解决呢?把IAP放到APP前面,倒是没什么问题;我是这样分配存储空间的:
APP:0X08000000~0X0803FFFF
IAP:0X08040000~0X0805FFFF
PARA:0X0807F800~0X0807FFFF
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2018-1-11 12:20:56 | 显示全部楼层
李光 发表于 2018-1-11 11:54
您好,我把IAP放到了APP区域的后方,到发送文件时候就会收不到远程主机的响应,进度条也不走;这个我该怎么 ...

这个涉及到一个重映射的问题。对于Cortex-M内核,上电后务必从0x0000 0000开始读取SP PC和中断向量表
而STM32是将Flash的首地址0x0800 0000映射到0x0000 0000的。所以0x0800 0000一定要是IAP。上电后随意搞。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

2

帖子

26

积分

新手上路

积分
26
发表于 2018-1-11 14:24:51 | 显示全部楼层
eric2013 发表于 2018-1-11 12:20
这个涉及到一个重映射的问题。对于Cortex-M内核,上电后务必从0x0000 0000开始读取SP PC和中断向量表
而 ...

好吧,谢谢了
我准备在APP里通过命令写入flash一个升级标识,上电后IAP读取到这个标识并判断,如果不需要升级则直接跳转到APP
回复

使用道具 举报

0

主题

12

帖子

12

积分

新手上路

积分
12
发表于 2018-3-12 14:07:42 | 显示全部楼层
求助,串口通信要求数据位7位,无校验,STM32这边该怎么配置呢
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2018-3-12 15:27:27 | 显示全部楼层
_uuuu 发表于 2018-3-12 14:07
求助,串口通信要求数据位7位,无校验,STM32这边该怎么配置呢

7位数据的话,有一位得是奇偶校验位才行
QQ截图20180312152543.png
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

6

主题

24

帖子

36

积分

新手上路

积分
36
发表于 2018-5-2 22:47:51 | 显示全部楼层
DISABLE_INT(); /* 关中断 */
Jump_To_Application();


坛主,请问是在这里加吗?
回复

使用道具 举报

6

主题

24

帖子

36

积分

新手上路

积分
36
发表于 2018-5-2 23:06:00 | 显示全部楼层
还有一个问题,我现在APP程序里面一个中断都没有
int main()
{
        BSP_Init();
        BSP_LedOff(1);       
        BSP_LedOff(2);
//        PrintfLogo();
//        BSP_StartAutoTimer(0, 500);        /* 启动1个500ms的自动重装的定时器 */
        while(1)
        {
                BSP_LedOn(1);       
                Delay(0x1FFFFF);
                BSP_LedOff(1);       
                Delay(0x1FFFFF);
//               
//                if (BSP_CheckTimer(0))
//                {
//                        BSP_LedToggle(1);
//                }
        }
}
我这样才可以正常运行
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2018-5-3 02:38:44 | 显示全部楼层
Sincere_sZ08C 发表于 2018-5-2 22:47
DISABLE_INT(); /* 关中断 */
Jump_To_Application();

加上是有必要的。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2018-5-3 02:40:48 | 显示全部楼层
Sincere_sZ08C 发表于 2018-5-2 23:06
还有一个问题,我现在APP程序里面一个中断都没有
int main()
{

中断向量表出问题了,发生中断后,程序不能正确调整到指定的地址。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

16

主题

76

帖子

108

积分

初级会员

积分
108
发表于 2018-5-14 13:46:03 | 显示全部楼层
....硬汉兄,带UCOS这类OS的做IAP时,应该注意什么,可以直接用裸机的么
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2018-5-15 05:12:58 | 显示全部楼层
borrow1988 发表于 2018-5-14 13:46
....硬汉兄,带UCOS这类OS的做IAP时,应该注意什么,可以直接用裸机的么

没问题的
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

0

主题

1

帖子

1

积分

新手上路

积分
1
发表于 2019-2-20 16:10:19 | 显示全部楼层
SecureCRT8.1和8.5版本已经能直接用ymodem下载了,Win10和Win7下能代替超级终端了
回复

使用道具 举报

5667

主题

3万

帖子

4万

积分

管理员

做人第一,工作第二

Rank: 9Rank: 9Rank: 9

积分
45615
QQ
 楼主| 发表于 2019-2-20 16:41:21 | 显示全部楼层
0xcf_nc2Mv 发表于 2019-2-20 16:10
SecureCRT8.1和8.5版本已经能直接用ymodem下载了,Win10和Win7下能代替超级终端了

谢谢告知。
老版的也支持,就是跟我们常用的,在实现上略有区别,自己做的代码要改下。
淘宝小店: https://armfly.taobao.com/
专注,努力,用心的做好每一件事情,Fighting!
回复

使用道具 举报

8

主题

229

帖子

245

积分

高级会员

积分
245
发表于 2019-2-22 09:33:53 | 显示全部楼层
eric2013 发表于 2019-2-20 16:41
谢谢告知。
老版的也支持,就是跟我们常用的,在实现上略有区别,自己做的代码要改下。

Eric,有没有USB OTG 能识别2GB以上U盘的驱动? 我的是STM32F105
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|安富莱电子论坛 ( 鄂ICP备09023347号,公安机关备案号42010602000201 )

GMT+8, 2019-5-21 07:08 , Processed in 0.356030 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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