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.

[参考译文] MSP-EXP430FR4133:libmsp430.so

Guru**** 2595770 points
Other Parts Discussed in Thread: MSP430FR4133, ENERGIA

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/831199/msp-exp430fr4133-libmsp430-so

器件型号:MSP-EXP430FR4133
主题中讨论的其他器件:MSP430FR4133ENERGIA
你好。 我是微控制器新手。 我有 MSP430FR4133 LaunchPad 开发套件

我使用 此课程 www.simplyembedded.org/.../ 进行学习。

已成功编译 msp430fr4133的程序。 根据教程、下一步是 FLASH *。hex
文件。 来自 debian 存储库 v0.22的 Mspdebug、不带适用于 msp430fr4133的驱动程序(ezfet)。
因此、我从源代码构建 mspdebug v0.25。 启动时


#.mspdebug ezfet
MSPDebug 0.25版-用于 MSP430 MCU 的调试工具
版权所有(C) 2009-2017 Daniel Beer
这是免费软件;请参阅复印条件的来源。 没有
保修;甚至不适用于适销性或特定用途的适用性。
来自 MSP430.dll v3.13.0.601的芯片信息数据库版权所有(C) 2013 TI、Inc.
重置通信...
版本:2.4.1.901、硬件:0xaaaaaaaaaa
重置固件...
HAL_PROTO_EXECUTE:HAL 异常:0xFFFF
HAL_PROTO_EXECUTE:FID:0x51
红色 LED101在板上点亮。

搜索 HAL 异常(github.com/.../43) 显示了一个解决方案-使用
utilb 驱动程序。 -->需要从源代码构建 libmsp430.so。 对应于我使用 libboost_v.1.56生成的 libmsp430自述文件。
根据 mspdebug 手册页中有关 utilb 驱动程序的信息


root@msp430.so /home/user/msp430/mspdebug/mspdebug-master
libmsp430:/usr/local/bin/libmsp430.so /usr/local/lib/libmsp430.so
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master 导出 MSPDEBUG_TILIB_path=/usr/local/bin
root@MSP430:/home/user ldconfig

启动时

#./mspdebug utilb
MSPDebug 0.25版-用于 MSP430 MCU 的调试工具
版权所有(C) 2009-2017 Daniel Beer
这是免费软件;请参阅复印条件的来源。 没有
保修;甚至不适用于适销性或特定用途的适用性。
来自 MSP430.dll v3.13.0.601的芯片信息数据库版权所有(C) 2013 TI、Inc.
utilb_API:找不到 libbmsp430.so:libboost_filesystem。so.1.56.0:无法打开共享目标文件:没有此类文件或目录

root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ln -s /usr/local/bin/libboost_filesystem.so.1.56.0 /lib/libboost_filesystem.so.1.56.0
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ln -s /usr/local/bin/libboost_system.so.1.56.0 /lib/libboost_system.so.1.56.0
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ldconfig
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ./mspdebug utilb
MSPDebug 0.25版-用于 MSP430 MCU 的调试工具
版权所有(C) 2009-2017 Daniel Beer
这是免费软件;请参阅复印条件的来源。 没有
保修;甚至不适用于适销性或特定用途的适用性。
来自 MSP430.dll v3.13.0.601的芯片信息数据库版权所有(C) 2013 TI、Inc.
utilb_API:找不到 libbmsp430.so:libboost_date_time.so.1.56.0:无法打开共享目标文件:无此类文件或目录

