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.

[参考译文] CCS/TPS23880EVM-008:无法使用 MSP430FR5969成功加载 SRAM 代码、但 GUI 软件

Guru**** 2398695 points
Other Parts Discussed in Thread: TPS23880, MSP430FR5969

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/799987/ccs-tps23880evm-008-cannot-load-sram-code-successfully-using-msp430fr5969-but-gui-solfware

器件型号:TPS23880EVM-008
主题中讨论的其他器件:TPS23880MSP430FR5969

工具/软件:Code Composer Studio

您好!

有一个有关 TPS23880 EVM 的问题、

该 EVM 在使用 GUI 软件时可以正常工作、但在与 MSP430FR5969 EVM 配合使用时(例如、代码是官方网站上基本应用程序下载的 MSP430参考代码)、

终端指示 SDRAM 代码加载错误。然后我使用逻辑分析仪捕获 I2C 的硬件形式、并发现当主设备尝试读取时、从设备始终返回值0x80

固件版本信息。这有什么问题?

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

     尊敬的用户6001732:

    您能否仔细检查 GUI 和参考代码是否是 TI.com 上的最新版本? 您能否在参考代码中打开 sram_code.h 文件并确保 SRAM_VERSION 为0x01? 您还能‘s TPS23880的顶级产品吗? 谢谢。  

    此致、

    一分钱

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

    尊敬的 Penny:

    感谢您的回复!

    我今天找到了解决方案、关键是 MSP430不能向 TPS23880发送复位信号、因此 TPS23880无法正确初始化、我修改了代码以使 MSP430发送复位信号、因此、EVM 现在可以正常工作。

    以下是修改后的代码:

    void MSP430_init( void ){
    
    _disable_interrupt ();
    
    /*将所有 GPIO 引脚设置为输出和低电平。 *
    GPIO_setOutputLowOnPin (GPIO_PORT_P1、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
    GPIO_setOutputLowOnPin (GPIO_PORT_P2、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
    GPIO_setOutputLowOnPin (GPIO_PORT_P3、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
    
    
    GPIO_setOutputLowOnPin (GPIO_PORT_P4、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
    GPIO_setOutputLowOnPin (GPIO_PORT_PJ、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7 | GPIO_PIN8 | GPIO_PIN9 | GPIO_PIN10 | GPIO_PIN11 | GPIO_IN14 | GPIO_IN13 | GPIO_PIN11 | GPIO_IN14 | GPIO_IN14 | GPIO_IN12 | GPIO_IN14 | GPIO_IN11
    GPIO_setAsOutputPin (GPIO_PORT_P1、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
    GPIO_setAsOutputPin (GPIO_PORT_P2、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
    GPIO_setAsOutputPin (GPIO_PORT_P3、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
    GPIO_setAsOutputPin (GPIO_PORT_P4、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
    GPIO_setAsOutputPin (GPIO_PORT_PJ、GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7 | GPIO_PIN8 | GPIO_PIN9 | GPIO_PIN10 | GPIO_PIN11 | GPIO_PIN13 | GPIO_PIN11 | GPIO_PIN13 | GPIO_PIN11 | GPIO_PIN14 | GPIO_PIN11
    
    
    
    
    /*为 LFXT 设置 PJ.4和 PJ.5。 *
    GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_PJ、GPIO_PIN4 + GPIO_PIN5、GPIO_PRIMARY_MODULE_Function);
    /*将 DCO 频率设置为8MHz。 *
    CS_setDCOFreq (CS_DCORSEL_0、CS_DCOFSEL_6);
    
    //CS_setDCOFreq (CS_DCORSEL_0、CS_DCOFSEL_0);
    
    /*将外部时钟频率设置为32.768KHz。 *
    cs_setExternalClockSource( 32768, 0);
    
    /*设置 ACLK = LFXT。 *
    CS_initClockSignal (CS_ACLK、CS_LFXTCLK_select、CS_Clock_divider);
    
    /*设置 SMCLK = DCO、分频器为1。 *
    CS_initClockSignal (CS_SMCLK、CS_DCOCLK_SELECT、CS_Clock_divider);
    
    /*设置 MCLK = DCO、分频器为1。 *
    CS_initClockSignal (CS_MCLK、CS_DCOCLK_select、CS_Clock_divider);
    
    /*在没有超时的情况下启动 XT1。 *
    CS_TurnOnLFXT (CS_LFXT_DRIVE_0);
    
    //将 OSS 引脚设置为低电平
    GPIO_setOutputLowOnPin (GPIO_PORT_P3、GPIO_PIN4);
    
    /*配置 P2.0 - UCA0TXD 和 P2.1 - UCA0RXD。 *
    GPIO_setOutputLowOnPin (GPIO_PORT_P2、GPIO_PIN0);
    GPIO_setAsOutputPin (GPIO_PORT_P2、GPIO_PIN0);
    GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P2、GPIO_PIN1、GPIO_secondary 模块_function);
    GPIO_setPeripheralModuleFunctionOutputPin (GPIO_PORT_P2、GPIO_PIN0、GPIO_secondary 模块_function);
    
    
    GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P1、GPIO_PIN6 + GPIO_PIN7、GPIO_secondary 模块_function);
    
    
    ////*设置 P1.3以从 TPS2388器件进行中断*
    GPIO_setAsInputPinWithPullUpResistor (GPIO_PORT_P1、GPIO_PIN3);
    GPIO_selectInterruptEdge (GPIO_PORT_P1、GPIO_PIN3、GPIO_HIGH_TO_LOW_TRANSITION);
    GPIO_DisableInterrupt (GPIO_PORT_P1、GPIO_PIN3);
    // GPIO_enableInterrupt (GPIO_PORT_P1、GPIO_PIN3);
    
    GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P2、GPIO_PIN0 + GPIO_PIN1、GPIO_secondary 模块_function);
    
    /*禁用 GPIO 上电默认高阻抗模式。 *
    PMM_unlockLPM5 ();
    
    GPIO_setOutputLowOnPin (GPIO_PORT_P4、GPIO_PIN3);
    延迟(20);
    //将 RESET 引脚置为高电平
    GPIO_setOutputHighOnPin (GPIO_PORT_P4、GPIO_PIN3);
    
    I2C_init();
    
    UART_A0_init ();
    
    Setup_Timer();
    
    } 

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

     尊敬的用户6001732:

    感谢您的更新。 为了向您说明、您是否刚刚运行从 Web 下载的代码? 我在参考代码中将复位引脚设置为高电平。 谢谢。

    此致、

    一分钱