OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
楼主: 流水若冰

STM32实现IAP功能的学习笔记

  [复制链接]

11

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2014-12-29
在线时间
45 小时
发表于 2017-3-27 15:04:25 | 显示全部楼层
浏览了一下,看起来很不错的样子,下载学习学习,先谢谢楼主了。测试好了,再来和大家分享!
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2017-4-5
在线时间
2 小时
发表于 2017-4-5 10:59:22 | 显示全部楼层
楼主你好,首先非常感谢你的分享,本人是小白,刚好想实现IAP功能,请问你压缩包里有两个程序,在正常应用的时候应该用哪一个呢
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-4-7 08:34:03 | 显示全部楼层
囧仔先生 发表于 2017-4-5 10:59
楼主你好,首先非常感谢你的分享,本人是小白,刚好想实现IAP功能,请问你压缩包里有两个程序,在正常应用 ...

两个程序都会被使用到,Boot程序是引导程序,App程序是你的用户程序,好好看一下教程,首先你得理解什么是IAP的升级!
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2017-4-1
在线时间
14 小时
发表于 2017-4-7 09:15:04 | 显示全部楼层
卿卿奶酪 发表于 2016-10-25 14:26
恩,都移植了,不过已经调试好了!我用的C8T6,地址有个地方忽视了,感谢楼主的分享!

求C8T6的移植程序
回复 支持 反对

使用道具 举报

44

主题

298

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2016-9-9
在线时间
84 小时
发表于 2017-4-7 13:19:31 | 显示全部楼层
请问,用IAP程序更新和串口下载程序更新有什么优点吗?
有必要这样做吗
回复 支持 反对

使用道具 举报

11

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1124
金钱
1124
注册时间
2015-2-27
在线时间
485 小时
发表于 2017-4-7 13:40:07 | 显示全部楼层
同楼上,我有个疑问,这个串口IAP的意义是什么?
ST官方推出的Flash Loader Demo软件直接可以从串口1下载程序到MCU,你这里添加了IAP代码反而还占用了MCU的flash。
回复 支持 反对

使用道具 举报

15

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2014-2-17
在线时间
38 小时
发表于 2017-4-11 11:54:50 | 显示全部楼层
先mark下
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-12-10
在线时间
16 小时
发表于 2017-4-13 10:22:55 | 显示全部楼层
楼主   最近我也在看IAP功能     有个疑惑我想问一下,那张由IAP程序的流程图例,标号6是如何实现跳转的,按照我的理解在0X08000004里查找到中断函数的入口地址后,应该是跳到BootLoader程序里的中断函数,不会调到我们应用程序里的中断函数,0X8000004里中断函数的地址应该不会大于0X08010000,那它怎么就能找到大于0X08010000地址的中断函数,难道说CPU在中断向量表里查到中断函数地址后还会考虑加偏移量?

望楼主解答,谢了
回复 支持 反对

使用道具 举报

15

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2014-2-17
在线时间
38 小时
发表于 2017-4-13 11:55:03 | 显示全部楼层
流水若冰 发表于 2017-4-7 08:34
两个程序都会被使用到,Boot程序是引导程序,App程序是你的用户程序,好好看一下教程,首先你得理解什么 ...

楼主还在么?你的这个IAP下载方式,我详细的查看了,但是你后面加的那个Compare_Buffer函数是需要自己写么?还是库文件中有,我编译的时候显示未定义。还有就是存储的缓存,数组大小是不是只要定义,不设置大小?u8 TempReadTest[Flash_Save_Code_Size]={0};或者这个Flash_Save_Code_Size没有定义?
花自飘零水自流,生命不息,奋斗不止
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-4-13 21:12:34 | 显示全部楼层
dreamARM 发表于 2017-4-7 13:19
请问,用IAP程序更新和串口下载程序更新有什么优点吗?
有必要这样做吗

这事是程序能够升级下载的一种方式,比如你做了产品,如果以后要升级程序你总不能,拿着下载器去现场下载吧,一般都会留一个通信接口串口、USB、网口来方便以后更新程序。
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-4-13 21:14:06 | 显示全部楼层
enan 发表于 2017-4-7 13:40
同楼上,我有个疑问,这个串口IAP的意义是什么?
ST官方推出的Flash Loader Demo软件直接可以从串口1下载 ...

官方的Demo软件当然可适以直接下载,升级固件的方式有很多种,但是不一定会用你的产品。
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-4-13 21:38:30 | 显示全部楼层
kevin_shen 发表于 2017-4-13 10:22
楼主   最近我也在看IAP功能     有个疑惑我想问一下,那张由IAP程序的流程图例,标号6是如何实现跳转的, ...

