This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/msp430F5529:如何使用mspdebug通过USB直接刷新MSP430?

Guru**** 2539500 points
Other Parts Discussed in Thread: MSP430F5529, MSP430USBDEVPACK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/615782/linux-msp430f5529-how-do-i-flash-an-msp430-directly-via-usb-with-mspdebug

部件号:MSP430F5529
主题中讨论的其他部件: MSP430USBDEVPACK

工具/软件:Linux

您好,

我想知道如何刷新我的msp430F5529,我没有IDE,我使用gcc和mspdebug。

我为一个板开发了一个程序,我在我的启动板上测试了这个程序,我用“mspdebug tilib 'prog $<'”刷了一下,它运行良好。

然后,我通过JTAG使用olimex微型和"mspdebug olimex 'prog $<"刷新了我的板,它工作正常。

然后我决定关闭系统并使用外部USB闪存,但我似乎无法使其正常工作。 我的Linux系统未检测到ACM

[ USB] 89.85.5744万 1-4:使用xhci_hcd
[USB] 90.4.1845万 90.4.4144万 1-4的新全速0200.0002 14.0 设备5:找到新USB设备,idVendor=2047,idProduct=0200
[ USB] 90.4.1855万 1-4:新USB设备字符串:mfr=0,Product=0,SerialNumber=0
[] hid-generic 0003:2047:hid-dev0:hid0: hidwxid/usb2047 hidwxid/usb设备0: 1.01 :1: hidwxid-00:

因此,我的mspdebug无法检测FET:

MSPDebug版本0.24 - MSP430 MCU的调试工具
版权所有(C) 2009-2016 Daniel2016 Daniel Beer <dlbeer@gmail.com
这是免费软件;请参阅复制条件的来源。 不
提供任何担保;甚至不保证适销性或特定用途的适用性。
来自MSP430.dll v 3.3 的芯片信息数据库1.4 版权所有(C) 2013 TI, INC.

使用新的(SLAC460L+) API
MSP430_GetNumberOfUsbIfs
未找到未使用的。 

我觉得我缺少驱动程序或硬件问题。 我有AS环境:

ENV gcc_BZ2 MSP430-gcc-ENC.0.224_linux64.tar.bz2 5.3
gcc ${work }/MSP430-gcc-ENC.0.224_linux64 5.3
ENV support_MSP430-gcc-support-files.zip
支持MSP430-gcc-support-files 1.194 support_INV_INC.${support}/
包括

#gcc-copy$
供应商提供的{support}。
复制供应商/${support_ZIP}。

运行tarxvf ${gcc_BZ2}-C ${work }
运行3.09







