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/
    我的博客就是我的学习笔记,学习过程中看到好的博客也会转载过来,若有侵权,与我联系,我会及时删除。

  • 相关阅读:
    转 进程与线程的区别与联系
    DoEvents的应用及注意事项
    转:error LNK2001 错误
    基于UDP的简单的聊天程序
    VB提示:文件未找到:'c:\windows\sytem32\ieframe.dll\1'的解决方法
    VB PopupMenu方法
    转 vb中SetWindowsHookEx详细用法及举例
    Python批量转换txt文件为excel文件
    excel自动筛选后分别复制粘贴到新文件的解决办法
    文本编辑
  • 原文地址:https://www.cnblogs.com/cumtchw/p/7223731.html
Copyright © 2011-2022 走看看