这个是由STM32的硬件机制决定的,当CPU得到一个中断请求之后,PC指针仍然会跳转到地址0x08000004处的中断向量表处,而不是新的中断向量表处,此时程序会再根据我们之前设定的中断向量表偏移量跳转到对应中断源新的中断服务程序中,这就是标号5、6的过程。
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-4-13 21:54:02 | 显示全部楼层
本帖最后由 流水若冰 于 2017-4-22 15:47 编辑
开荤的唐僧 发表于 2017-4-13 11:55
楼主还在么?你的这个IAP下载方式,我详细的查看了,但是你后面加的那个Compare_Buffer函数是需要自己写 ...

你看一下18楼的内容吧下面是 CompareBuffer()函数的定义,
Flash_Save_Code_Size这个值根据写入的数据的大小来定义即可,数组大小只要能装下读出的数据即可,不好意思,我记得新上传的程序已经加了这部分代码,明天我在好好查一下上传的附件。

//比较两个数组的前nCount字节是否相等
u8 CompareBuffer(u8* pBuf1, u8* pBuf2, int nCount)
{
    int i;
    for(i = 0; i < nCount; i++)
    {
        if(pBuf1【i】 != pBuf2【i】)
            return 0;           
    }
    return 1;
}
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2015-12-10
在线时间
16 小时
发表于 2017-4-14 09:48:23 | 显示全部楼层
流水若冰 发表于 2017-4-13 21:38
这个是由STM32的硬件机制决定的,当CPU得到一个中断请求之后,PC指针仍然会跳转到地址0x08000004处的中断 ...

懂了 谢谢
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2017-4-18
在线时间
4 小时
发表于 2017-4-18 13:19:07 | 显示全部楼层
卿卿奶酪 发表于 2016-10-24 22:58
移植了楼主的程序,但是每次升级完成后,总是跳不到APP那里,debug了一下看到在跳转那里直接进硬件中断错误 ...

麻烦问一下,你的问题解决了吗,现在还进硬件中断错误吗?我的也出现了进入硬件中断错误
回复 支持 反对

使用道具 举报

15

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2014-2-17
在线时间
38 小时
发表于 2017-4-18 20:15:41 | 显示全部楼层
流水若冰 发表于 2017-4-13 21:54
你看一下18楼的内容吧,下面是 CompareBuffer()函数的定义,
Flash_Save_Code_Size这个值根据写入的数据 ...

不是pBuf1!=pBuf2吧,应该是(pBuf1【i】)!=(*pBuf2).我这边暂时测试的结果是,添加FLASH写入校验的这个函数调用出错,原因是一个U8与U32的冲突。
还有问楼主个问题就是那个C语言中嵌入汇编语句的问题我没有搞懂。移植到Keil应该做什么样的修改?就是asm那几句
花自飘零水自流,生命不息,奋斗不止
回复 支持 反对

使用道具 举报

163

主题

300

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1214
金钱
1214
注册时间
2016-5-19
在线时间
297 小时
发表于 2017-4-18 20:26:44 | 显示全部楼层
楼主想问下http://www.openedv.com/forum.php ... id=99351&extra=
fwaddr+=2048;为什么是2048而不是1024,向你请教了
回复 支持 反对

使用道具 举报

163

主题

300

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1214
金钱
1214
注册时间
2016-5-19
在线时间
297 小时
发表于 2017-4-18 20:28:01 | 显示全部楼层
喜欢这篇帖子,收藏了.
回复 支持 反对

使用道具 举报

ximusong 该用户已被删除
发表于 2017-4-21 14:07:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-4-22 15:42:44 | 显示全部楼层
本帖最后由 流水若冰 于 2017-4-22 15:50 编辑
开荤的唐僧 发表于 2017-4-18 20:15
不是pBuf1!=pBuf2吧,应该是(pBuf1【i】)!=(*pBuf2).我这边暂时测试的结果是,添加FLASH写入校验的这 ...

1. 不好意思 ,CompareBuffer函数抄错了
//比较两个数组的前nCount字节是否相等
u8 CompareBuffer(u8* pBuf1, u8* pBuf2, int nCount)
{
    int i;
    for(i = 0; i < nCount; i++)
    {
        if(pBuf1【i】!= pBuf2【i】)
            return 0;           
    }
    return 1;
}
2. C语言嵌入汇编语言时再keil环境下,和IAR环境时,有点不同,具体你可以参考原子哥的历程,他的就是Keil环境下作的
我程序里的这个函数MSR_MSP(),被屏蔽掉的2句就是keil环境下的 你把后两句屏蔽掉,把前面2句打开试试void MSR_MSP(u32 addr)
{
    //asm("MSR MSP, r0");  //使用Keil内嵌汇编时使用这两句
    //asm("BX r14");
  __ASM("msr msp, r0");  //set Main Stack value 将主堆栈地址保存到MSP寄存器(R13)中
  __ASM("bx lr"); //跳转到lr中存放的地址处。bx是强制跳转指令 lr是连接寄存器,是STM32单片机的R14
}


