OpenEdv-开源电子网

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

关于远程烧录问题,搞远程烧录的一般思路是什么有大神搞过吗?

[复制链接]

17

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2020-7-16
在线时间
34 小时
发表于 2020-9-22 10:55:21 | 显示全部楼层 |阅读模式
1金钱
最近准备做一个远程烧录,需要烧录的驱动板子上层有一个控制板,控制板又受工控机控制,远程烧录的话如何整,是从工控机到控制板再到驱动器都要搞一套入口吗?比较迷茫!!!!人都不好了想起这个来

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2020-7-16
在线时间
34 小时
 楼主| 发表于 2020-9-22 14:05:22 | 显示全部楼层
工控机那边有APP,控制板这边已经通过232做好了,控制板和工控机我不管,就是从232会通过串口发过来数据,我的代码当中,有定义类似CANopen的对象字典,就是一个写在FLASH当中的RO RW的数据表格,这段数据是定义在code后面隔了一段空间来定义的,这部分不受影响吧?太细了应该没人答复!!
回复

使用道具 举报

17

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2020-7-16
在线时间
34 小时
 楼主| 发表于 2020-9-23 09:07:37 | 显示全部楼层
            if(run_to_iap_flag==1)
            {
                 run_to_iap_flag=0;
                 IAP_Data_Send(yjh_pcb,0x09,0x01,0x0001,0x01);        //发送前的获取应答
                 OSTimeDly(100);
                 run_to_iap();
            }   
在一个任务当中加入run_to_iap_flag
回复

使用道具 举报

17

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2020-7-16
在线时间
34 小时
 楼主| 发表于 2020-9-23 09:09:21 | 显示全部楼层
在run_to_iap中跳到bootloader
回复

使用道具 举报

17

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2020-7-16
在线时间
34 小时
 楼主| 发表于 2020-9-23 10:11:10 | 显示全部楼层
将两个程序bootloader和app都烧录到芯片中,bootloader该部分大小一般为(在0x8000000 - 0x8002000)部分擦除方式烧录第一份代码,app在也就是需要运行的真正代码在0x8002000之后开始烧录部分擦除方式烧录第二份代码,两部分代码烧录完成在app当中判断一个标志位,如果通过上位机通过232发下来指令解析到这个标志位成立,然后跳转地址到0x8000000开始执行bootloader,在bootloader中执行串口程序(串口的校验必须有,否则会存在很大风险毕竟bin文件数据很大),解析以及擦写地址0x8002000部分代码,完成之后跳转到0x8002000开始执行新的app函数,这样一次远程烧录就完成了,我们只需要提供新代码的bin文件给到工控机,工控机给本体板,本体版再给到驱动器一次远程烧录就完成了。bootloader当中需要写一份驱动器上一层板子的通讯协议,按照协议进行数据传输。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2020-9-24 01:37:58 | 显示全部楼层
你先得有通信链路,怎么传输过来?怎么在线编程?一步步实现。。。
回复

使用道具 举报

9

主题

122

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1643
金钱
1643
注册时间
2014-7-8
在线时间
177 小时
发表于 2021-3-16 11:30:38 | 显示全部楼层
如果只做远程更新程序,不用远程调试的话,用5L的方法就可以做了!
如果要远程调试。。。。
我也不会!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 06:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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