root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ldd /usr/local/bin/libmsp430.so    
linux-vdso.so.1 (0x00007ffe7cbef000)
   libhidapi-libusb.so.0 =>/lib/x86_64-linux-gnu/libhidapi-libusb.so.0 (0x00007f905a62b000)    
   libboost_filesystems.so.1.56.0 =>/lib/libboost_filesystem.so.1.56.0 (0x00007f905a610000)    
   libboost_date_time.so.1.56.0=>找不到    
   libboost_chrono.so.1.56.0=>找不到    
   libboost_thread.so.1.56.0 =>找不到    

   libusb-1.0.SO.0 =>/usr/local/lib/libusb-1.0.so.0 (0x00007f905a5f5000)
   librt.so.1 =>/lib/x86_64-linux-gnu/librt.so.1 (0x00007f905a5e9000)
   libpthread.SO.0 =>/lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f905a5c8000)    

   libstdc++.SO.6 =>/lib/x86_64-linux-gnu/libstdc ++.SO.6 (0x00007f905a444000)    

   libm.so.6 =>/lib/x86_64-linux-gnu/libm.so.6 (0x00007f905a2c1000)
   libgcc_so.1 =>/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f905a2a7000)
   libc.so.6 =>/lib/x86_64-linux-gnu/libc.so.6 (0x00007f905a0e6000)/lib64/ld-   Linux-x86-64。SO.2 (0x00007f905a9d1000)    

   libudev.SO.1 =>/lib/x86_64-linux-gnu/libudev.so.1 (0x00007f905a0be000)

root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ./mspdebug utilb
MSPDebug 0.25版-用于 MSP430 MCU 的调试工具版权所有(C) 2009-2017 Daniel Beer 这是免费软件;请参阅复印条件的来源。 不提供任何保证;甚至不提供适销性或特定用途适用性。 来自 msp430.dll v3.13.0.601的芯片信息数据库版权所有(C) 2013 TI, Inc. utilb_API:找不到 libbmsp430.so:libboost_date_time.so.1.56.0:无法打开共享目标文件:无此类文件或目录
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master mv /usr/local/bin/libboost_date_time.so.1.56.0 /lib/
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ldconfig
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ./mspdebug utilb
MSPDebug 0.25版-用于 MSP430 MCU 的调试工具版权所有(C) 2009-2017 Daniel Beer 这是免费软件;请参阅复印条件的来源。 不提供任何保证;甚至不提供适销性或特定用途适用性。 来自 MSP430.dll v3.13.0.601的芯片信息数据库版权所有(C) 2013 TI、Inc.
utilb_API:找不到 libbmsp430.so:libboost_chrono.so.1.56.0:无法打开共享目标文件:无此类文件或目录
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master CP /home/user/msp430/boost_1_56_0/stage/lib/libboost_chrono.so.1.56.0 /lib/
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ./mspdebug utilb
MSPDebug 0.25版-用于 MSP430 MCU 的调试工具版权所有(C) 2009-2017 Daniel Beer 这是免费软件;请参阅复印条件的来源。 不提供任何保证;甚至不提供适销性或特定用途适用性。 来自 msp430.dll v3.13.0.601的芯片信息数据库版权所有(C) 2013 TI, Inc. utilb_API:找不到 libbmsp430.so:libboost_thread.so.1.56.0:无法打开共享目标文件:无此类文件或目录
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master 查找/home/user/msp430/boost_1_56_0 -iname "libboost_thread.SO*"
/home/user/msp430/boost_1_56_0/bin.v2/libs/thread/build/gcc-8/release/threading-multi/libboost_thread.so.1.56.0
/home/user/msp430/boost_1_56_0/stage/lib/libboost_thread.so /home/user/msp430/boost_1_56_0/stage/lib/libboost_thread.so.1.56.0 root@MSP430:/home/user/msp430/mspdebug/mspdebug-master cp /home/user/msp430/boost_1_56_0/stage/lib/libboost_thread.so.1.56.0 /lib/
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ldconfig
root@MSP430:/home/user/msp430/mspdebug/mspdebug-master ./mspdebug utilb
MSPDebug 0.25版-用于 MSP430 MCU 的调试工具版权所有(C) 2009-2017 Daniel Beer 这是免费软件;请参阅复印条件的来源。 不提供任何保证;甚至不提供适销性或特定用途适用性。 来自 msp430.dll v3.13.0.601的芯片信息数据库版权所有(C) 2013 TI, Inc. utilb_API:找不到 libmsp430.so:/lib/libboost_filesystem.so.1.56.0:未定义符号:_ZN5boost6system15system_categoryEv