一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2014-12-3
在线时间
13 小时
发表于 2017-4-24 11:31:30 | 显示全部楼层
楼主试过IAP时,弄两个固件,APP1,和APP2,运行APP1的时候,升级时更新APP2,然后运行APP2吗?跳转会有问题,程序指针感觉会乱
回复 支持 反对

使用道具 举报

9

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
421
金钱
421
注册时间
2017-4-26
在线时间
64 小时
发表于 2017-4-27 10:51:41 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2016-4-13
在线时间
14 小时
发表于 2017-5-3 10:20:28 | 显示全部楼层
握草,写得好详细,给32个赞
回复 支持 1 反对 0

使用道具 举报

15

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2014-2-17
在线时间
38 小时
发表于 2017-5-7 15:47:29 | 显示全部楼层
流水若冰 发表于 2017-4-22 15:42
1. 不好意思 ,CompareBuffer函数抄错了
//比较两个数组的前nCount字节是否相等
u8 CompareBuffer(u8*  ...

前面个CopareBuffer,我后面再试下,,那个嵌入汇编的语句,我调试过了,不成功,好像不是这样的
花自飘零水自流,生命不息,奋斗不止
回复 支持 反对

使用道具 举报

缘由天定 该用户已被删除
发表于 2017-5-10 00:01:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

6

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2016-8-25
在线时间
61 小时
发表于 2017-5-16 15:05:35 | 显示全部楼层
MARK,谢谢楼主的无私奉献。
回复 支持 反对

使用道具 举报

0

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2013-10-10
在线时间
17 小时
发表于 2017-5-16 18:49:46 | 显示全部楼层
前来参考一下~~
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2016-4-13
在线时间
14 小时
发表于 2017-5-23 11:45:43 | 显示全部楼层
开荤的唐僧 发表于 2017-5-7 15:47
前面个CopareBuffer,我后面再试下,,那个嵌入汇编的语句,我调试过了,不成功,好像不是这样的

[mw_shl_code=c,true]__asm void MSR_MSP(u32 addr)
{
    MSR MSP,r0   
    BX  r14
//    asm("MSR MSP, r0");  
//    asm("BX r14");
//  __ASM("msr msp, r0");  
//  __ASM("bx lr");
}[/mw_shl_code]
回复 支持 反对

使用道具 举报

18

主题

94

帖子

0

精华

高级会员

Rank: 4

积分
571
金钱
571
注册时间
2016-5-30
在线时间
87 小时
发表于 2017-5-23 15:40:30 | 显示全部楼层
多谢楼主
回复 支持 反对

使用道具 举报

18

主题

94

帖子

0

精华

高级会员

Rank: 4

积分
571
金钱
571
注册时间
2016-5-30
在线时间
87 小时
发表于 2017-5-29 21:36:07 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2017-6-9
在线时间
0 小时
发表于 2017-6-9 21:57:58 | 显示全部楼层
受益颇深
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2012-12-11
在线时间
3 小时
发表于 2017-6-20 09:23:40 | 显示全部楼层
mark,赞
回复 支持 反对

使用道具 举报

15

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2014-2-17
在线时间
38 小时
发表于 2017-6-27 17:10:02 | 显示全部楼层
wyq 发表于 2017-5-23 11:45
[mw_shl_code=c,true]__asm void MSR_MSP(u32 addr)
{
    MSR MSP,r0   

好的,多谢
花自飘零水自流,生命不息,奋斗不止
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2017-7-7
在线时间
8 小时
发表于 2017-7-7 16:02:26 | 显示全部楼层
有移植到keil成功的盆友吗
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2017-7-7
在线时间
8 小时
发表于 2017-7-10 14:50:42 | 显示全部楼层
流水若冰 发表于 2016-10-21 08:25
之前有网友提出,在写入FLASH中时没有进行校验,写入是否正确,现在把这个校验加上,思路是写入FLASH后再把 ...

为什么加上flash校验就升级失败了
回复 支持 反对

使用道具 举报

1

主题

82

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3155
金钱
3155
注册时间
2017-7-10
在线时间
360 小时
发表于 2017-7-10 16:31:43 | 显示全部楼层
wxadad 发表于 2017-7-7 16:02
有移植到keil成功的盆友吗

用原子的
__asm void MSR_MSP(u32 addr)
{
    MSR MSP, r0                         //set Main Stack value
    BX r14
}
回复 支持 反对

使用道具 举报

1

主题

82

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3155
金钱
3155
注册时间
2017-7-10
在线时间
360 小时
发表于 2017-7-10 16:34:49 | 显示全部楼层
PC端的STM32_UpdateSoftware的这个程序在win10 64bit下,打开后点升级后程序就没有反应了,或者直接点关闭x按钮程序也会没有反应,不知有何经验参考。
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-7-10 21:27:15 | 显示全部楼层
wxadad 发表于 2017-7-10 14:50
为什么加上flash校验就升级失败了

flash的校验 是对写入和读出数据是否一致的校验,可以用仿真器跟一下看看哪里失败的
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-7-10 21:28:28 | 显示全部楼层
xyzhu 发表于 2017-7-10 16:34
PC端的STM32_UpdateSoftware的这个程序在win10 64bit下,打开后点升级后程序就没有反应了,或者直接点关闭x ...

这个软件是在win7下开发的,没在win10上测试过,改天发一版win10的上来
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2017-7-7
在线时间
8 小时
发表于 2017-7-11 09:15:59 | 显示全部楼层
流水若冰 发表于 2017-7-10 21:27
flash的校验 是对写入和读出数据是否一致的校验,可以用仿真器跟一下看看哪里失败的

弄好了,第一包数据开头有问题,后面的就完全跟bin文件一样了,可能是编译器不同导致的把
回复 支持 反对

使用道具 举报

0

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1714
金钱
1714
注册时间
2016-11-23
在线时间
138 小时
发表于 2017-7-12 20:13:35 | 显示全部楼层
写的非常好,谢谢分享。
回复 支持 反对

使用道具 举报

34

主题

178

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2013-11-1
在线时间
183 小时
发表于 2017-7-12 20:37:23 | 显示全部楼层
mark一下 IAP bootload
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
114
金钱
114
注册时间
2016-4-15
在线时间
31 小时
发表于 2017-7-13 22:29:21 来自手机 | 显示全部楼层
棒棒的!顶!
回复 支持 反对

使用道具 举报

1

主题

82

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3155
金钱
3155
注册时间
2017-7-10
在线时间
360 小时
发表于 2017-7-17 10:33:18 | 显示全部楼层
流水若冰 发表于 2017-7-10 21:28
这个软件是在win7下开发的,没在win10上测试过,改天发一版win10的上来

原来win10 64bit可以用的,只是等的时间有些久,以为是程序没反应了。
TIM3_Init(99, 7199);  //10ms定时 ,笔误, 719-->7199
if (m_hExitSerialEvt) 笔误,  ->if (!m_hExitSerialEvt) 直接点关闭x.
回复 支持 反对

使用道具 举报

6

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2017-5-3
在线时间
13 小时
发表于 2017-7-25 15:11:30 | 显示全部楼层
串口接收数据处理函数中的总包数为什么是第5个字节啊?协议里没说啊。第3个字节包号是什么意思?程序里没见用到啊 微信截图_20170725150916.png
@流水若冰
回复 支持 反对

使用道具 举报

6

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2017-5-3
在线时间
13 小时
发表于 2017-7-26 10:41:12 | 显示全部楼层
流水若冰 发表于 2017-7-10 21:28
这个软件是在win7下开发的,没在win10上测试过,改天发一版win10的上来

我的是WIN7啊,怎么用那个上位机软件选择文件后就没有反应了?用的是COM2确认没问题啊,用别的串口调试软件可以正常的收发数据。
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-7-26 16:35:06 | 显示全部楼层
quickout02 发表于 2017-7-25 15:11
串口接收数据处理函数中的总包数为什么是第5个字节啊?协议里没说啊。第3个字节包号是什么意思?程序里没见 ...

协议里忘记说明了,不过结合上下位机的程序应该能看出来,USART_Receive[5]中存放的是中存放的是总包数,USART_Receive[3]中的包号即当前是第几包,这个值没用是因为程序中自己计算了包
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

1

主题

84

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2015-7-21
在线时间
47 小时
 楼主| 发表于 2017-7-26 16:35:59 | 显示全部楼层
quickout02 发表于 2017-7-26 10:41
我的是WIN7啊,怎么用那个上位机软件选择文件后就没有反应了?用的是COM2确认没问题啊,用别的串口调试软 ...

没有反应是什么意思?程序死机了?有源码你可以调试一下看看是哪里出了问题
一名合格的工程师一定要做到,代码虐我千百遍依然待她如初恋!
回复 支持 反对

使用道具 举报

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2016-10-28
在线时间
41 小时
发表于 2017-7-26 16:58:44 | 显示全部楼层



测试
回复 支持 反对

使用道具 举报

6

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2017-5-3
在线时间
13 小时
发表于 2017-7-27 10:04:43 | 显示全部楼层
流水若冰 发表于 2017-7-26 16:35
没有反应是什么意思?程序死机了?有源码你可以调试一下看看是哪里出了问题

没反应是指上位机连接串口后选择BIN文件加载,然后上位机界面就一直死在那里了,没有成功或失败的提示。一段时间后点击上位机窗口,就显示无响应,跳出一个错误窗口让关闭程序。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 06:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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