• 电调升级步骤(飞控端)


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

  • 相关阅读:
    CPLD
    红牛的广告:你的能量超乎你的想象
    Verilog设计中的锁存器
    Verilog语言
    看技术看不懂,看不进去的解决方案
    jQuery Ajax 操作函数
    Html的Padding,Margin自己理解图
    【深度好文】多线程之WaitHandle-->派生-》Mutex信号量构造
    【深度好文】多线程之WaitHandle-->派生-》Semaphore信号量构造
    开源框架 KJFrameForAndroid
  • 原文地址:https://www.cnblogs.com/cumtchw/p/7223731.html
Copyright © 2020-2023  润新知