--------------------------------------------
# uname -a
Linux MSP430 4.19.0-5-AMD64 #1 SMP Debian 4.19.37-5+deb10u1 (2019-07-19) x86_64 GNU/Linux

# udevadm info /dev/ttyACM0
P:/devices/pci0000:00/0000:00:06.0/USB2/2-2/2-2:1.0/TTYACM0
N:ttyACM0
L:0
S:serial/by-id/USB-Texas Instruments MSP_Tools_Driver_0EAEB46F09000500-if00
S:串行/逐路径/PCI-0000:00:06.0-USB-0:2:1.0
E:DEVPATH=/devices/pci0000:00/0000:00:06.0/USB2/2-2/2-2:1.0/TTYACM0
E:DevName=/dev/ttyACM0
E:MAJOR =166
E:次要=0
E:subsystem=TTY
E:usec_initialized=21161867622
E:ID_BUS=USB
E:ID_VENDOR_ID=2047
E:ID_MODLE_ID=0013
E:ID_PCI_class_from 数据库=串行总线控制器
E:ID_PCI_subclass_from 数据库=USB 控制器
E:ID_PCI_interface_from 数据库=OHCI
E:ID_VENDOR_FER_DATABE=德州仪器
E:ID_MODLE_FER_DATABE=KeyLargo/Intrepid USB
E:ID_VENDORD=TExaS 仪器
E:ID_VEND_ENC=Texas _x20Instruments
E:Id_model=MSP_Tools_Driver
E:ID_MODLE_ENC=MSP\x20Tools\x20驱动程序
E:ID_REVISION=0200
E:ID_SERIAL=TExaS Instruments MSP_Tools_Driver_0EAEB46F09000500
E:ID_serial_short=0EAEB46F09000500
E:ID_type=generic
E:ID_USB_interfaces=:020201:0a0000:
E:ID_USB_interface_NUM=00
E:ID_USB_DRIVER=CDC_ACM
E:ID_USB_class_from 数据库=其他设备
E:ID_USB_Protocol_FER_DATABE=接口关联
E:ID_PATH=PCI-0000:00:06.0-USB-0:2:1.0
E:ID_PATH_TAG=PCI-0000_00_06_0-USB-0_2_1_0
E:ID_MM_Candidate=1
E:DEVLINKS=/dev/serial/by-id/usb-Texas_Instruments_MSP_Tools_Driver_0EAEB46F09000500-if00 /dev/serial/by-path/pci-0000:00:06.0-USB-0:2:1.0
E:tags=:systemd:

# lsusb
总线001器件001:ID 1d6b:0002 Linux Foundation 2.0根集线器
BUS 002 Device 006:ID 2047:0013 Texas Instruments
总线002设备005:ID 80e:0021 VirtualBox USB Tablet
总线002设备001:ID 1d6b:0001 Linux Foundation 1.1根集线器

