zoukankan      html  css  js  c++  java
  • 电调升级步骤(飞控端)

    1:把.out文件转换成sciprog格式的文件,由于在bootloader里面,用户接受电调程序的缓冲区buffer(L0 SARAM)长度只有0x1000,当用户程序块大于此长度时,要将程序分段,所以这里用perl写了个out2sciprog.exe程序,该程序首先会把.out转换成.hex文件,再将.hex按如下格式分段:

    {addr1}{length1}{block1}

    {addr2}{length2}{block2}

    ...

    {addr_n}{length_n}{block_n}

    00000000 {Entry Addr}

    分段后,每块程序为一行,长度不超过0x1000。分段后的程序文件以.sciprog为后缀。

    具体做法是:将生成的.out文件和out2sciprog.exe放在电脑同一路径下,然后打开windows的命令窗口,然后在命令窗口输入out2sciprog.exe  usercode.out,其中usercode是电调程序的名字,然后就会生成usercode.sciprog,如下图所示:

    生成的sciprog文件格式如下图所示,

    生成sciprog格式的文件之后还要对文件的格式进行调整,要把每一段之间的空格删掉,删掉之后如下图所示,

    然后把修改好格式之后的sciprog文件放到内存卡中。

    2:使用命令进行升级,在Ubuntu中打开终端,输入命令sudo minicom打开终端,然后在超级终端中输入命令esc_up  start命令开始升级过程,屏幕上一次会打印出相应的提示信息,等待一段时间,待nuttxshell的命令行打印出ESC firmware update finish.......时,说明升级完成。

    3:查看升级是否成功:升级完成之后可以用命令esc_up  test命令查看升级是否成功,输入esc_up test命令后,如果打印出set  motor x,motor version is 0xxxxx,speed  ki  is 0xxxx,reset  motor x说明电调x升级成功,如果打印出set  motor x,esc_up: register  read  error, motor x  info  read error,说明电调x升级失败。

    作者:cumtchw
    出处:http://www.cnblogs.com/cumtchw/
    我的博客就是我的学习笔记,学习过程中看到好的博客也会转载过来,若有侵权,与我联系,我会及时删除。

  • 相关阅读:
    [转载]Back up all of your mysql databases nightly
    编写windows7 bat运行脚本
    Windows7开通Internet信息服务
    【LeetCode题解】7_反转整数
    【LeetCode题解】350_两个数组的交集Ⅱ
    【LeetCode题解】349_两个数组的交集
    【LeetCode题解】94_二叉树的中序遍历
    【LeetCode题解】144_二叉树的前序遍历
    【LeetCode题解】2_两数相加
    【LeetCode题解】530_二分搜索树的最小绝对值差
  • 原文地址:https://www.cnblogs.com/cumtchw/p/7223731.html
Copyright © 2011-2022 走看看