调试unzip ${support_ZIP}运行mkdir -p ${LIB430}${INCLUDE430}运行CP -r ${support_bzbzc}${work }运行001.002 调试MSP-RF ${gcc_bzbz2}${support_gzc_gsbsp_sprbsp_mcc_sprbsp_mcc_sprbsp_rbsp_rbsp_rbsprbsp_rbsp_rbsp_rbsp_rbsprbsp_rf_rf_rbsprbsp_rbsp_rbsp_rbsp_rf_rbsp_rbsp_rf_rf_rf_rbsprf_rbsp_rf_mcc_rbsp_rf_rbsprf_rbsp_rbsp_rf_rbsp_rf_rbsp_rf_rf_mcc_mcc_rbsprbsp_r





${MSPDEBUGSTACK}

运行git clone github.com/.../mspdebug mspdebug
run cd mspdebug && make && cp mspdebug /usr/bin 

对于硬盘 ,主板上有一个MSP430F5529连接到USB,如下所示:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    抱歉图片未上传:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Aurelia,

    您需要的是USB BSL,它无法通过mspdebug完成,因为它通过EEM进行通信,并且需要FET硬件: e2e.ti.com/.../40.5016万

    您可以查看此论坛帖子中提供的一些资源以获取替代解决方案,还可以参考一些其他资源来完成此任务:

    e2e.ti.com/.../3.5038万
    www.ti.com/.../slaa452c.pdf
    www.ti.com/.../msp430usbdevpack

    此致,
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    感谢您的回复。 我读了一些BSL,但仍然迷路了:  

    -当两端都是USB并且被我的系统识别为USB时,为什么我需要硬件? 我可以使用火箭吗?

    - BSL-脚本程序无法在我的Ubuntu 16.04 系统上编译,如何编译它,或者没有它时如何进行闪存?

    g++-std=c+0x -fVisibility = hidden -fVisibility - inlines - hidden -Wall -werror -OS -OS -static -o bslResponseHandler.o UsbComm .o UbComm family16bit.o familyfile.o lpCommands.o Timer.o BTil.o 1.0 1.0 绑
    
    定程序-libterlusprefle/bthirb.b.b.b.b.bfiblb -bfibthirb.bo-bfembo-b.bfembo/bfibthirbo-fembo-fembo-fembo-fembo-fembo-fembo-fembo-fembo-fembo-fembo-fembo-fembo-fembo-femily.b.b.fembo-fembo-fembo-fembo.femily.b.b.b.
    ***[All]错误1
    

    自从我编译 了hidapi-hidapi-Makefil.0-RC1,它不会生成hid-libusb.o文件,而是hid.o,我在thirdparty.lib64中添加了该文件,并将0.8 更改为:

    HIDOBJ:=$(LIBTHIRD)/hid.o
    

    系统似乎仍未编译:

    g++-c -o BSL_Scripter.o BSL_Scripter.cpp -std=c++0x -fVisibility =隐藏-fVisibility - inlines -隐藏-Wall -Werror -OS -OS -static -I./thirdparty/包括-i.
    
    `
    `m-dunix -dndbUG -dunix g++-std=c+0x -fhavenity=hidden -fhVisibility -inlines -hid-os -os -static -o bsl_scripter.o util.o bslResponseHandl.o usbCom.o usb.o femotion.o femor.or.or/ltran.xl/lb.xlb.x/lb.xlb_fit.x/b.lspro-xi_x/lb.x/lb.xi_x/lfit.x/b.x/lb.xi_fit.xi_x/lb.x/lb.x/b.x/lb.lb.x/b.x/b.lb.x/b.lb.lb.x/b.lb.x/b.lb.lb.x/b.spro-xi_x/b.x/b.lspir.x/b.lf_ 1.0 1.0 1.0
    `
    未1.0
    `对`udev_device_get_action'/usr/lib/gcc/x86_64-linux-gnu/5/./././././x86_64-linux-gnu/libusb-a.a(lib_ub_lib_linux_lib_udev.o)的引用:未
    `1.0
    `
    `gnu_linux_lib_lib_linux_lib_lib_linux_exit.up_name/linux-jus-jus-jusb./linux-jusb.up_exit_exit./us-jus-jus-jusb./jusb./jus-jusb./jusb_exit_exit_xf/jusb_exit_ex-f/jus-f_exit_exit_ex-f_exit_ex-f_exit_exit_ex-f./jus-f_exit_exit_ex-f_exit_exit_exit_x_ex-f_exit_ex-f_exit_exit_ex-f./ 1.0
    `
    `1.0
    `
    `1.0
    `
    

    等等...

    -我看到您有一个针对MSP430_USB_Developers_Package的特定页面,您在其中建议了Python_firmware_upgrader,我是否可以使用该页面而不是BSL_Scriptter? 以及如何实现?

    - 我发现BSL系统需要TI-TXT执行闪存,但我使用GCC编译,它生成ELF文件,如何在不使用IDE (CCS或IAR)的情况下编译程序以获取TXT,只能在命令行中使用。 因为我希望能够自动化我的产品发布 和CI测试?

    感谢你的帮助。

    提醒一下,我有MSP430F5529,我想使用USB更新Ubuntu 16.04 上的固件

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Aurelia,

    从读取SLAA452中,您会发现USB BSL条目不需要其他硬件,因为USB ISR可以根据USB外设的状态调用BSL。 应用报告还包括一个USB固件升级示例程序,您可以对其进行评估,尽管它是在Windows中设计的,我不确定它是否可以在Linux系统上运行。

    BSL-脚本程序使用可执行(.exe)文件,该文件可在Windows的命令提示符内操作,但还支持Linus。 您应确保计算机安装了支持此类文件的正确程序。 请通读SLAU655以获取示例和使用案例。 另外,python固件升级程序是另一个选项,请下载MSP430USBDEVPACK并阅读相关资源。

    您需要一个TI TXT或十六进制文件(也称为二进制图像)来对MCU进行编程。 有工具可用于将ELF输出转换为此格式。

    e2e.ti.com/.../
    sourceforge.net/.../
    www.embeddedrelated.com/.../2.2295万-1.php

    此致,
    Ryan