# apt install patch ncurses-dev build-essy bison flex libgmp3-dev libmpfr-dev libmpc-dev texinfo zlib1g-dev libusb-dev libusline6-dev libz-dev <-已安装此数据包。

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

    你(们)好  

    您使用 Linux 系统对吗?

    您可以使用 CCS for Linux 来简化调试操作。有关更多信息、请参阅 http://software-dl.ti.com/ccs/esd/documents/ccsv8_linux_host_support.html

    此致

    Gary

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

    1.你的答案不是我的问题的答案,因为 libboost_v.1.56仍然会给出错误和

    2. CCS v9也有一些问题。

    我已将上述错误发送至 mspgcc 邮件列表。 他们说最后一个错误"utilb_api: can't find libmsp430.so:/lib/libboost_filesystem.so.1.56.0:undefined symbol:_ZN5boost6system15system_categoryEv"是 libmsp430.so 错误,而不是 mspdebug 错误。 和 libmsp430.TI 产品也是如此、因此需要在此处重定向错误。

    在 CCS v9中成功编译的程序(LED 闪烁代码)(在上面的 Linux 机器下)。 但当我尝试闪存时 、会发生一些令人惊叹的事情(需要提及的是、我接受 Studio 建议的电路板固件升级)。 按下按钮"闪存固件"后、操作成功完成。 但板上没有闪烁的 LED。 这一次迫使我尝试 Energia () 。 当我从 Energia 示例中刷写标准 LED 闪烁代码时、效果良好。 (因此电路板维修良好。) 关闭程序后继续。 如果我在标准 LED 闪烁代码之后刷写程序、我的代码工作正常。 LED 闪烁。 关闭后、我的程序丢失。 无 LED 闪烁。

    那么、我现在有了

    -mspdebug 中的 tilib 驱动程序不起作用;

    -来自 mspdebug 抛出"HAL 异常"的 ezfet 驱动程序;

    - CCSv9闪存、但没有 LED 闪烁;

    - Energia 闪存、但关闭后程序丢失。

    --------------------------------------------------

    我的代码。

    #include


    /**
     * main.c
     *
    int main (空)

       /*建议初始化所有未使用的端口以消除未使用引脚上浪费的电流消耗。 *
    /* P1DIR = 0xFF;
       P1OUT = 0x00;*/
       P2DIR = 0xFF;
       P2OUT = 0x00;
       P3DIR = 0xFF;
       P3OUT = 0x00;
       P4DIR = 0xFF;
       P4OUT = 0x00;
       P5DIR = 0xFF;
       P5OUT = 0x00;
       P6DIR = 0xFF;
       P6OUT = 0x00;
       P7DIR = 0xFF;
       P7OUT = 0x00;
       P8DIR = 0xFF;
       P8OUT = 0x00;

       WDTCTL = WDTPW + WDTHOLD;   //停止看门狗计时器

       /*将 P1.0方向设置为输出*/
       P1DIR |= 0x01;

       /*将 P1.0输出设置为高电平*/
       P1OUT |= 0x01;

       while (1){
          /*等待200000个周期*/
          __delay_cycles (200000);
          /*切换 P1.0输出*/
          P1OUT ^= 0x01;
       }

       
       返回0;


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

    你(们)好  

    是否可以使用 ccs9进入调试模式以查看代码在何处停止?

    此致

    Gary

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

    是的、我可以。 Run->Debug。 然后调试器在"P2DIR = 0xFF;"上停止、行号为12。 每一步、红色 LED101闪烁。 在 while 循环中、LED1 (P1.0)必须闪烁。 但它不会。

    libmsp430.so 错误又如何呢?

    ----------------------------------------

    Code Composer Studio  版本:9.1.0.00010

    Energia 版本:1.8.7E21

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

    你(们)好  

    我知道您的问题有什么问题。  

       配置 GPIO 后、您错过了" PM5CTL0 &=~LOCKLPM5;"

    将其添加到   P1OUT |= 0x01之后

    此致

    Gary

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

    谢谢你。 但如果没有所有这些代码:

    /*建议初始化

    (笑声)
       P8OUT = 0x00;

    *

    LED1 (P1.0)仍然不工作。

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

    你(们)好  

    请尝试我们的演示、如 http://dev.ti.com/tirex/explore/node?node=AFd2c4zLgK2Xw5-saII5cA__IOGqZri__LATEST

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

    1.我从 http://dev.ti.com/tirex/explore/node?node=AFd2c4zLgK2Xw5-saII5cA__IOGqZri__LATEST 复制代码 。 当我闪存和调试时、电路板工作正常。 因此我可以继续工作。  `s 工作不正确的原因是什么? 为什么我需要添加这个字符串" PM5CTL0 &=~LOCKLPM5;"?

    2. libmsp430.so 呢? 有人与上面的错误发生冲突?

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

    1请参阅 用户指南 http://www.ti.com/lit/ug/slau445i/slau445i.pdf 中的第8.3.1章