• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32能用can远程升级吗

e80bb0aeef990918 2019-05-23 浏览量:1608
stm32能用can远程升级吗
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以的,能够通过CAN接口进行升级,做一个bootloader,官方有串口IAP升级的例子;不过使用CAN也称不上是远程升级吧。

    想真正远程升级应该是类似于2G/4G,或者wifi联网远程升级。

    • 发布于 2019-05-23
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:8
  • 当然可以,自己写一个bootloder不管用什么通讯方式都可以升级的,如果通讯距离太远可以考虑ota升级方案
    • 发布于2019-05-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 其实在线升级和具体的联网方式没有绝对的关系,只要内置的固件能够正确获取升级数据和识别出升级指令就可以。
    • 发布于2019-05-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以的,CAN的远程升级原理和串口IAP升级原理相同,都需要修改相应Bootloard文件,添加CAN升级接口;由于CAN距离远,易受干扰,最好再有数据校验,以防升级出错
    • 发布于2019-05-23
    • 举报
    • 评论 0
    • 0
    • 0

  • can的通信速度慢,可需要考虑升级固件大小等因素。can对于升级只是一个传输固件的方式,远程升级用的都是3G,4G等,can升级固件属于在线升级吧。
    • 发布于2019-05-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 用于固件升级是可以的,STM32先要烧写一个固件,通过固件来接收CAN的数据来烧写并跳到相应的地址进行运行。
    • 发布于2019-05-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 是可以的,要把Flash分成两个区域,一部分是boot程序,一部分是应用程序,可以通过boot程序中的CAN通讯来烧写应用程序,也就是固件升级了
    • 发布于2019-05-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以,之前尝试过,CAN升级就是每次传递7个字节,还有一个字节用于标识当前是第几包。STM32在收到该包数据之后回复,如果主机端没有收到回复,则重新发送上一包。将整个固件传输到STM32之后,STM32上面需要对整个固件文件的完整性进行校验,,然后重启后跳转到新的固件那里

    主要难点还是在于CAN上面负载率过高时,容易丢失数据

    • 发布于2019-05-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 是可以的,这样你要写一个nbootloader的程序,通过这个程序来烧写固件到芯片的Flash中就可以的。
    • 发布于2019-05-26
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32能用can远程升级吗